Version19.76.1

This commit is contained in:
Antonio Cañas Vargas 2019-11-21 11:39:30 +01:00
parent e862b38e5e
commit 0940245f28
15 changed files with 1779 additions and 1824 deletions

View File

@ -171,7 +171,7 @@ typedef enum
} API_Role_t; } API_Role_t;
/* Translation from service-web-role to swad-core-role */ /* Translation from service-web-role to swad-core-role */
Rol_Role_t API_SvcRole_to_RolRole[API_NUM_ROLES] = static const Rol_Role_t API_SvcRole_to_RolRole[API_NUM_ROLES] =
{ {
[API_ROLE_UNKNOWN] = Rol_UNK, [API_ROLE_UNKNOWN] = Rol_UNK,
[API_ROLE__GUEST_] = Rol_GST, [API_ROLE__GUEST_] = Rol_GST,
@ -180,7 +180,7 @@ Rol_Role_t API_SvcRole_to_RolRole[API_NUM_ROLES] =
}; };
/* Translation from swad-core-role to service-web-role */ /* Translation from swad-core-role to service-web-role */
API_Role_t API_RolRole_to_SvcRole[Rol_NUM_ROLES] = static const API_Role_t API_RolRole_to_SvcRole[Rol_NUM_ROLES] =
{ {
[Rol_UNK ] = API_ROLE_UNKNOWN, [Rol_UNK ] = API_ROLE_UNKNOWN,
[Rol_GST ] = API_ROLE__GUEST_, [Rol_GST ] = API_ROLE__GUEST_,

File diff suppressed because it is too large Load Diff

View File

@ -1535,7 +1535,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActMaiUsr (ActUnfSevTch + 169) #define ActMaiUsr (ActUnfSevTch + 169)
/*****************************************************************************/ /*****************************************************************************/
/****************************** Statistics tab *******************************/ /****************************** Analytics tab ********************************/
/*****************************************************************************/ /*****************************************************************************/
// Actions in menu // Actions in menu
#define ActReqUseGbl (ActMaiUsr + 1) #define ActReqUseGbl (ActMaiUsr + 1)

View File

@ -440,7 +440,7 @@ static void Agd_ShowEvents (Agd_AgendaType_t AgendaType)
extern const char *Txt_No_events; extern const char *Txt_No_events;
struct Pagination Pagination; struct Pagination Pagination;
unsigned NumEvent; unsigned NumEvent;
Pag_WhatPaginate_t WhatPaginate[Agd_NUM_AGENDA_TYPES] = static const Pag_WhatPaginate_t WhatPaginate[Agd_NUM_AGENDA_TYPES] =
{ {
[Agd_MY_AGENDA_TODAY ] = Pag_MY_AGENDA, // not used [Agd_MY_AGENDA_TODAY ] = Pag_MY_AGENDA, // not used
[Agd_MY_AGENDA ] = Pag_MY_AGENDA, [Agd_MY_AGENDA ] = Pag_MY_AGENDA,
@ -917,7 +917,7 @@ void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents,
static void Agd_GetParams (Agd_AgendaType_t AgendaType) static void Agd_GetParams (Agd_AgendaType_t AgendaType)
{ {
Pag_WhatPaginate_t WhatPaginate[Agd_NUM_AGENDA_TYPES] = static const Pag_WhatPaginate_t WhatPaginate[Agd_NUM_AGENDA_TYPES] =
{ {
[Agd_MY_AGENDA_TODAY ] = Pag_MY_AGENDA, // not used [Agd_MY_AGENDA_TODAY ] = Pag_MY_AGENDA, // not used
[Agd_MY_AGENDA ] = Pag_MY_AGENDA, [Agd_MY_AGENDA ] = Pag_MY_AGENDA,

View File

@ -51,17 +51,6 @@ extern struct Globals Gbl;
/***************************** Private constants *****************************/ /***************************** Private constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
static const char *Ale_AlertIcons[Ale_NUM_ALERT_TYPES] =
{
[Ale_NONE ] = NULL,
[Ale_CLIPBOARD] = "clipboard.svg",
[Ale_INFO ] = "info-circle.svg",
[Ale_SUCCESS ] = "check-circle.svg",
[Ale_QUESTION ] = "question64x64.gif", // animated gif
[Ale_WARNING ] = "warning64x64.gif", // animated gif
[Ale_ERROR ] = "error64x64.gif", // animated gif
};
/*****************************************************************************/ /*****************************************************************************/
/******************************* Private types *******************************/ /******************************* Private types *******************************/
/*****************************************************************************/ /*****************************************************************************/
@ -390,6 +379,16 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
[Ale_WARNING ] = true, [Ale_WARNING ] = true,
[Ale_ERROR ] = true, [Ale_ERROR ] = true,
}; };
static const char *Ale_AlertIcons[Ale_NUM_ALERT_TYPES] =
{
[Ale_NONE ] = NULL,
[Ale_CLIPBOARD] = "clipboard.svg",
[Ale_INFO ] = "info-circle.svg",
[Ale_SUCCESS ] = "check-circle.svg",
[Ale_QUESTION ] = "question64x64.gif", // animated gif
[Ale_WARNING ] = "warning64x64.gif", // animated gif
[Ale_ERROR ] = "error64x64.gif", // animated gif
};
/****** If start of page is not written yet, do it now ******/ /****** If start of page is not written yet, do it now ******/
if (!Gbl.Layout.HTMLStartWritten) if (!Gbl.Layout.HTMLStartWritten)

View File

@ -469,6 +469,8 @@ contiene una de las que yo imparto. As
// TODO: En resultados de test y de juegos, en preguntas modificadas se podría mostrar la puntuación obtenida en la pregunta (ahora no sale) // TODO: En resultados de test y de juegos, en preguntas modificadas se podría mostrar la puntuación obtenida en la pregunta (ahora no sale)
// TODO: Al crear un nuevo juego, debería irse a la pantalla de añadir preguntas (la misma opción que sale cuando pulsas en editar un juego existente) // TODO: Al crear un nuevo juego, debería irse a la pantalla de añadir preguntas (la misma opción que sale cuando pulsas en editar un juego existente)
// TODO: Code refactoring in HTML h1, title, meta, video, p, iframe, input hidden, area // TODO: Code refactoring in HTML h1, title, meta, video, p, iframe, input hidden, area
// TODO: ¿Añadir dos columnas a resultados de juegos entre "Preguntas contestadas" y "Puntuación total": Preguntas "Correctas" y Preguntas "Erróneas"?
// Problema: sólo es aplicable a tipo test
/*****************************************************************************/ /*****************************************************************************/
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
@ -488,13 +490,16 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 19.75.2 (2019-11-21)" #define Log_PLATFORM_VERSION "SWAD 19.76.1 (2019-11-21)"
#define CSS_FILE "swad19.74.3.css" #define CSS_FILE "swad19.74.3.css"
#define JS_FILE "swad19.70.js" #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: 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. // TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: En cada juego, poder listar los resultados en una tabla como la de resultados globales
Version 19.76.1: Nov 21, 2019 Code refactoring related to vectors. (247023 lines)
Version 19.76: Nov 21, 2019 Code refactoring related to vectors. (247019 lines)
Version 19.75.2: Nov 21, 2019 Fixed bug in enrolment. (247015 lines) Version 19.75.2: Nov 21, 2019 Fixed bug in enrolment. (247015 lines)
Version 19.75.1: Nov 21, 2019 Code refactoring related to vectors. (247013 lines) 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.75: Nov 21, 2019 Code refactoring related to vectors. (247012 lines)

View File

@ -62,7 +62,6 @@ static const bool Enr_ICanAdminOtherUsrs[Rol_NUM_ROLES] =
[Rol_USR ] = false, [Rol_USR ] = false,
[Rol_STD ] = false, [Rol_STD ] = false,
[Rol_NET ] = false, [Rol_NET ] = false,
/* Users who can admin */ /* Users who can admin */
[Rol_TCH ] = true, [Rol_TCH ] = true,
[Rol_DEG_ADM] = true, [Rol_DEG_ADM] = true,

View File

@ -3564,7 +3564,7 @@ static void Fig_GetAndShowFollowStats (void)
extern const char *Txt_Followed; extern const char *Txt_Followed;
extern const char *Txt_Followers; extern const char *Txt_Followers;
extern const char *Txt_FollowPerFollow[2]; extern const char *Txt_FollowPerFollow[2];
const char *FieldDB[2] = static const char *FieldDB[2] =
{ {
"FollowedCod", "FollowedCod",
"FollowerCod" "FollowerCod"
@ -4759,17 +4759,17 @@ static void Fig_GetAndShowNumUsrsPerCookies (void)
extern const char *Txt_No_of_users; extern const char *Txt_No_of_users;
extern const char *Txt_PERCENT_of_users; extern const char *Txt_PERCENT_of_users;
unsigned i; unsigned i;
char AcceptedInDB[2] = static const char AcceptedInDB[2] =
{ {
'N', // false 'N', // false
'Y' // true 'Y' // true
}; };
char *AcceptedClass[2] = static const char *AcceptedClass[2] =
{ {
"DAT_RED", // false "DAT_RED", // false
"DAT_GREEN" // true "DAT_GREEN" // true
}; };
char *AcceptedSymbol[2] = static const char *AcceptedSymbol[2] =
{ {
"✗", // false "✗", // false
"✓" // true "✓" // true

View File

@ -84,17 +84,9 @@ struct Brw_NumObjects
}; };
/*****************************************************************************/ /*****************************************************************************/
/**************************** Internal constants *****************************/ /***************************** Public constants ******************************/
/*****************************************************************************/ /*****************************************************************************/
static const char *Brw_FileTypeParamName[Brw_NUM_FILE_TYPES] =
{
[Brw_IS_UNKNOWN] = "BrwFFL",
[Brw_IS_FILE ] = "BrwFil", // Do not use Fil_NAME_OF_PARAM_FILENAME_ORG
[Brw_IS_FOLDER ] = "BrwFol",
[Brw_IS_LINK ] = "BrwLnk",
};
// Browsers types for database "files" and "file_browser_size" tables // Browsers types for database "files" and "file_browser_size" tables
const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER] = const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
@ -128,6 +120,53 @@ const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ, [Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ,
[Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ, [Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ,
}; };
// Names of root folders
const char *Brw_RootFolderInternalNames[Brw_NUM_TYPES_FILE_BROWSER] =
{
[Brw_UNKNOWN ] = "",
[Brw_SHOW_DOC_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_SHOW_MRK_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_DOC_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_ADMI_SHR_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED,
[Brw_ADMI_SHR_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED,
[Brw_ADMI_WRK_USR] = Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS,
[Brw_ADMI_WRK_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS,
[Brw_ADMI_MRK_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_BRF_USR] = Brw_INTERNAL_NAME_ROOT_FOLDER_BRIEF,
[Brw_SHOW_DOC_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_ADMI_DOC_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_SHOW_MRK_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_MRK_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_ASG_USR] = Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
[Brw_ADMI_ASG_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
[Brw_SHOW_DOC_DEG] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_DOC_DEG] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_SHOW_DOC_CTR] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_DOC_CTR] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_SHOW_DOC_INS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_DOC_INS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_SHR_DEG] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES,
[Brw_ADMI_SHR_CTR] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES,
[Brw_ADMI_SHR_INS] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES,
[Brw_ADMI_TCH_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS,
[Brw_ADMI_TCH_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS,
[Brw_ADMI_DOC_PRJ] = Brw_INTERNAL_NAME_ROOT_FOLDER_PROJECT_DOCUMENTS,
[Brw_ADMI_ASS_PRJ] = Brw_INTERNAL_NAME_ROOT_FOLDER_PROJECT_ASSESSMENT,
};
/*****************************************************************************/
/***************************** Private constants *****************************/
/*****************************************************************************/
static const char *Brw_FileTypeParamName[Brw_NUM_FILE_TYPES] =
{
[Brw_IS_UNKNOWN] = "BrwFFL",
[Brw_IS_FILE ] = "BrwFil", // Do not use Fil_NAME_OF_PARAM_FILENAME_ORG
[Brw_IS_FOLDER ] = "BrwFol",
[Brw_IS_LINK ] = "BrwLnk",
};
// Browsers viewable shown in search for documents // Browsers viewable shown in search for documents
static const Brw_FileBrowser_t Brw_FileBrowserForFoundDocs[Brw_NUM_TYPES_FILE_BROWSER] = static const Brw_FileBrowser_t Brw_FileBrowserForFoundDocs[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
@ -161,6 +200,7 @@ static const Brw_FileBrowser_t Brw_FileBrowserForFoundDocs[Brw_NUM_TYPES_FILE_BR
[Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ, [Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ,
[Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ, [Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ,
}; };
// Browsers types for database "clipboard" table // Browsers types for database "clipboard" table
static const Brw_FileBrowser_t Brw_FileBrowserForDB_clipboard[Brw_NUM_TYPES_FILE_BROWSER] = static const Brw_FileBrowser_t Brw_FileBrowserForDB_clipboard[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
@ -194,6 +234,7 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_clipboard[Brw_NUM_TYPES_FILE
[Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ, [Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ,
[Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ, [Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ,
}; };
// Browsers types for database "expanded_folders" table // Browsers types for database "expanded_folders" table
static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYPES_FILE_BROWSER] = static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
@ -227,6 +268,7 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYP
[Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ, [Brw_ADMI_DOC_PRJ] = Brw_ADMI_DOC_PRJ,
[Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ, [Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ,
}; };
// Browsers types for database "file_browser_last" table // Browsers types for database "file_browser_last" table
// Assignments and works are stored as one in file_browser_last... // Assignments and works are stored as one in file_browser_last...
// ...because a user views them at the same time // ...because a user views them at the same time
@ -263,40 +305,6 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_file_browser_last[Brw_NUM_TY
[Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ, [Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ,
}; };
// Internal names of root folders
const char *Brw_RootFolderInternalNames[Brw_NUM_TYPES_FILE_BROWSER] =
{
[Brw_UNKNOWN ] = "",
[Brw_SHOW_DOC_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_SHOW_MRK_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_DOC_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_ADMI_SHR_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED,
[Brw_ADMI_SHR_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED,
[Brw_ADMI_WRK_USR] = Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS,
[Brw_ADMI_WRK_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS,
[Brw_ADMI_MRK_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_BRF_USR] = Brw_INTERNAL_NAME_ROOT_FOLDER_BRIEF,
[Brw_SHOW_DOC_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_ADMI_DOC_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD,
[Brw_SHOW_MRK_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_MRK_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS,
[Brw_ADMI_ASG_USR] = Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
[Brw_ADMI_ASG_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
[Brw_SHOW_DOC_DEG] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_DOC_DEG] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_SHOW_DOC_CTR] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_DOC_CTR] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_SHOW_DOC_INS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_DOC_INS] = Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS,
[Brw_ADMI_SHR_DEG] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES,
[Brw_ADMI_SHR_CTR] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES,
[Brw_ADMI_SHR_INS] = Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES,
[Brw_ADMI_TCH_CRS] = Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS,
[Brw_ADMI_TCH_GRP] = Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS,
[Brw_ADMI_DOC_PRJ] = Brw_INTERNAL_NAME_ROOT_FOLDER_PROJECT_DOCUMENTS,
[Brw_ADMI_ASS_PRJ] = Brw_INTERNAL_NAME_ROOT_FOLDER_PROJECT_ASSESSMENT,
};
static const bool Brw_FileBrowserIsEditable[Brw_NUM_TYPES_FILE_BROWSER] = static const bool Brw_FileBrowserIsEditable[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = false, [Brw_UNKNOWN ] = false,
@ -329,6 +337,7 @@ static const bool Brw_FileBrowserIsEditable[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = true, [Brw_ADMI_DOC_PRJ] = true,
[Brw_ADMI_ASS_PRJ] = true, [Brw_ADMI_ASS_PRJ] = true,
}; };
static const Act_Action_t Brw_ActSeeAdm[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActSeeAdm[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -394,6 +403,7 @@ static const Act_Action_t Brw_ActFromSeeToAdm[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActUnk, [Brw_ADMI_DOC_PRJ] = ActUnk,
[Brw_ADMI_ASS_PRJ] = ActUnk, [Brw_ADMI_ASS_PRJ] = ActUnk,
}; };
static const Act_Action_t Brw_ActFromAdmToSee[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActFromAdmToSee[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -459,6 +469,7 @@ static const Act_Action_t Brw_ActChgZone[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActUnk, [Brw_ADMI_DOC_PRJ] = ActUnk,
[Brw_ADMI_ASS_PRJ] = ActUnk, [Brw_ADMI_ASS_PRJ] = ActUnk,
}; };
static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -491,6 +502,7 @@ static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActUnk, [Brw_ADMI_DOC_PRJ] = ActUnk,
[Brw_ADMI_ASS_PRJ] = ActUnk, [Brw_ADMI_ASS_PRJ] = ActUnk,
}; };
static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -523,6 +535,7 @@ static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActUnk, [Brw_ADMI_DOC_PRJ] = ActUnk,
[Brw_ADMI_ASS_PRJ] = ActUnk, [Brw_ADMI_ASS_PRJ] = ActUnk,
}; };
static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -555,6 +568,7 @@ static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActReqDatDocPrj, [Brw_ADMI_DOC_PRJ] = ActReqDatDocPrj,
[Brw_ADMI_ASS_PRJ] = ActReqDatAssPrj, [Brw_ADMI_ASS_PRJ] = ActReqDatAssPrj,
}; };
static const Act_Action_t Brw_ActDowFile[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActDowFile[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -587,6 +601,7 @@ static const Act_Action_t Brw_ActDowFile[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActDowDocPrj, [Brw_ADMI_DOC_PRJ] = ActDowDocPrj,
[Brw_ADMI_ASS_PRJ] = ActDowAssPrj, [Brw_ADMI_ASS_PRJ] = ActDowAssPrj,
}; };
static const Act_Action_t Brw_ActAskRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActAskRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -619,6 +634,7 @@ static const Act_Action_t Brw_ActAskRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActReqRemFilDocPrj, [Brw_ADMI_DOC_PRJ] = ActReqRemFilDocPrj,
[Brw_ADMI_ASS_PRJ] = ActReqRemFilAssPrj, [Brw_ADMI_ASS_PRJ] = ActReqRemFilAssPrj,
}; };
static const Act_Action_t Brw_ActRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -651,6 +667,7 @@ static const Act_Action_t Brw_ActRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActRemFilDocPrj, [Brw_ADMI_DOC_PRJ] = ActRemFilDocPrj,
[Brw_ADMI_ASS_PRJ] = ActRemFilAssPrj, [Brw_ADMI_ASS_PRJ] = ActRemFilAssPrj,
}; };
static const Act_Action_t Brw_ActRemoveFolder[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActRemoveFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -683,6 +700,7 @@ static const Act_Action_t Brw_ActRemoveFolder[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActRemFolDocPrj, [Brw_ADMI_DOC_PRJ] = ActRemFolDocPrj,
[Brw_ADMI_ASS_PRJ] = ActRemFolAssPrj, [Brw_ADMI_ASS_PRJ] = ActRemFolAssPrj,
}; };
static const Act_Action_t Brw_ActRemoveFolderNotEmpty[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActRemoveFolderNotEmpty[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -715,6 +733,7 @@ static const Act_Action_t Brw_ActRemoveFolderNotEmpty[Brw_NUM_TYPES_FILE_BROWSER
[Brw_ADMI_DOC_PRJ] = ActRemTreDocPrj, [Brw_ADMI_DOC_PRJ] = ActRemTreDocPrj,
[Brw_ADMI_ASS_PRJ] = ActRemTreAssPrj, [Brw_ADMI_ASS_PRJ] = ActRemTreAssPrj,
}; };
static const Act_Action_t Brw_ActCopy[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActCopy[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -747,6 +766,7 @@ static const Act_Action_t Brw_ActCopy[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActCopDocPrj, [Brw_ADMI_DOC_PRJ] = ActCopDocPrj,
[Brw_ADMI_ASS_PRJ] = ActCopAssPrj, [Brw_ADMI_ASS_PRJ] = ActCopAssPrj,
}; };
static const Act_Action_t Brw_ActPaste[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActPaste[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -779,6 +799,7 @@ static const Act_Action_t Brw_ActPaste[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActPasDocPrj, [Brw_ADMI_DOC_PRJ] = ActPasDocPrj,
[Brw_ADMI_ASS_PRJ] = ActPasAssPrj, [Brw_ADMI_ASS_PRJ] = ActPasAssPrj,
}; };
static const Act_Action_t Brw_ActFormCreate[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActFormCreate[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -811,6 +832,7 @@ static const Act_Action_t Brw_ActFormCreate[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActFrmCreDocPrj, [Brw_ADMI_DOC_PRJ] = ActFrmCreDocPrj,
[Brw_ADMI_ASS_PRJ] = ActFrmCreAssPrj, [Brw_ADMI_ASS_PRJ] = ActFrmCreAssPrj,
}; };
static const Act_Action_t Brw_ActCreateFolder[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActCreateFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -843,6 +865,7 @@ static const Act_Action_t Brw_ActCreateFolder[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActCreFolDocPrj, [Brw_ADMI_DOC_PRJ] = ActCreFolDocPrj,
[Brw_ADMI_ASS_PRJ] = ActCreFolAssPrj, [Brw_ADMI_ASS_PRJ] = ActCreFolAssPrj,
}; };
static const Act_Action_t Brw_ActCreateLink[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActCreateLink[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -875,6 +898,7 @@ static const Act_Action_t Brw_ActCreateLink[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActCreLnkDocPrj, [Brw_ADMI_DOC_PRJ] = ActCreLnkDocPrj,
[Brw_ADMI_ASS_PRJ] = ActCreLnkAssPrj, [Brw_ADMI_ASS_PRJ] = ActCreLnkAssPrj,
}; };
static const Act_Action_t Brw_ActRenameFolder[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActRenameFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -907,6 +931,7 @@ static const Act_Action_t Brw_ActRenameFolder[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActRenFolDocPrj, [Brw_ADMI_DOC_PRJ] = ActRenFolDocPrj,
[Brw_ADMI_ASS_PRJ] = ActRenFolAssPrj, [Brw_ADMI_ASS_PRJ] = ActRenFolAssPrj,
}; };
static const Act_Action_t Brw_ActUploadFileDropzone[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActUploadFileDropzone[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -939,6 +964,7 @@ static const Act_Action_t Brw_ActUploadFileDropzone[Brw_NUM_TYPES_FILE_BROWSER]
[Brw_ADMI_DOC_PRJ] = ActRcvFilDocPrjDZ, [Brw_ADMI_DOC_PRJ] = ActRcvFilDocPrjDZ,
[Brw_ADMI_ASS_PRJ] = ActRcvFilAssPrjDZ, [Brw_ADMI_ASS_PRJ] = ActRcvFilAssPrjDZ,
}; };
static const Act_Action_t Brw_ActUploadFileClassic[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActUploadFileClassic[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -971,6 +997,7 @@ static const Act_Action_t Brw_ActUploadFileClassic[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActRcvFilDocPrjCla, [Brw_ADMI_DOC_PRJ] = ActRcvFilDocPrjCla,
[Brw_ADMI_ASS_PRJ] = ActRcvFilAssPrjCla, [Brw_ADMI_ASS_PRJ] = ActRcvFilAssPrjCla,
}; };
static const Act_Action_t Brw_ActRefreshAfterUploadFiles[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActRefreshAfterUploadFiles[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -1003,6 +1030,7 @@ static const Act_Action_t Brw_ActRefreshAfterUploadFiles[Brw_NUM_TYPES_FILE_BROW
[Brw_ADMI_DOC_PRJ] = ActAdmDocPrj, [Brw_ADMI_DOC_PRJ] = ActAdmDocPrj,
[Brw_ADMI_ASS_PRJ] = ActAdmAssPrj, [Brw_ADMI_ASS_PRJ] = ActAdmAssPrj,
}; };
static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -1035,6 +1063,7 @@ static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActExpDocPrj, [Brw_ADMI_DOC_PRJ] = ActExpDocPrj,
[Brw_ADMI_ASS_PRJ] = ActExpAssPrj, [Brw_ADMI_ASS_PRJ] = ActExpAssPrj,
}; };
static const Act_Action_t Brw_ActContractFolder[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActContractFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -1067,6 +1096,7 @@ static const Act_Action_t Brw_ActContractFolder[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActConDocPrj, [Brw_ADMI_DOC_PRJ] = ActConDocPrj,
[Brw_ADMI_ASS_PRJ] = ActConAssPrj, [Brw_ADMI_ASS_PRJ] = ActConAssPrj,
}; };
static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -1099,6 +1129,7 @@ static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
[Brw_ADMI_DOC_PRJ] = ActChgDatDocPrj, [Brw_ADMI_DOC_PRJ] = ActChgDatDocPrj,
[Brw_ADMI_ASS_PRJ] = ActChgDatAssPrj, [Brw_ADMI_ASS_PRJ] = ActChgDatAssPrj,
}; };
static const Act_Action_t Brw_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] = static const Act_Action_t Brw_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{ {
[Brw_UNKNOWN ] = ActUnk, [Brw_UNKNOWN ] = ActUnk,
@ -1208,18 +1239,18 @@ static const Act_Action_t Brw_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] =
#define Brw_MAX_FILES_MARKS_GRP 200 #define Brw_MAX_FILES_MARKS_GRP 200
#define Brw_MAX_FOLDS_MARKS_GRP 20 #define Brw_MAX_FOLDS_MARKS_GRP 20
const unsigned long long Brw_MAX_QUOTA_BRIEF[Rol_NUM_ROLES] = // MaxRole is used static const unsigned long long Brw_MAX_QUOTA_BRIEF[Rol_NUM_ROLES] = // MaxRole is used
{ {
0, // Rol_UNK [Rol_UNK ] = 0,
0, // Rol_GST [Rol_GST ] = 0,
0, // Rol_USR [Rol_USR ] = 0,
32ULL*Brw_GiB, // Rol_STD [Rol_STD ] = 32ULL*Brw_GiB,
32ULL*Brw_GiB, // Rol_NET [Rol_NET ] = 32ULL*Brw_GiB,
64ULL*Brw_GiB, // Rol_TCH [Rol_TCH ] = 64ULL*Brw_GiB,
0, // Rol_DEG_ADM [Rol_DEG_ADM] = 0,
0, // Rol_CTR_ADM [Rol_CTR_ADM] = 0,
0, // Rol_INS_ADM [Rol_INS_ADM] = 0,
0, // Rol_SYS_ADM [Rol_SYS_ADM] = 0,
}; };
#define Brw_MAX_FILES_BRIEF 5000 #define Brw_MAX_FILES_BRIEF 5000
#define Brw_MAX_FOLDS_BRIEF 1000 #define Brw_MAX_FOLDS_BRIEF 1000
@ -6630,10 +6661,7 @@ void Brw_RemFolderFromTree (void)
Gbl.FileBrowser.FilFolLnk.Full)) Gbl.FileBrowser.FilFolLnk.Full))
{ {
if (errno == ENOTEMPTY) // The directory is not empty if (errno == ENOTEMPTY) // The directory is not empty
{
Brw_AskConfirmRemoveFolderNotEmpty (); Brw_AskConfirmRemoveFolderNotEmpty ();
// Gbl.Alert.Txt[0] = '\0'; // TODO: Remove this line
}
else // The directory is empty else // The directory is empty
Lay_ShowErrorAndExit ("Can not remove folder."); Lay_ShowErrorAndExit ("Can not remove folder.");
} }
@ -6812,10 +6840,10 @@ static void Brw_WriteCurrentClipboard (void)
char FileNameToShow[NAME_MAX + 1]; char FileNameToShow[NAME_MAX + 1];
const char *TxtFileType[Brw_NUM_FILE_TYPES] = const char *TxtFileType[Brw_NUM_FILE_TYPES] =
{ {
Txt_file_folder, // Brw_IS_UNKNOWN [Brw_IS_UNKNOWN] = Txt_file_folder,
Txt_file, // Brw_IS_FILE [Brw_IS_FILE ] = Txt_file,
Txt_folder, // Brw_IS_FOLDER [Brw_IS_FOLDER ] = Txt_folder,
Txt_link, // Brw_IS_LINK [Brw_IS_LINK ] = Txt_link,
}; };
switch (Gbl.FileBrowser.Clipboard.FileBrowser) switch (Gbl.FileBrowser.Clipboard.FileBrowser)
@ -7048,13 +7076,13 @@ static bool Brw_GetMyClipboard (void)
unsigned UnsignedNum; unsigned UnsignedNum;
/***** Clear clipboard data *****/ /***** Clear clipboard data *****/
Gbl.FileBrowser.Clipboard.FileBrowser = Brw_UNKNOWN; Gbl.FileBrowser.Clipboard.FileBrowser = Brw_UNKNOWN;
Gbl.FileBrowser.Clipboard.Cod = -1L; Gbl.FileBrowser.Clipboard.Cod = -1L;
Gbl.FileBrowser.Clipboard.WorksUsrCod = -1L; Gbl.FileBrowser.Clipboard.WorksUsrCod = -1L;
Gbl.FileBrowser.Clipboard.FilFolLnk.Type = Brw_IS_UNKNOWN; Gbl.FileBrowser.Clipboard.FilFolLnk.Type = Brw_IS_UNKNOWN;
Gbl.FileBrowser.Clipboard.FilFolLnk.Full[0] = '\0'; Gbl.FileBrowser.Clipboard.FilFolLnk.Full[0] = '\0';
Gbl.FileBrowser.Clipboard.FilFolLnk.Name[0] = '\0'; Gbl.FileBrowser.Clipboard.FilFolLnk.Name[0] = '\0';
Gbl.FileBrowser.Clipboard.Level = 0; Gbl.FileBrowser.Clipboard.Level = 0;
/***** Get my current clipboard from database *****/ /***** Get my current clipboard from database *****/
NumRows = (unsigned) DB_QuerySELECT (&mysql_res,"can not get source of copy" NumRows = (unsigned) DB_QuerySELECT (&mysql_res,"can not get source of copy"
@ -10560,18 +10588,18 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
} }
else else
{ {
FileMetadata->FilCod = -1L; FileMetadata->FilCod = -1L;
FileMetadata->FileBrowser = Brw_UNKNOWN; FileMetadata->FileBrowser = Brw_UNKNOWN;
FileMetadata->Cod = -1L; FileMetadata->Cod = -1L;
FileMetadata->ZoneUsrCod = -1L; FileMetadata->ZoneUsrCod = -1L;
FileMetadata->PublisherUsrCod = -1L; FileMetadata->PublisherUsrCod = -1L;
FileMetadata->FilFolLnk.Type = Brw_IS_UNKNOWN; FileMetadata->FilFolLnk.Type = Brw_IS_UNKNOWN;
FileMetadata->FilFolLnk.Full[0] = '\0'; FileMetadata->FilFolLnk.Full[0] = '\0';
FileMetadata->FilFolLnk.Path[0] = '\0'; FileMetadata->FilFolLnk.Path[0] = '\0';
FileMetadata->FilFolLnk.Name[0] = '\0'; FileMetadata->FilFolLnk.Name[0] = '\0';
FileMetadata->IsHidden = false; FileMetadata->IsHidden = false;
FileMetadata->IsPublic = false; FileMetadata->IsPublic = false;
FileMetadata->License = Brw_LICENSE_DEFAULT; FileMetadata->License = Brw_LICENSE_DEFAULT;
} }
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/

View File

@ -55,204 +55,218 @@
extern struct Globals Gbl; extern struct Globals Gbl;
/*****************************************************************************/
/************************ Public constants and types *************************/
/*****************************************************************************/
const Act_Action_t For_ActionsSeeFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActSeeForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActSeeForCrsTch,
[For_FORUM_DEGREE_USRS] = ActSeeForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActSeeForDegTch,
[For_FORUM_CENTRE_USRS] = ActSeeForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActSeeForCtrTch,
[For_FORUM_INSTIT_USRS] = ActSeeForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActSeeForInsTch,
[For_FORUM_GLOBAL_USRS] = ActSeeForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActSeeForGenTch,
[For_FORUM__SWAD__USRS] = ActSeeForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActSeeForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsSeePstFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActSeePstForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActSeePstForCrsTch,
[For_FORUM_DEGREE_USRS] = ActSeePstForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActSeePstForDegTch,
[For_FORUM_CENTRE_USRS] = ActSeePstForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActSeePstForCtrTch,
[For_FORUM_INSTIT_USRS] = ActSeePstForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActSeePstForInsTch,
[For_FORUM_GLOBAL_USRS] = ActSeePstForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActSeePstForGenTch,
[For_FORUM__SWAD__USRS] = ActSeePstForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActSeePstForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsRecThrFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActRcvThrForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActRcvThrForCrsTch,
[For_FORUM_DEGREE_USRS] = ActRcvThrForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActRcvThrForDegTch,
[For_FORUM_CENTRE_USRS] = ActRcvThrForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActRcvThrForCtrTch,
[For_FORUM_INSTIT_USRS] = ActRcvThrForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActRcvThrForInsTch,
[For_FORUM_GLOBAL_USRS] = ActRcvThrForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActRcvThrForGenTch,
[For_FORUM__SWAD__USRS] = ActRcvThrForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActRcvThrForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsRecRepFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActRcvRepForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActRcvRepForCrsTch,
[For_FORUM_DEGREE_USRS] = ActRcvRepForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActRcvRepForDegTch,
[For_FORUM_CENTRE_USRS] = ActRcvRepForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActRcvRepForCtrTch,
[For_FORUM_INSTIT_USRS] = ActRcvRepForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActRcvRepForInsTch,
[For_FORUM_GLOBAL_USRS] = ActRcvRepForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActRcvRepForGenTch,
[For_FORUM__SWAD__USRS] = ActRcvRepForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActRcvRepForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsReqDelThr[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActReqDelThrCrsUsr,
[For_FORUM_COURSE_TCHS] = ActReqDelThrCrsTch,
[For_FORUM_DEGREE_USRS] = ActReqDelThrDegUsr,
[For_FORUM_DEGREE_TCHS] = ActReqDelThrDegTch,
[For_FORUM_CENTRE_USRS] = ActReqDelThrCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActReqDelThrCtrTch,
[For_FORUM_INSTIT_USRS] = ActReqDelThrInsUsr,
[For_FORUM_INSTIT_TCHS] = ActReqDelThrInsTch,
[For_FORUM_GLOBAL_USRS] = ActReqDelThrGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActReqDelThrGenTch,
[For_FORUM__SWAD__USRS] = ActReqDelThrSWAUsr,
[For_FORUM__SWAD__TCHS] = ActReqDelThrSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsDelThrFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActDelThrForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActDelThrForCrsTch,
[For_FORUM_DEGREE_USRS] = ActDelThrForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActDelThrForDegTch,
[For_FORUM_CENTRE_USRS] = ActDelThrForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActDelThrForCtrTch,
[For_FORUM_INSTIT_USRS] = ActDelThrForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActDelThrForInsTch,
[For_FORUM_GLOBAL_USRS] = ActDelThrForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActDelThrForGenTch,
[For_FORUM__SWAD__USRS] = ActDelThrForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActDelThrForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsCutThrFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActCutThrForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActCutThrForCrsTch,
[For_FORUM_DEGREE_USRS] = ActCutThrForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActCutThrForDegTch,
[For_FORUM_CENTRE_USRS] = ActCutThrForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActCutThrForCtrTch,
[For_FORUM_INSTIT_USRS] = ActCutThrForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActCutThrForInsTch,
[For_FORUM_GLOBAL_USRS] = ActCutThrForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActCutThrForGenTch,
[For_FORUM__SWAD__USRS] = ActCutThrForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActCutThrForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsPasThrFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActPasThrForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActPasThrForCrsTch,
[For_FORUM_DEGREE_USRS] = ActPasThrForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActPasThrForDegTch,
[For_FORUM_CENTRE_USRS] = ActPasThrForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActPasThrForCtrTch,
[For_FORUM_INSTIT_USRS] = ActPasThrForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActPasThrForInsTch,
[For_FORUM_GLOBAL_USRS] = ActPasThrForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActPasThrForGenTch,
[For_FORUM__SWAD__USRS] = ActPasThrForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActPasThrForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsDelPstFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActDelPstForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActDelPstForCrsTch,
[For_FORUM_DEGREE_USRS] = ActDelPstForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActDelPstForDegTch,
[For_FORUM_CENTRE_USRS] = ActDelPstForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActDelPstForCtrTch,
[For_FORUM_INSTIT_USRS] = ActDelPstForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActDelPstForInsTch,
[For_FORUM_GLOBAL_USRS] = ActDelPstForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActDelPstForGenTch,
[For_FORUM__SWAD__USRS] = ActDelPstForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActDelPstForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsEnbPstFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActEnbPstForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActEnbPstForCrsTch,
[For_FORUM_DEGREE_USRS] = ActEnbPstForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActEnbPstForDegTch,
[For_FORUM_CENTRE_USRS] = ActEnbPstForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActEnbPstForCtrTch,
[For_FORUM_INSTIT_USRS] = ActEnbPstForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActEnbPstForInsTch,
[For_FORUM_GLOBAL_USRS] = ActEnbPstForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActEnbPstForGenTch,
[For_FORUM__SWAD__USRS] = ActEnbPstForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActEnbPstForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
const Act_Action_t For_ActionsDisPstFor[For_NUM_TYPES_FORUM] =
{
[For_FORUM_COURSE_USRS] = ActDisPstForCrsUsr,
[For_FORUM_COURSE_TCHS] = ActDisPstForCrsTch,
[For_FORUM_DEGREE_USRS] = ActDisPstForDegUsr,
[For_FORUM_DEGREE_TCHS] = ActDisPstForDegTch,
[For_FORUM_CENTRE_USRS] = ActDisPstForCtrUsr,
[For_FORUM_CENTRE_TCHS] = ActDisPstForCtrTch,
[For_FORUM_INSTIT_USRS] = ActDisPstForInsUsr,
[For_FORUM_INSTIT_TCHS] = ActDisPstForInsTch,
[For_FORUM_GLOBAL_USRS] = ActDisPstForGenUsr,
[For_FORUM_GLOBAL_TCHS] = ActDisPstForGenTch,
[For_FORUM__SWAD__USRS] = ActDisPstForSWAUsr,
[For_FORUM__SWAD__TCHS] = ActDisPstForSWATch,
[For_FORUM_UNKNOWN ] = ActSeeFor,
};
/*****************************************************************************/ /*****************************************************************************/
/*********************** Private constants and types *************************/ /*********************** Private constants and types *************************/
/*****************************************************************************/ /*****************************************************************************/
#define For_FORUM_MAX_LEVELS 4 #define For_FORUM_MAX_LEVELS 4
const unsigned PermissionThreadDeletion[For_NUM_TYPES_FORUM] = static const unsigned PermissionThreadDeletion[For_NUM_TYPES_FORUM] =
{ {
0x3F0, // For_FORUM_COURSE_USRS [For_FORUM_COURSE_USRS] = 0x3F0,
0x3F0, // For_FORUM_COURSE_TCHS [For_FORUM_COURSE_TCHS] = 0x3F0,
0x3E0, // For_FORUM_DEGREE_USRS [For_FORUM_DEGREE_USRS] = 0x3E0,
0x3E0, // For_FORUM_DEGREE_TCHS [For_FORUM_DEGREE_TCHS] = 0x3E0,
0x3C0, // For_FORUM_CENTRE_USRS [For_FORUM_CENTRE_USRS] = 0x3C0,
0x3C0, // For_FORUM_CENTRE_TCHS [For_FORUM_CENTRE_TCHS] = 0x3C0,
0x380, // For_FORUM_INSTIT_USRS [For_FORUM_INSTIT_USRS] = 0x380,
0x380, // For_FORUM_INSTIT_TCHS [For_FORUM_INSTIT_TCHS] = 0x380,
0x300, // For_FORUM_GLOBAL_USRS [For_FORUM_GLOBAL_USRS] = 0x300,
0x300, // For_FORUM_GLOBAL_TCHS [For_FORUM_GLOBAL_TCHS] = 0x300,
0x300, // For_FORUM__SWAD__USRS [For_FORUM__SWAD__USRS] = 0x300,
0x300, // For_FORUM__SWAD__TCHS [For_FORUM__SWAD__TCHS] = 0x300,
0x000, // For_FORUM_UNKNOWN [For_FORUM_UNKNOWN ] = 0x000,
};
const Act_Action_t For_ActionsSeeFor[For_NUM_TYPES_FORUM] =
{
ActSeeForCrsUsr,
ActSeeForCrsTch,
ActSeeForDegUsr,
ActSeeForDegTch,
ActSeeForCtrUsr,
ActSeeForCtrTch,
ActSeeForInsUsr,
ActSeeForInsTch,
ActSeeForGenUsr,
ActSeeForGenTch,
ActSeeForSWAUsr,
ActSeeForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsSeePstFor[For_NUM_TYPES_FORUM] =
{
ActSeePstForCrsUsr,
ActSeePstForCrsTch,
ActSeePstForDegUsr,
ActSeePstForDegTch,
ActSeePstForCtrUsr,
ActSeePstForCtrTch,
ActSeePstForInsUsr,
ActSeePstForInsTch,
ActSeePstForGenUsr,
ActSeePstForGenTch,
ActSeePstForSWAUsr,
ActSeePstForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsRecThrFor[For_NUM_TYPES_FORUM] =
{
ActRcvThrForCrsUsr,
ActRcvThrForCrsTch,
ActRcvThrForDegUsr,
ActRcvThrForDegTch,
ActRcvThrForCtrUsr,
ActRcvThrForCtrTch,
ActRcvThrForInsUsr,
ActRcvThrForInsTch,
ActRcvThrForGenUsr,
ActRcvThrForGenTch,
ActRcvThrForSWAUsr,
ActRcvThrForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsRecRepFor[For_NUM_TYPES_FORUM] =
{
ActRcvRepForCrsUsr,
ActRcvRepForCrsTch,
ActRcvRepForDegUsr,
ActRcvRepForDegTch,
ActRcvRepForCtrUsr,
ActRcvRepForCtrTch,
ActRcvRepForInsUsr,
ActRcvRepForInsTch,
ActRcvRepForGenUsr,
ActRcvRepForGenTch,
ActRcvRepForSWAUsr,
ActRcvRepForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsReqDelThr[For_NUM_TYPES_FORUM] =
{
ActReqDelThrCrsUsr,
ActReqDelThrCrsTch,
ActReqDelThrDegUsr,
ActReqDelThrDegTch,
ActReqDelThrCtrUsr,
ActReqDelThrCtrTch,
ActReqDelThrInsUsr,
ActReqDelThrInsTch,
ActReqDelThrGenUsr,
ActReqDelThrGenTch,
ActReqDelThrSWAUsr,
ActReqDelThrSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsDelThrFor[For_NUM_TYPES_FORUM] =
{
ActDelThrForCrsUsr,
ActDelThrForCrsTch,
ActDelThrForDegUsr,
ActDelThrForDegTch,
ActDelThrForCtrUsr,
ActDelThrForCtrTch,
ActDelThrForInsUsr,
ActDelThrForInsTch,
ActDelThrForGenUsr,
ActDelThrForGenTch,
ActDelThrForSWAUsr,
ActDelThrForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsCutThrFor[For_NUM_TYPES_FORUM] =
{
ActCutThrForCrsUsr,
ActCutThrForCrsTch,
ActCutThrForDegUsr,
ActCutThrForDegTch,
ActCutThrForCtrUsr,
ActCutThrForCtrTch,
ActCutThrForInsUsr,
ActCutThrForInsTch,
ActCutThrForGenUsr,
ActCutThrForGenTch,
ActCutThrForSWAUsr,
ActCutThrForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsPasThrFor[For_NUM_TYPES_FORUM] =
{
ActPasThrForCrsUsr,
ActPasThrForCrsTch,
ActPasThrForDegUsr,
ActPasThrForDegTch,
ActPasThrForCtrUsr,
ActPasThrForCtrTch,
ActPasThrForInsUsr,
ActPasThrForInsTch,
ActPasThrForGenUsr,
ActPasThrForGenTch,
ActPasThrForSWAUsr,
ActPasThrForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsDelPstFor[For_NUM_TYPES_FORUM] =
{
ActDelPstForCrsUsr,
ActDelPstForCrsTch,
ActDelPstForDegUsr,
ActDelPstForDegTch,
ActDelPstForCtrUsr,
ActDelPstForCtrTch,
ActDelPstForInsUsr,
ActDelPstForInsTch,
ActDelPstForGenUsr,
ActDelPstForGenTch,
ActDelPstForSWAUsr,
ActDelPstForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsEnbPstFor[For_NUM_TYPES_FORUM] =
{
ActEnbPstForCrsUsr,
ActEnbPstForCrsTch,
ActEnbPstForDegUsr,
ActEnbPstForDegTch,
ActEnbPstForCtrUsr,
ActEnbPstForCtrTch,
ActEnbPstForInsUsr,
ActEnbPstForInsTch,
ActEnbPstForGenUsr,
ActEnbPstForGenTch,
ActEnbPstForSWAUsr,
ActEnbPstForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
};
const Act_Action_t For_ActionsDisPstFor[For_NUM_TYPES_FORUM] =
{
ActDisPstForCrsUsr,
ActDisPstForCrsTch,
ActDisPstForDegUsr,
ActDisPstForDegTch,
ActDisPstForCtrUsr,
ActDisPstForCtrTch,
ActDisPstForInsUsr,
ActDisPstForInsTch,
ActDisPstForGenUsr,
ActDisPstForGenTch,
ActDisPstForSWAUsr,
ActDisPstForSWATch,
ActSeeFor, // For_FORUM_UNKNOWN
}; };
// Links to go to <section> // Links to go to <section>

View File

@ -63,92 +63,76 @@ extern struct Globals Gbl;
const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
{ {
[Ntf_EVENT_UNKNOWN ] = "unknown", [Ntf_EVENT_UNKNOWN ] = "unknown",
/* Start tab */ /* Start tab */
[Ntf_EVENT_TIMELINE_COMMENT ] = "timelineComment", [Ntf_EVENT_TIMELINE_COMMENT ] = "timelineComment",
[Ntf_EVENT_TIMELINE_FAV ] = "timelineFav", [Ntf_EVENT_TIMELINE_FAV ] = "timelineFav",
[Ntf_EVENT_TIMELINE_SHARE ] = "timelineShare", [Ntf_EVENT_TIMELINE_SHARE ] = "timelineShare",
[Ntf_EVENT_TIMELINE_MENTION ] = "timelineMention", [Ntf_EVENT_TIMELINE_MENTION ] = "timelineMention",
[Ntf_EVENT_FOLLOWER ] = "follower", [Ntf_EVENT_FOLLOWER ] = "follower",
/* System tab */ /* System tab */
/* Country tab */ /* Country tab */
/* Institution tab */ /* Institution tab */
/* Centre tab */ /* Centre tab */
/* Degree tab */ /* Degree tab */
/* Course tab */ /* Course tab */
/* Assessment tab */ /* Assessment tab */
[Ntf_EVENT_ASSIGNMENT ] = "assignment", [Ntf_EVENT_ASSIGNMENT ] = "assignment",
[Ntf_EVENT_SURVEY ] = "survey", [Ntf_EVENT_SURVEY ] = "survey",
[Ntf_EVENT_EXAM_ANNOUNCEMENT] = "examAnnouncement", [Ntf_EVENT_EXAM_ANNOUNCEMENT] = "examAnnouncement",
/* Files tab */ /* Files tab */
[Ntf_EVENT_DOCUMENT_FILE ] = "documentFile", [Ntf_EVENT_DOCUMENT_FILE ] = "documentFile",
[Ntf_EVENT_TEACHERS_FILE ] = "teachersFile", [Ntf_EVENT_TEACHERS_FILE ] = "teachersFile",
[Ntf_EVENT_SHARED_FILE ] = "sharedFile", [Ntf_EVENT_SHARED_FILE ] = "sharedFile",
[Ntf_EVENT_MARKS_FILE ] = "marksFile", [Ntf_EVENT_MARKS_FILE ] = "marksFile",
/* Users tab */ /* Users tab */
[Ntf_EVENT_ENROLMENT_STD ] = "enrollmentStudent", [Ntf_EVENT_ENROLMENT_STD ] = "enrollmentStudent",
[Ntf_EVENT_ENROLMENT_NET ] = "enrolmentNonEditingTeacher", [Ntf_EVENT_ENROLMENT_NET ] = "enrolmentNonEditingTeacher",
[Ntf_EVENT_ENROLMENT_TCH ] = "enrollmentTeacher", [Ntf_EVENT_ENROLMENT_TCH ] = "enrollmentTeacher",
[Ntf_EVENT_ENROLMENT_REQUEST] = "enrollmentRequest", [Ntf_EVENT_ENROLMENT_REQUEST] = "enrollmentRequest",
/* Messages tab */ /* Messages tab */
[Ntf_EVENT_NOTICE ] = "notice", [Ntf_EVENT_NOTICE ] = "notice",
[Ntf_EVENT_FORUM_POST_COURSE] = "forumPostCourse", [Ntf_EVENT_FORUM_POST_COURSE] = "forumPostCourse",
[Ntf_EVENT_FORUM_REPLY ] = "forumReply", [Ntf_EVENT_FORUM_REPLY ] = "forumReply",
[Ntf_EVENT_MESSAGE ] = "message", [Ntf_EVENT_MESSAGE ] = "message",
/* Analytics tab */ /* Analytics tab */
/* Profile tab */ /* Profile tab */
}; };
static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] = static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] =
{ {
[Ntf_EVENT_UNKNOWN ] = ActUnk, [Ntf_EVENT_UNKNOWN ] = ActUnk,
/* Start tab */ /* Start tab */
[Ntf_EVENT_TIMELINE_COMMENT ] = ActSeeSocTmlGbl, [Ntf_EVENT_TIMELINE_COMMENT ] = ActSeeSocTmlGbl,
[Ntf_EVENT_TIMELINE_FAV ] = ActSeeSocTmlGbl, [Ntf_EVENT_TIMELINE_FAV ] = ActSeeSocTmlGbl,
[Ntf_EVENT_TIMELINE_SHARE ] = ActSeeSocTmlGbl, [Ntf_EVENT_TIMELINE_SHARE ] = ActSeeSocTmlGbl,
[Ntf_EVENT_TIMELINE_MENTION ] = ActSeeSocTmlGbl, [Ntf_EVENT_TIMELINE_MENTION ] = ActSeeSocTmlGbl,
[Ntf_EVENT_FOLLOWER ] = ActSeeFlr, [Ntf_EVENT_FOLLOWER ] = ActSeeFlr,
/* System tab */ /* System tab */
/* Country tab */ /* Country tab */
/* Institution tab */ /* Institution tab */
/* Centre tab */ /* Centre tab */
/* Degree tab */ /* Degree tab */
/* Course tab */ /* Course tab */
/* Assessment tab */ /* Assessment tab */
[Ntf_EVENT_ASSIGNMENT ] = ActSeeAsg, [Ntf_EVENT_ASSIGNMENT ] = ActSeeAsg,
[Ntf_EVENT_SURVEY ] = ActSeeAllSvy, [Ntf_EVENT_SURVEY ] = ActSeeAllSvy,
[Ntf_EVENT_EXAM_ANNOUNCEMENT] = ActSeeAllExaAnn, [Ntf_EVENT_EXAM_ANNOUNCEMENT] = ActSeeAllExaAnn,
/* Files tab */ /* Files tab */
[Ntf_EVENT_DOCUMENT_FILE ] = ActSeeAdmDocCrsGrp, [Ntf_EVENT_DOCUMENT_FILE ] = ActSeeAdmDocCrsGrp,
[Ntf_EVENT_TEACHERS_FILE ] = ActAdmTchCrsGrp, [Ntf_EVENT_TEACHERS_FILE ] = ActAdmTchCrsGrp,
[Ntf_EVENT_SHARED_FILE ] = ActAdmShaCrsGrp, [Ntf_EVENT_SHARED_FILE ] = ActAdmShaCrsGrp,
[Ntf_EVENT_MARKS_FILE ] = ActSeeAdmMrk, [Ntf_EVENT_MARKS_FILE ] = ActSeeAdmMrk,
/* Users tab */ /* Users tab */
[Ntf_EVENT_ENROLMENT_STD ] = ActReqAccEnrStd, [Ntf_EVENT_ENROLMENT_STD ] = ActReqAccEnrStd,
[Ntf_EVENT_ENROLMENT_NET ] = ActReqAccEnrNET, [Ntf_EVENT_ENROLMENT_NET ] = ActReqAccEnrNET,
[Ntf_EVENT_ENROLMENT_TCH ] = ActReqAccEnrTch, [Ntf_EVENT_ENROLMENT_TCH ] = ActReqAccEnrTch,
[Ntf_EVENT_ENROLMENT_REQUEST] = ActSeeSignUpReq, [Ntf_EVENT_ENROLMENT_REQUEST] = ActSeeSignUpReq,
/* Messages tab */ /* Messages tab */
[Ntf_EVENT_NOTICE ] = ActSeeOneNot, [Ntf_EVENT_NOTICE ] = ActSeeOneNot,
[Ntf_EVENT_FORUM_POST_COURSE] = ActSeeFor, [Ntf_EVENT_FORUM_POST_COURSE] = ActSeeFor,
[Ntf_EVENT_FORUM_REPLY ] = ActSeeFor, [Ntf_EVENT_FORUM_REPLY ] = ActSeeFor,
[Ntf_EVENT_MESSAGE ] = ActExpRcvMsg, [Ntf_EVENT_MESSAGE ] = ActExpRcvMsg,
/* Analytics tab */ /* Analytics tab */
/* Profile tab */ /* Profile tab */
}; };
@ -160,46 +144,38 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] =
static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
{ {
[Ntf_EVENT_UNKNOWN ] = "NotifyNtfEventUnknown", [Ntf_EVENT_UNKNOWN ] = "NotifyNtfEventUnknown",
/* Start tab */ /* Start tab */
[Ntf_EVENT_TIMELINE_COMMENT ] = "NotifyNtfEventTimelineComment", [Ntf_EVENT_TIMELINE_COMMENT ] = "NotifyNtfEventTimelineComment",
[Ntf_EVENT_TIMELINE_FAV ] = "NotifyNtfEventTimelineFav", [Ntf_EVENT_TIMELINE_FAV ] = "NotifyNtfEventTimelineFav",
[Ntf_EVENT_TIMELINE_SHARE ] = "NotifyNtfEventTimelineShare", [Ntf_EVENT_TIMELINE_SHARE ] = "NotifyNtfEventTimelineShare",
[Ntf_EVENT_TIMELINE_MENTION ] = "NotifyNtfEventTimelineMention", [Ntf_EVENT_TIMELINE_MENTION ] = "NotifyNtfEventTimelineMention",
[Ntf_EVENT_FOLLOWER ] = "NotifyNtfEventFollower", [Ntf_EVENT_FOLLOWER ] = "NotifyNtfEventFollower",
/* System tab */ /* System tab */
/* Country tab */ /* Country tab */
/* Institution tab */ /* Institution tab */
/* Centre tab */ /* Centre tab */
/* Degree tab */ /* Degree tab */
/* Course tab */ /* Course tab */
/* Assessment tab */ /* Assessment tab */
[Ntf_EVENT_ASSIGNMENT ] = "NotifyNtfEventAssignment", [Ntf_EVENT_ASSIGNMENT ] = "NotifyNtfEventAssignment",
[Ntf_EVENT_SURVEY ] = "NotifyNtfEventSurvey", [Ntf_EVENT_SURVEY ] = "NotifyNtfEventSurvey",
[Ntf_EVENT_EXAM_ANNOUNCEMENT] = "NotifyNtfEventExamAnnouncement", [Ntf_EVENT_EXAM_ANNOUNCEMENT] = "NotifyNtfEventExamAnnouncement",
/* Files tab */ /* Files tab */
[Ntf_EVENT_DOCUMENT_FILE ] = "NotifyNtfEventDocumentFile", [Ntf_EVENT_DOCUMENT_FILE ] = "NotifyNtfEventDocumentFile",
[Ntf_EVENT_TEACHERS_FILE ] = "NotifyNtfEventTeachersFile", [Ntf_EVENT_TEACHERS_FILE ] = "NotifyNtfEventTeachersFile",
[Ntf_EVENT_SHARED_FILE ] = "NotifyNtfEventSharedFile", [Ntf_EVENT_SHARED_FILE ] = "NotifyNtfEventSharedFile",
[Ntf_EVENT_MARKS_FILE ] = "NotifyNtfEventMarksFile", [Ntf_EVENT_MARKS_FILE ] = "NotifyNtfEventMarksFile",
/* Messages tab */ /* Messages tab */
[Ntf_EVENT_NOTICE ] = "NotifyNtfEventNotice", [Ntf_EVENT_NOTICE ] = "NotifyNtfEventNotice",
[Ntf_EVENT_FORUM_POST_COURSE] = "NotifyNtfEventForumPostCourse", [Ntf_EVENT_FORUM_POST_COURSE] = "NotifyNtfEventForumPostCourse",
[Ntf_EVENT_FORUM_REPLY ] = "NotifyNtfEventForumReply", [Ntf_EVENT_FORUM_REPLY ] = "NotifyNtfEventForumReply",
[Ntf_EVENT_MESSAGE ] = "NotifyNtfEventMessage", [Ntf_EVENT_MESSAGE ] = "NotifyNtfEventMessage",
/* Users tab */ /* Users tab */
[Ntf_EVENT_ENROLMENT_STD ] = "NotifyNtfEventEnrolmentStudent", [Ntf_EVENT_ENROLMENT_STD ] = "NotifyNtfEventEnrolmentStudent",
[Ntf_EVENT_ENROLMENT_NET ] = "NotifyNtfEventEnrolmentNonEditingTeacher", [Ntf_EVENT_ENROLMENT_NET ] = "NotifyNtfEventEnrolmentNonEditingTeacher",
[Ntf_EVENT_ENROLMENT_TCH ] = "NotifyNtfEventEnrolmentTeacher", [Ntf_EVENT_ENROLMENT_TCH ] = "NotifyNtfEventEnrolmentTeacher",
[Ntf_EVENT_ENROLMENT_REQUEST] = "NotifyNtfEventEnrolmentRequest", [Ntf_EVENT_ENROLMENT_REQUEST] = "NotifyNtfEventEnrolmentRequest",
/* Analytics tab */ /* Analytics tab */
/* Profile tab */ /* Profile tab */
}; };
@ -207,46 +183,38 @@ static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] = static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
{ {
[Ntf_EVENT_UNKNOWN ] = "EmailNtfEventUnknown", [Ntf_EVENT_UNKNOWN ] = "EmailNtfEventUnknown",
/* Start tab */ /* Start tab */
[Ntf_EVENT_TIMELINE_COMMENT ] = "EmailNtfEventTimelineComment", [Ntf_EVENT_TIMELINE_COMMENT ] = "EmailNtfEventTimelineComment",
[Ntf_EVENT_TIMELINE_FAV ] = "EmailNtfEventTimelineFav", [Ntf_EVENT_TIMELINE_FAV ] = "EmailNtfEventTimelineFav",
[Ntf_EVENT_TIMELINE_SHARE ] = "EmailNtfEventTimelineShare", [Ntf_EVENT_TIMELINE_SHARE ] = "EmailNtfEventTimelineShare",
[Ntf_EVENT_TIMELINE_MENTION ] = "EmailNtfEventTimelineMention", [Ntf_EVENT_TIMELINE_MENTION ] = "EmailNtfEventTimelineMention",
[Ntf_EVENT_FOLLOWER ] = "EmailNtfEventSocialFollower", [Ntf_EVENT_FOLLOWER ] = "EmailNtfEventSocialFollower",
/* System tab */ /* System tab */
/* Country tab */ /* Country tab */
/* Institution tab */ /* Institution tab */
/* Centre tab */ /* Centre tab */
/* Degree tab */ /* Degree tab */
/* Course tab */ /* Course tab */
/* Assessment tab */ /* Assessment tab */
[Ntf_EVENT_ASSIGNMENT ] = "EmailNtfEventAssignment", [Ntf_EVENT_ASSIGNMENT ] = "EmailNtfEventAssignment",
[Ntf_EVENT_SURVEY ] = "EmailNtfEventSurvey", [Ntf_EVENT_SURVEY ] = "EmailNtfEventSurvey",
[Ntf_EVENT_EXAM_ANNOUNCEMENT] = "EmailNtfEventExamAnnouncement", [Ntf_EVENT_EXAM_ANNOUNCEMENT] = "EmailNtfEventExamAnnouncement",
/* Files tab */ /* Files tab */
[Ntf_EVENT_DOCUMENT_FILE ] = "EmailNtfEventDocumentFile", [Ntf_EVENT_DOCUMENT_FILE ] = "EmailNtfEventDocumentFile",
[Ntf_EVENT_TEACHERS_FILE ] = "EmailNtfEventTeachersFile", [Ntf_EVENT_TEACHERS_FILE ] = "EmailNtfEventTeachersFile",
[Ntf_EVENT_SHARED_FILE ] = "EmailNtfEventSharedFile", [Ntf_EVENT_SHARED_FILE ] = "EmailNtfEventSharedFile",
[Ntf_EVENT_MARKS_FILE ] = "EmailNtfEventMarksFile", [Ntf_EVENT_MARKS_FILE ] = "EmailNtfEventMarksFile",
/* Messages tab */ /* Messages tab */
[Ntf_EVENT_NOTICE ] = "EmailNtfEventNotice", [Ntf_EVENT_NOTICE ] = "EmailNtfEventNotice",
[Ntf_EVENT_FORUM_POST_COURSE] = "EmailNtfEventForumPostCourse", [Ntf_EVENT_FORUM_POST_COURSE] = "EmailNtfEventForumPostCourse",
[Ntf_EVENT_FORUM_REPLY ] = "EmailNtfEventForumReply", [Ntf_EVENT_FORUM_REPLY ] = "EmailNtfEventForumReply",
[Ntf_EVENT_MESSAGE ] = "EmailNtfEventMessage", [Ntf_EVENT_MESSAGE ] = "EmailNtfEventMessage",
/* Users tab */ /* Users tab */
[Ntf_EVENT_ENROLMENT_STD ] = "EmailNtfEventEnrolmentStudent", [Ntf_EVENT_ENROLMENT_STD ] = "EmailNtfEventEnrolmentStudent",
[Ntf_EVENT_ENROLMENT_NET ] = "EmailNtfEventEnrolmentNonEditingTeacher", [Ntf_EVENT_ENROLMENT_NET ] = "EmailNtfEventEnrolmentNonEditingTeacher",
[Ntf_EVENT_ENROLMENT_TCH ] = "EmailNtfEventEnrolmentTeacher", [Ntf_EVENT_ENROLMENT_TCH ] = "EmailNtfEventEnrolmentTeacher",
[Ntf_EVENT_ENROLMENT_REQUEST] = "EmailNtfEventEnrolmentRequest", [Ntf_EVENT_ENROLMENT_REQUEST] = "EmailNtfEventEnrolmentRequest",
/* Analytics tab */
/* Statistics tab */
/* Profile tab */ /* Profile tab */
}; };
@ -254,46 +222,38 @@ static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] = static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] =
{ {
[Ntf_EVENT_UNKNOWN ] = "question.svg", [Ntf_EVENT_UNKNOWN ] = "question.svg",
/* Start tab */ /* Start tab */
[Ntf_EVENT_TIMELINE_COMMENT ] = "comment-dots.svg", [Ntf_EVENT_TIMELINE_COMMENT ] = "comment-dots.svg",
[Ntf_EVENT_TIMELINE_FAV ] = "star.svg", [Ntf_EVENT_TIMELINE_FAV ] = "star.svg",
[Ntf_EVENT_TIMELINE_SHARE ] = "share-alt.svg", [Ntf_EVENT_TIMELINE_SHARE ] = "share-alt.svg",
[Ntf_EVENT_TIMELINE_MENTION ] = "at.svg", [Ntf_EVENT_TIMELINE_MENTION ] = "at.svg",
[Ntf_EVENT_FOLLOWER ] = "user-plus.svg", [Ntf_EVENT_FOLLOWER ] = "user-plus.svg",
/* System tab */ /* System tab */
/* Country tab */ /* Country tab */
/* Institution tab */ /* Institution tab */
/* Centre tab */ /* Centre tab */
/* Degree tab */ /* Degree tab */
/* Course tab */ /* Course tab */
/* Assessment tab */ /* Assessment tab */
[Ntf_EVENT_ASSIGNMENT ] = "edit.svg", [Ntf_EVENT_ASSIGNMENT ] = "edit.svg",
[Ntf_EVENT_SURVEY ] = "poll.svg", [Ntf_EVENT_SURVEY ] = "poll.svg",
[Ntf_EVENT_EXAM_ANNOUNCEMENT] = "bullhorn.svg", [Ntf_EVENT_EXAM_ANNOUNCEMENT] = "bullhorn.svg",
/* Files tab */ /* Files tab */
[Ntf_EVENT_DOCUMENT_FILE ] = "file.svg", [Ntf_EVENT_DOCUMENT_FILE ] = "file.svg",
[Ntf_EVENT_TEACHERS_FILE ] = "file.svg", [Ntf_EVENT_TEACHERS_FILE ] = "file.svg",
[Ntf_EVENT_SHARED_FILE ] = "file.svg", [Ntf_EVENT_SHARED_FILE ] = "file.svg",
[Ntf_EVENT_MARKS_FILE ] = "clipboard-list.svg", [Ntf_EVENT_MARKS_FILE ] = "clipboard-list.svg",
/* Messages tab */ /* Messages tab */
[Ntf_EVENT_NOTICE ] = "sticky-note.svg", [Ntf_EVENT_NOTICE ] = "sticky-note.svg",
[Ntf_EVENT_FORUM_POST_COURSE] = "comments.svg", [Ntf_EVENT_FORUM_POST_COURSE] = "comments.svg",
[Ntf_EVENT_FORUM_REPLY ] = "comments.svg", [Ntf_EVENT_FORUM_REPLY ] = "comments.svg",
[Ntf_EVENT_MESSAGE ] = "envelope.svg", [Ntf_EVENT_MESSAGE ] = "envelope.svg",
/* Users tab */ /* Users tab */
[Ntf_EVENT_ENROLMENT_STD ] = "user.svg", [Ntf_EVENT_ENROLMENT_STD ] = "user.svg",
[Ntf_EVENT_ENROLMENT_NET ] = "user-tie.svg", [Ntf_EVENT_ENROLMENT_NET ] = "user-tie.svg",
[Ntf_EVENT_ENROLMENT_TCH ] = "user-tie.svg", [Ntf_EVENT_ENROLMENT_TCH ] = "user-tie.svg",
[Ntf_EVENT_ENROLMENT_REQUEST] = "hand-point-up.svg", [Ntf_EVENT_ENROLMENT_REQUEST] = "hand-point-up.svg",
/* Analytics tab */
/* Statistics tab */
/* Profile tab */ /* Profile tab */
}; };

View File

@ -54,48 +54,39 @@
typedef enum // TODO: Change numbers (also in database)!!!!!!!!!!!!!! typedef enum // TODO: Change numbers (also in database)!!!!!!!!!!!!!!
{ {
Ntf_EVENT_UNKNOWN = 0, Ntf_EVENT_UNKNOWN = 0,
/* Start tab */ /* Start tab */
Ntf_EVENT_TIMELINE_COMMENT = 10, // New comment to one of my social publishings (notes or comments) Ntf_EVENT_TIMELINE_COMMENT = 10, // New comment to one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_FAV = 11, // New fav of one of my social publishings (notes or comments) Ntf_EVENT_TIMELINE_FAV = 11, // New fav of one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_SHARE = 12, // New sharing of one of my social notes Ntf_EVENT_TIMELINE_SHARE = 12, // New sharing of one of my social notes
Ntf_EVENT_TIMELINE_MENTION = 13, // New mention Ntf_EVENT_TIMELINE_MENTION = 13, // New mention
Ntf_EVENT_FOLLOWER = 14, Ntf_EVENT_FOLLOWER = 14,
/* System tab */ /* System tab */
/* Country tab */ /* Country tab */
/* Institution tab */ /* Institution tab */
/* Centre tab */ /* Centre tab */
/* Degree tab */ /* Degree tab */
/* Course tab */ /* Course tab */
/* Assessment tab */ /* Assessment tab */
Ntf_EVENT_ASSIGNMENT = 4, Ntf_EVENT_ASSIGNMENT = 4,
Ntf_EVENT_SURVEY = 19, Ntf_EVENT_SURVEY = 19,
Ntf_EVENT_EXAM_ANNOUNCEMENT = 5, Ntf_EVENT_EXAM_ANNOUNCEMENT = 5,
/* Files tab */ /* Files tab */
Ntf_EVENT_DOCUMENT_FILE = 1, Ntf_EVENT_DOCUMENT_FILE = 1,
Ntf_EVENT_TEACHERS_FILE = 2, Ntf_EVENT_TEACHERS_FILE = 2,
Ntf_EVENT_SHARED_FILE = 3, Ntf_EVENT_SHARED_FILE = 3,
Ntf_EVENT_MARKS_FILE = 6, Ntf_EVENT_MARKS_FILE = 6,
/* Users tab */ /* Users tab */
Ntf_EVENT_ENROLMENT_STD = 7, Ntf_EVENT_ENROLMENT_STD = 7,
Ntf_EVENT_ENROLMENT_NET = 20, Ntf_EVENT_ENROLMENT_NET = 20,
Ntf_EVENT_ENROLMENT_TCH = 8, Ntf_EVENT_ENROLMENT_TCH = 8,
Ntf_EVENT_ENROLMENT_REQUEST = 9, Ntf_EVENT_ENROLMENT_REQUEST = 9,
/* Messages tab */ /* Messages tab */
Ntf_EVENT_NOTICE = 17, Ntf_EVENT_NOTICE = 17,
Ntf_EVENT_FORUM_POST_COURSE = 15, // New post in forums of my courses Ntf_EVENT_FORUM_POST_COURSE = 15, // New post in forums of my courses
Ntf_EVENT_FORUM_REPLY = 16, // New reply to one of my posts in any forum Ntf_EVENT_FORUM_REPLY = 16, // New reply to one of my posts in any forum
Ntf_EVENT_MESSAGE = 18, Ntf_EVENT_MESSAGE = 18,
/* Analytics tab */ /* Analytics tab */
/* Profile tab */ /* Profile tab */
} Ntf_NotifyEvent_t; } Ntf_NotifyEvent_t;
typedef enum typedef enum

View File

@ -341,49 +341,41 @@ void TL_ShowTimelineGbl2 (void)
struct TL_Note SocNot; struct TL_Note SocNot;
struct UsrData UsrDat; struct UsrData UsrDat;
Ntf_NotifyEvent_t NotifyEvent; Ntf_NotifyEvent_t NotifyEvent;
const TL_TopMessage_t TopMessages[Ntf_NUM_NOTIFY_EVENTS] = static const TL_TopMessage_t TopMessages[Ntf_NUM_NOTIFY_EVENTS] =
{ {
[Ntf_EVENT_UNKNOWN ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_UNKNOWN ] = TL_TOP_MESSAGE_NONE,
/* Start tab */ /* Start tab */
[Ntf_EVENT_TIMELINE_COMMENT ] = TL_TOP_MESSAGE_COMMENTED, [Ntf_EVENT_TIMELINE_COMMENT ] = TL_TOP_MESSAGE_COMMENTED,
[Ntf_EVENT_TIMELINE_FAV ] = TL_TOP_MESSAGE_FAVED, [Ntf_EVENT_TIMELINE_FAV ] = TL_TOP_MESSAGE_FAVED,
[Ntf_EVENT_TIMELINE_SHARE ] = TL_TOP_MESSAGE_SHARED, [Ntf_EVENT_TIMELINE_SHARE ] = TL_TOP_MESSAGE_SHARED,
[Ntf_EVENT_TIMELINE_MENTION ] = TL_TOP_MESSAGE_MENTIONED, [Ntf_EVENT_TIMELINE_MENTION ] = TL_TOP_MESSAGE_MENTIONED,
[Ntf_EVENT_FOLLOWER ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_FOLLOWER ] = TL_TOP_MESSAGE_NONE,
/* System tab */ /* System tab */
/* Country tab */ /* Country tab */
/* Institution tab */ /* Institution tab */
/* Centre tab */ /* Centre tab */
/* Degree tab */ /* Degree tab */
/* Course tab */ /* Course tab */
/* Assessment tab */ /* Assessment tab */
[Ntf_EVENT_ASSIGNMENT ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_ASSIGNMENT ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_SURVEY ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_SURVEY ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_EXAM_ANNOUNCEMENT] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_EXAM_ANNOUNCEMENT] = TL_TOP_MESSAGE_NONE,
/* Files tab */ /* Files tab */
[Ntf_EVENT_DOCUMENT_FILE ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_DOCUMENT_FILE ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_TEACHERS_FILE ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_TEACHERS_FILE ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_SHARED_FILE ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_SHARED_FILE ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_MARKS_FILE ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_MARKS_FILE ] = TL_TOP_MESSAGE_NONE,
/* Users tab */ /* Users tab */
[Ntf_EVENT_ENROLMENT_STD ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_ENROLMENT_STD ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_ENROLMENT_NET ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_ENROLMENT_NET ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_ENROLMENT_TCH ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_ENROLMENT_TCH ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_ENROLMENT_REQUEST] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_ENROLMENT_REQUEST] = TL_TOP_MESSAGE_NONE,
/* Messages tab */ /* Messages tab */
[Ntf_EVENT_NOTICE ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_NOTICE ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_FORUM_POST_COURSE] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_FORUM_POST_COURSE] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_FORUM_REPLY ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_FORUM_REPLY ] = TL_TOP_MESSAGE_NONE,
[Ntf_EVENT_MESSAGE ] = TL_TOP_MESSAGE_NONE, [Ntf_EVENT_MESSAGE ] = TL_TOP_MESSAGE_NONE,
/* Analytics tab */ /* Analytics tab */
/* Profile tab */ /* Profile tab */
}; };
@ -1871,79 +1863,57 @@ static void TL_PutFormGoToAction (const struct TL_Note *SocNot)
extern const char *Txt_not_available; extern const char *Txt_not_available;
char *Class; char *Class;
char *Anchor = NULL; char *Anchor = NULL;
const Act_Action_t TL_DefaultActions[TL_NUM_NOTE_TYPES] = static const Act_Action_t TL_DefaultActions[TL_NUM_NOTE_TYPES] =
{ {
ActUnk, // TL_NOTE_UNKNOWN [TL_NOTE_UNKNOWN ] = ActUnk,
/* Institution tab */
ActReqDatSeeDocIns, // TL_NOTE_INS_DOC_PUB_FILE
ActReqDatShaIns, // TL_NOTE_INS_SHA_PUB_FILE
/* Centre tab */
ActReqDatSeeDocCtr, // TL_NOTE_CTR_DOC_PUB_FILE
ActReqDatShaCtr, // TL_NOTE_CTR_SHA_PUB_FILE
/* Degree tab */
ActReqDatSeeDocDeg, // TL_NOTE_DEG_DOC_PUB_FILE
ActReqDatShaDeg, // TL_NOTE_DEG_SHA_PUB_FILE
/* Course tab */
ActReqDatSeeDocCrs, // TL_NOTE_CRS_DOC_PUB_FILE
ActReqDatShaCrs, // TL_NOTE_CRS_SHA_PUB_FILE
/* Assessment tab */
ActSeeOneExaAnn, // TL_NOTE_EXAM_ANNOUNCEMENT
/* Users tab */
/* Start tab */ /* Start tab */
ActUnk, // TL_NOTE_SOCIAL_POST (action not used) // TODO: Move to start tab [TL_NOTE_POST ] = ActUnk, // action not used
/* Institution tab */
[TL_NOTE_INS_DOC_PUB_FILE ] = ActReqDatSeeDocIns,
[TL_NOTE_INS_SHA_PUB_FILE ] = ActReqDatShaIns,
/* Centre tab */
[TL_NOTE_CTR_DOC_PUB_FILE ] = ActReqDatSeeDocCtr,
[TL_NOTE_CTR_SHA_PUB_FILE ] = ActReqDatShaCtr,
/* Degree tab */
[TL_NOTE_DEG_DOC_PUB_FILE ] = ActReqDatSeeDocDeg,
[TL_NOTE_DEG_SHA_PUB_FILE ] = ActReqDatShaDeg,
/* Course tab */
[TL_NOTE_CRS_DOC_PUB_FILE ] = ActReqDatSeeDocCrs,
[TL_NOTE_CRS_SHA_PUB_FILE ] = ActReqDatShaCrs,
/* Assessment tab */
[TL_NOTE_EXAM_ANNOUNCEMENT] = ActSeeOneExaAnn,
/* Users tab */
/* Messages tab */ /* Messages tab */
ActSeeFor, // TL_NOTE_FORUM_POST // TODO: Move down [TL_NOTE_NOTICE ] = ActSeeOneNot,
ActSeeOneNot, // TL_NOTE_NOTICE [TL_NOTE_FORUM_POST ] = ActSeeFor,
/* Analytics tab */
/* Statistics tab */
/* Profile tab */ /* Profile tab */
}; };
const char *TL_Icons[TL_NUM_NOTE_TYPES] = static const char *TL_Icons[TL_NUM_NOTE_TYPES] =
{ {
NULL, // TL_NOTE_UNKNOWN [TL_NOTE_UNKNOWN ] = NULL,
/* Institution tab */
"file.svg", // TL_NOTE_INS_DOC_PUB_FILE
"file.svg", // TL_NOTE_INS_SHA_PUB_FILE
/* Centre tab */
"file.svg", // TL_NOTE_CTR_DOC_PUB_FILE
"file.svg", // TL_NOTE_CTR_SHA_PUB_FILE
/* Degree tab */
"file.svg", // TL_NOTE_DEG_DOC_PUB_FILE
"file.svg", // TL_NOTE_DEG_SHA_PUB_FILE
/* Course tab */
"file.svg", // TL_NOTE_CRS_DOC_PUB_FILE
"file.svg", // TL_NOTE_CRS_SHA_PUB_FILE
/* Assessment tab */
"bullhorn.svg", // TL_NOTE_EXAM_ANNOUNCEMENT
/* Users tab */
/* Start tab */ /* Start tab */
NULL, // TL_NOTE_SOCIAL_POST (icon not used) [TL_NOTE_POST ] = NULL, // icon not used
/* Institution tab */
[TL_NOTE_INS_DOC_PUB_FILE ] = "file.svg",
[TL_NOTE_INS_SHA_PUB_FILE ] = "file.svg",
/* Centre tab */
[TL_NOTE_CTR_DOC_PUB_FILE ] = "file.svg",
[TL_NOTE_CTR_SHA_PUB_FILE ] = "file.svg",
/* Degree tab */
[TL_NOTE_DEG_DOC_PUB_FILE ] = "file.svg",
[TL_NOTE_DEG_SHA_PUB_FILE ] = "file.svg",
/* Course tab */
[TL_NOTE_CRS_DOC_PUB_FILE ] = "file.svg",
[TL_NOTE_CRS_SHA_PUB_FILE ] = "file.svg",
/* Assessment tab */
[TL_NOTE_EXAM_ANNOUNCEMENT] = "bullhorn.svg",
/* Users tab */
/* Messages tab */ /* Messages tab */
"comments.svg", // TL_NOTE_FORUM_POST // TODO: Move down [TL_NOTE_NOTICE ] = "sticky-note.svg",
"sticky-note.svg", // TL_NOTE_NOTICE [TL_NOTE_FORUM_POST ] = "comments.svg",
/* Analytics tab */
/* Statistics tab */
/* Profile tab */ /* Profile tab */
}; };
if (SocNot->Unavailable || // File/notice... pointed by this note is unavailable if (SocNot->Unavailable || // File/notice... pointed by this note is unavailable

View File

@ -50,7 +50,7 @@
typedef enum typedef enum
{ {
TL_PUB_UNKNOWN = 0, TL_PUB_UNKNOWN = 0,
TL_PUB_ORIGINAL_NOTE = 1, TL_PUB_ORIGINAL_NOTE = 1,
TL_PUB_SHARED_NOTE = 2, TL_PUB_SHARED_NOTE = 2,
TL_PUB_COMMENT_TO_NOTE = 3, TL_PUB_COMMENT_TO_NOTE = 3,
} TL_PubType_t; } TL_PubType_t;
@ -61,39 +61,28 @@ typedef enum
typedef enum typedef enum
{ {
TL_NOTE_UNKNOWN = 0, TL_NOTE_UNKNOWN = 0,
/* Start tab */
TL_NOTE_POST = 10, // Post written directly in timeline
/* Institution tab */ /* Institution tab */
TL_NOTE_INS_DOC_PUB_FILE = 1, TL_NOTE_INS_DOC_PUB_FILE = 1, // Public file in documents of institution
TL_NOTE_INS_SHA_PUB_FILE = 2, TL_NOTE_INS_SHA_PUB_FILE = 2, // Public file in shared files of institution
/* Centre tab */ /* Centre tab */
TL_NOTE_CTR_DOC_PUB_FILE = 3, TL_NOTE_CTR_DOC_PUB_FILE = 3, // Public file in documents of centre
TL_NOTE_CTR_SHA_PUB_FILE = 4, TL_NOTE_CTR_SHA_PUB_FILE = 4, // Public file in shared files of centre
/* Degree tab */ /* Degree tab */
TL_NOTE_DEG_DOC_PUB_FILE = 5, TL_NOTE_DEG_DOC_PUB_FILE = 5, // Public file in documents of degree
TL_NOTE_DEG_SHA_PUB_FILE = 6, TL_NOTE_DEG_SHA_PUB_FILE = 6, // Public file in shared files of degree
/* Course tab */ /* Course tab */
TL_NOTE_CRS_DOC_PUB_FILE = 7, TL_NOTE_CRS_DOC_PUB_FILE = 7, // Public file in documents of course
TL_NOTE_CRS_SHA_PUB_FILE = 8, TL_NOTE_CRS_SHA_PUB_FILE = 8, // Public file in shared files of course
/* Assessment tab */ /* Assessment tab */
TL_NOTE_EXAM_ANNOUNCEMENT = 9, TL_NOTE_EXAM_ANNOUNCEMENT = 9, // Exam announcement in a course
/* Users tab */ /* Users tab */
/* Start tab */ // TODO: Move to the top
TL_NOTE_POST = 10,
TL_NOTE_FORUM_POST = 11,
/* Messages tab */ /* Messages tab */
TL_NOTE_NOTICE = 12, TL_NOTE_NOTICE = 12, // A public notice in a course
TL_NOTE_FORUM_POST = 11, // Post in global/swad forums
/* Statistics tab */ /* Analytics tab */
/* Profile tab */ /* Profile tab */
} TL_NoteType_t; } TL_NoteType_t;
#define TL_NUM_TOP_MESSAGES (1 + 6) #define TL_NUM_TOP_MESSAGES (1 + 6)
@ -101,7 +90,7 @@ typedef enum
{ {
TL_TOP_MESSAGE_NONE = 0, TL_TOP_MESSAGE_NONE = 0,
TL_TOP_MESSAGE_COMMENTED = 1, TL_TOP_MESSAGE_COMMENTED = 1,
TL_TOP_MESSAGE_FAVED = 2, TL_TOP_MESSAGE_FAVED = 2,
TL_TOP_MESSAGE_UNFAVED = 3, TL_TOP_MESSAGE_UNFAVED = 3,
TL_TOP_MESSAGE_SHARED = 4, TL_TOP_MESSAGE_SHARED = 4,
TL_TOP_MESSAGE_UNSHARED = 5, TL_TOP_MESSAGE_UNSHARED = 5,

View File

@ -98,15 +98,15 @@ struct TT_Cell
}; };
/*****************************************************************************/ /*****************************************************************************/
/************************* Internal global variables *************************/ /************************** Private global variables *************************/
/*****************************************************************************/ /*****************************************************************************/
char *TT_ClassTypeDB[TT_NUM_CLASS_TYPES] = static const char *TT_ClassTypeDB[TT_NUM_CLASS_TYPES] =
{ {
"free", [TT_FREE ] = "free",
"lecture", [TT_LECTURE ] = "lecture",
"practical", [TT_PRACTICAL] = "practical",
"tutoring", [TT_TUTORING ] = "tutoring",
}; };
struct TT_Cell *TT_TimeTable[TT_DAYS_PER_WEEK]; struct TT_Cell *TT_TimeTable[TT_DAYS_PER_WEEK];