Version 22.12: Sep 20, 2022 Links to marks file in program.

This commit is contained in:
acanas 2022-09-20 01:30:49 +02:00
parent 1d448bc687
commit 9ef7ef738e
7 changed files with 164 additions and 85 deletions

View File

@ -1248,6 +1248,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActExpSeeMrkCrs ] = { 528,-1,TabUnk,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ExpandFileTree ,NULL ,NULL},
[ActConSeeMrkCrs ] = { 527,-1,TabUnk,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_204_NO_CONT,Brw_ContractFileTree ,NULL ,NULL},
[ActReqDatSeeMrkCrs ] = {1086,-1,TabUnk,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL},
[ActReqLnkSeeMrkCrs ] = {1939,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_GetLinkToFile ,NULL},
[ActSeeMyMrkCrs ] = { 523,-1,TabUnk,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,Mrk_ShowMyMarks ,NULL ,NULL},
[ActSeeMrkGrp ] = {1204,-1,TabUnk,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
@ -1277,6 +1278,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActHidMrkCrs ] = {1192,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_SetDocumentAsHidden ,NULL},
[ActReqDatAdmMrkCrs ] = {1035,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ShowFileMetadata ,NULL},
[ActChgDatAdmMrkCrs ] = {1036,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_ChgFileMetadata ,NULL},
[ActReqLnkAdmMrkCrs ] = {1940,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Brw_GetLinkToFile ,NULL},
[ActDowAdmMrkCrs ] = {1121,-1,TabUnk,ActSeeAdmMrk ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
[ActChgNumRowHeaCrs ] = { 503,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mrk_ChangeNumRowsHeader ,NULL},
[ActChgNumRowFooCrs ] = { 504,-1,TabUnk,ActSeeAdmMrk ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Mrk_ChangeNumRowsFooter ,NULL},
@ -3787,6 +3789,8 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
ActReqLnkExa, // #1936
ActReqLnkSvy, // #1937
ActReqLnkAtt, // #1938
ActReqLnkSeeMrkCrs, // #1939
ActReqLnkAdmMrkCrs, // #1940
};
/*****************************************************************************/

View File

@ -65,7 +65,7 @@ typedef enum
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
#define Act_MAX_ACTION_COD 1938
#define Act_MAX_ACTION_COD 1940
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 13
@ -1194,82 +1194,84 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
#define ActExpSeeMrkCrs (ActRemSvyQst + 366)
#define ActConSeeMrkCrs (ActRemSvyQst + 367)
#define ActReqDatSeeMrkCrs (ActRemSvyQst + 368)
#define ActSeeMyMrkCrs (ActRemSvyQst + 369)
#define ActReqLnkSeeMrkCrs (ActRemSvyQst + 369)
#define ActSeeMyMrkCrs (ActRemSvyQst + 370)
#define ActSeeMrkGrp (ActRemSvyQst + 370)
#define ActExpSeeMrkGrp (ActRemSvyQst + 371)
#define ActConSeeMrkGrp (ActRemSvyQst + 372)
#define ActReqDatSeeMrkGrp (ActRemSvyQst + 373)
#define ActSeeMyMrkGrp (ActRemSvyQst + 374)
#define ActSeeMrkGrp (ActRemSvyQst + 371)
#define ActExpSeeMrkGrp (ActRemSvyQst + 372)
#define ActConSeeMrkGrp (ActRemSvyQst + 373)
#define ActReqDatSeeMrkGrp (ActRemSvyQst + 374)
#define ActSeeMyMrkGrp (ActRemSvyQst + 375)
#define ActChgToAdmMrk (ActRemSvyQst + 375)
#define ActChgToAdmMrk (ActRemSvyQst + 376)
#define ActAdmMrkCrs (ActRemSvyQst + 376)
#define ActReqRemFilMrkCrs (ActRemSvyQst + 377)
#define ActRemFilMrkCrs (ActRemSvyQst + 378)
#define ActRemFolMrkCrs (ActRemSvyQst + 379)
#define ActCopMrkCrs (ActRemSvyQst + 380)
#define ActPasMrkCrs (ActRemSvyQst + 381)
#define ActRemTreMrkCrs (ActRemSvyQst + 382)
#define ActFrmCreMrkCrs (ActRemSvyQst + 383)
#define ActCreFolMrkCrs (ActRemSvyQst + 384)
#define ActRenFolMrkCrs (ActRemSvyQst + 385)
#define ActRcvFilMrkCrsDZ (ActRemSvyQst + 386)
#define ActRcvFilMrkCrsCla (ActRemSvyQst + 387)
#define ActExpAdmMrkCrs (ActRemSvyQst + 388)
#define ActConAdmMrkCrs (ActRemSvyQst + 389)
#define ActZIPAdmMrkCrs (ActRemSvyQst + 390)
#define ActUnhMrkCrs (ActRemSvyQst + 391)
#define ActHidMrkCrs (ActRemSvyQst + 392)
#define ActReqDatAdmMrkCrs (ActRemSvyQst + 393)
#define ActChgDatAdmMrkCrs (ActRemSvyQst + 394)
#define ActDowAdmMrkCrs (ActRemSvyQst + 395)
#define ActChgNumRowHeaCrs (ActRemSvyQst + 396)
#define ActChgNumRowFooCrs (ActRemSvyQst + 397)
#define ActAdmMrkCrs (ActRemSvyQst + 377)
#define ActReqRemFilMrkCrs (ActRemSvyQst + 378)
#define ActRemFilMrkCrs (ActRemSvyQst + 379)
#define ActRemFolMrkCrs (ActRemSvyQst + 380)
#define ActCopMrkCrs (ActRemSvyQst + 381)
#define ActPasMrkCrs (ActRemSvyQst + 382)
#define ActRemTreMrkCrs (ActRemSvyQst + 383)
#define ActFrmCreMrkCrs (ActRemSvyQst + 384)
#define ActCreFolMrkCrs (ActRemSvyQst + 385)
#define ActRenFolMrkCrs (ActRemSvyQst + 386)
#define ActRcvFilMrkCrsDZ (ActRemSvyQst + 387)
#define ActRcvFilMrkCrsCla (ActRemSvyQst + 388)
#define ActExpAdmMrkCrs (ActRemSvyQst + 389)
#define ActConAdmMrkCrs (ActRemSvyQst + 390)
#define ActZIPAdmMrkCrs (ActRemSvyQst + 391)
#define ActUnhMrkCrs (ActRemSvyQst + 392)
#define ActHidMrkCrs (ActRemSvyQst + 393)
#define ActReqDatAdmMrkCrs (ActRemSvyQst + 394)
#define ActChgDatAdmMrkCrs (ActRemSvyQst + 395)
#define ActReqLnkAdmMrkCrs (ActRemSvyQst + 396)
#define ActDowAdmMrkCrs (ActRemSvyQst + 397)
#define ActChgNumRowHeaCrs (ActRemSvyQst + 398)
#define ActChgNumRowFooCrs (ActRemSvyQst + 399)
#define ActAdmMrkGrp (ActRemSvyQst + 398)
#define ActReqRemFilMrkGrp (ActRemSvyQst + 399)
#define ActRemFilMrkGrp (ActRemSvyQst + 400)
#define ActRemFolMrkGrp (ActRemSvyQst + 401)
#define ActCopMrkGrp (ActRemSvyQst + 402)
#define ActPasMrkGrp (ActRemSvyQst + 403)
#define ActRemTreMrkGrp (ActRemSvyQst + 404)
#define ActFrmCreMrkGrp (ActRemSvyQst + 405)
#define ActCreFolMrkGrp (ActRemSvyQst + 406)
#define ActRenFolMrkGrp (ActRemSvyQst + 407)
#define ActRcvFilMrkGrpDZ (ActRemSvyQst + 408)
#define ActRcvFilMrkGrpCla (ActRemSvyQst + 409)
#define ActExpAdmMrkGrp (ActRemSvyQst + 410)
#define ActConAdmMrkGrp (ActRemSvyQst + 411)
#define ActZIPAdmMrkGrp (ActRemSvyQst + 412)
#define ActUnhMrkGrp (ActRemSvyQst + 413)
#define ActHidMrkGrp (ActRemSvyQst + 414)
#define ActReqDatAdmMrkGrp (ActRemSvyQst + 415)
#define ActChgDatAdmMrkGrp (ActRemSvyQst + 416)
#define ActDowAdmMrkGrp (ActRemSvyQst + 417)
#define ActChgNumRowHeaGrp (ActRemSvyQst + 418)
#define ActChgNumRowFooGrp (ActRemSvyQst + 419)
#define ActAdmMrkGrp (ActRemSvyQst + 400)
#define ActReqRemFilMrkGrp (ActRemSvyQst + 401)
#define ActRemFilMrkGrp (ActRemSvyQst + 402)
#define ActRemFolMrkGrp (ActRemSvyQst + 403)
#define ActCopMrkGrp (ActRemSvyQst + 404)
#define ActPasMrkGrp (ActRemSvyQst + 405)
#define ActRemTreMrkGrp (ActRemSvyQst + 406)
#define ActFrmCreMrkGrp (ActRemSvyQst + 407)
#define ActCreFolMrkGrp (ActRemSvyQst + 408)
#define ActRenFolMrkGrp (ActRemSvyQst + 409)
#define ActRcvFilMrkGrpDZ (ActRemSvyQst + 410)
#define ActRcvFilMrkGrpCla (ActRemSvyQst + 411)
#define ActExpAdmMrkGrp (ActRemSvyQst + 412)
#define ActConAdmMrkGrp (ActRemSvyQst + 413)
#define ActZIPAdmMrkGrp (ActRemSvyQst + 414)
#define ActUnhMrkGrp (ActRemSvyQst + 415)
#define ActHidMrkGrp (ActRemSvyQst + 416)
#define ActReqDatAdmMrkGrp (ActRemSvyQst + 417)
#define ActChgDatAdmMrkGrp (ActRemSvyQst + 418)
#define ActDowAdmMrkGrp (ActRemSvyQst + 419)
#define ActChgNumRowHeaGrp (ActRemSvyQst + 420)
#define ActChgNumRowFooGrp (ActRemSvyQst + 421)
#define ActReqRemFilBrf (ActRemSvyQst + 420)
#define ActRemFilBrf (ActRemSvyQst + 421)
#define ActRemFolBrf (ActRemSvyQst + 422)
#define ActCopBrf (ActRemSvyQst + 423)
#define ActPasBrf (ActRemSvyQst + 424)
#define ActRemTreBrf (ActRemSvyQst + 425)
#define ActFrmCreBrf (ActRemSvyQst + 426)
#define ActCreFolBrf (ActRemSvyQst + 427)
#define ActCreLnkBrf (ActRemSvyQst + 428)
#define ActRenFolBrf (ActRemSvyQst + 429)
#define ActRcvFilBrfDZ (ActRemSvyQst + 430)
#define ActRcvFilBrfCla (ActRemSvyQst + 431)
#define ActExpBrf (ActRemSvyQst + 432)
#define ActConBrf (ActRemSvyQst + 433)
#define ActZIPBrf (ActRemSvyQst + 434)
#define ActReqDatBrf (ActRemSvyQst + 435)
#define ActChgDatBrf (ActRemSvyQst + 436)
#define ActDowBrf (ActRemSvyQst + 437)
#define ActReqRemOldBrf (ActRemSvyQst + 438)
#define ActRemOldBrf (ActRemSvyQst + 439)
#define ActReqRemFilBrf (ActRemSvyQst + 422)
#define ActRemFilBrf (ActRemSvyQst + 423)
#define ActRemFolBrf (ActRemSvyQst + 424)
#define ActCopBrf (ActRemSvyQst + 425)
#define ActPasBrf (ActRemSvyQst + 426)
#define ActRemTreBrf (ActRemSvyQst + 427)
#define ActFrmCreBrf (ActRemSvyQst + 428)
#define ActCreFolBrf (ActRemSvyQst + 429)
#define ActCreLnkBrf (ActRemSvyQst + 430)
#define ActRenFolBrf (ActRemSvyQst + 431)
#define ActRcvFilBrfDZ (ActRemSvyQst + 432)
#define ActRcvFilBrfCla (ActRemSvyQst + 433)
#define ActExpBrf (ActRemSvyQst + 434)
#define ActConBrf (ActRemSvyQst + 435)
#define ActZIPBrf (ActRemSvyQst + 436)
#define ActReqDatBrf (ActRemSvyQst + 437)
#define ActChgDatBrf (ActRemSvyQst + 438)
#define ActDowBrf (ActRemSvyQst + 439)
#define ActReqRemOldBrf (ActRemSvyQst + 440)
#define ActRemOldBrf (ActRemSvyQst + 441)
/*****************************************************************************/
/******************************* Users tab ***********************************/

View File

@ -3339,7 +3339,8 @@ void Att_WriteAttEventInCrsProgram (long AttCod,bool PutFormToGo)
if (PutFormToGo)
{
Frm_BeginForm (ActSeeOneAtt);
Att_PutParamAttCod (AttCod);
Att_PutParamAttCod (AttCod);
Att_PutParamsCodGrps (AttCod);
HTM_BUTTON_Submit_Begin (Txt_Actions[ActSeeOneAtt],
"class=\"LM BT_LINK PRG_RSC_%s\"",
The_GetSuffix ());

View File

@ -454,13 +454,13 @@ static const Act_Action_t Brw_ActReqLnk[Brw_NUM_TYPES_FILE_BROWSER] =
{
[Brw_UNKNOWN ] = ActUnk,
[Brw_SHOW_DOC_CRS] = ActReqLnkSeeDocCrs,
[Brw_SHOW_MRK_CRS] = ActUnk, // ActReqLnkSeeMrkCrs,
[Brw_SHOW_MRK_CRS] = ActReqLnkSeeMrkCrs,
[Brw_ADMI_DOC_CRS] = ActReqLnkAdmDocCrs,
[Brw_ADMI_SHR_CRS] = ActUnk,
[Brw_ADMI_SHR_GRP] = ActUnk,
[Brw_ADMI_WRK_USR] = ActUnk,
[Brw_ADMI_WRK_CRS] = ActUnk,
[Brw_ADMI_MRK_CRS] = ActUnk, // ActReqLnkAdmMrkCrs,
[Brw_ADMI_MRK_CRS] = ActReqLnkAdmMrkCrs,
[Brw_ADMI_BRF_USR] = ActUnk,
[Brw_SHOW_DOC_GRP] = ActUnk,
[Brw_ADMI_DOC_GRP] = ActUnk,
@ -1890,6 +1890,7 @@ void Brw_GetParAndInitFileBrowser (void)
case ActExpSeeMrkCrs:
case ActConSeeMrkCrs:
case ActReqDatSeeMrkCrs:
case ActReqLnkSeeMrkCrs:
case ActSeeMyMrkCrs:
Gbl.FileBrowser.Type = Brw_SHOW_MRK_CRS;
break;
@ -1924,6 +1925,7 @@ void Brw_GetParAndInitFileBrowser (void)
case ActHidMrkCrs:
case ActReqDatAdmMrkCrs:
case ActChgDatAdmMrkCrs:
case ActReqLnkAdmMrkCrs:
case ActDowAdmMrkCrs:
case ActChgNumRowHeaCrs:
case ActChgNumRowFooCrs:
@ -5327,6 +5329,7 @@ void Brw_GetLinkToFile (void)
extern const char *Txt_Link_to_resource_X_copied_into_clipboard;
struct FileMetadata FileMetadata;
bool Found;
PrgRsc_Type_t Type;
/***** Get parameters related to file browser *****/
Brw_GetParAndInitFileBrowser ();
@ -5339,7 +5342,22 @@ void Brw_GetLinkToFile (void)
if (Found)
{
/***** Copy link to file into resource clipboard *****/
Prg_DB_CopyToClipboard (PrgRsc_DOCUMENT,FileMetadata.FilCod);
switch (Gbl.Action.Act)
{
case ActReqLnkSeeDocCrs:
case ActReqLnkAdmDocCrs:
Type = PrgRsc_DOCUMENT;
break;
case ActReqLnkSeeMrkCrs:
case ActReqLnkAdmMrkCrs:
Type = PrgRsc_MARKS;
break;
default:
Type = PrgRsc_NONE; // Initialized to avoid warning
Err_WrongTypeExit ();
break;
}
Prg_DB_CopyToClipboard (Type,FileMetadata.FilCod);
/***** Write sucess message *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Link_to_resource_X_copied_into_clipboard,
@ -5366,7 +5384,9 @@ void Brw_WriteFileNameInCrsProgram (long FilCod,bool PutFormToDownload)
/***** Begin form to download file *****/
if (PutFormToDownload)
{
Frm_BeginForm (Brw_ActDowFile[Brw_SHOW_DOC_CRS]);
// TODO: Download directly or go to the file data?
// TODO: File browser in marks file is always "admin", but student shouldn't have access to view all marks
Frm_BeginForm (Brw_ActDowFile[FileMetadata.FileBrowser]);
Brw_PutImplicitParamsFileBrowser (&FileMetadata.FilFolLnk);
HTM_BUTTON_Submit_Begin (Txt_Download,
"class=\"LM BT_LINK PRG_RSC_%s\"",
@ -8064,7 +8084,9 @@ void Brw_ShowFileMetadata (void)
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM);
*/
PutIconToGetLink = (Gbl.FileBrowser.Type == Brw_SHOW_DOC_CRS || // Only document zone
Gbl.FileBrowser.Type == Brw_ADMI_DOC_CRS) &&
Gbl.FileBrowser.Type == Brw_ADMI_DOC_CRS ||
Gbl.FileBrowser.Type == Brw_SHOW_MRK_CRS ||
Gbl.FileBrowser.Type == Brw_ADMI_MRK_CRS) &&
(FileMetadata.FilFolLnk.Type == Brw_IS_FILE || // Only files or links
FileMetadata.FilFolLnk.Type == Brw_IS_LINK) &&
(Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM); // Only if I am superuser // TODO: Include teachers

View File

@ -606,10 +606,14 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia.
*/
#define Log_PLATFORM_VERSION "SWAD 22.11 (2022-09-20)"
#define Log_PLATFORM_VERSION "SWAD 22.12 (2022-09-20)"
#define CSS_FILE "swad22.7.css"
#define JS_FILE "swad21.100.js"
/*
Version 22.12: Sep 20, 2022 Links to marks file in program. (330985 lines)
Copy the following icon to icon public directory:
sudo cp icon/list-alt.svg /var/www/html/swad/icon/
Version 22.11: Sep 20, 2022 Links to attendance events in program. (330907 lines)
Version 22.10.1: Sep 19, 2022 Code refactoring in program. (330789 lines)
Version 22.10: Sep 19, 2022 Links to surveys in program. (330822 lines)

View File

@ -44,7 +44,7 @@
/**************************** Private constants ******************************/
/*****************************************************************************/
const char *Prg_ResourceTypesLogos[PrgRsc_NUM_TYPES] =
const char *Prg_ResourceTypesIcons[PrgRsc_NUM_TYPES] =
{
[PrgRsc_NONE ] = "link-slash.svg",
// gui TEACHING_GUIDE // Link to teaching guide
@ -444,7 +444,7 @@ static void PrgRsc_WriteRowViewResource (unsigned NumRsc,
The_GetSuffix (),The_GetColorRows1 (1));
HTM_Txt (Item->Resource.Title);
HTM_BR ();
Ico_PutIconOn (Prg_ResourceTypesLogos[Item->Resource.Link.Type],Ico_BLACK,
Ico_PutIconOn (Prg_ResourceTypesIcons[Item->Resource.Link.Type],Ico_BLACK,
Txt_RESOURCE_TYPES[Item->Resource.Link.Type]);
PrgRsc_WriteLinkName (&Item->Resource.Link,
true); // Put form
@ -499,7 +499,7 @@ static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources,
else
{
/* Show current link */
Ico_PutIconOn (Prg_ResourceTypesLogos[Item->Resource.Link.Type],Ico_BLACK,
Ico_PutIconOn (Prg_ResourceTypesIcons[Item->Resource.Link.Type],Ico_BLACK,
Txt_RESOURCE_TYPES[Item->Resource.Link.Type]);
PrgRsc_WriteLinkName (&Item->Resource.Link,
true); // Put form
@ -990,7 +990,7 @@ static void PrgRsc_WriteRowClipboard (bool SubmitOnClick,const struct Prg_Link *
" checked=\"checked\"");
/***** Type *****/
Ico_PutIconOn (Prg_ResourceTypesLogos[Link->Type],Ico_BLACK,
Ico_PutIconOn (Prg_ResourceTypesIcons[Link->Type],Ico_BLACK,
Txt_RESOURCE_TYPES[Link->Type]);
/***** Name *****/
@ -1016,7 +1016,7 @@ static void PrgRsc_WriteLinkName (const struct Prg_Link *Link,bool PutForm)
[PrgRsc_GAME ] = Gam_WriteGameInCrsProgram,
[PrgRsc_SURVEY ] = Svy_WriteSurveyInCrsProgram,
[PrgRsc_DOCUMENT ] = Brw_WriteFileNameInCrsProgram,
[PrgRsc_MARKS ] = NULL,
[PrgRsc_MARKS ] = Brw_WriteFileNameInCrsProgram,
[PrgRsc_ATTENDANCE_EVENT] = Att_WriteAttEventInCrsProgram,
[PrgRsc_FORUM_THREAD ] = NULL,
};
@ -1047,7 +1047,7 @@ static void PrgRsc_GetResourceTitleFromLink (struct Prg_Item *Item)
[PrgRsc_GAME ] = Gam_GetTitleFromGamCod,
[PrgRsc_SURVEY ] = Svy_GetTitleFromSvyCod,
[PrgRsc_DOCUMENT ] = Brw_GetFileNameFromFilCod,
[PrgRsc_MARKS ] = NULL,
[PrgRsc_MARKS ] = Brw_GetFileNameFromFilCod,
[PrgRsc_ATTENDANCE_EVENT] = Att_GetTitleFromAttCod,
[PrgRsc_FORUM_THREAD ] = NULL,
};

View File

@ -22485,6 +22485,29 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"See file metadata in marks zone of course" // Precisa de tradução
#elif L==10 // tr
"See file metadata in marks zone of course" // Çeviri lazim!
#endif
,
[ActReqLnkSeeMrkCrs] =
#if L==1 // ca
"Copy link to file when showing course marks area" // Necessita traducció
#elif L==2 // de
"Copy link to file when showing course marks area" // Need Übersetzung
#elif L==3 // en
"Copy link to file when showing course marks area"
#elif L==4 // es
"Copiar enlace a archivo viendo zona de calificaciones de asignatura"
#elif L==5 // fr
"Copy link to file when showing course marks area" // Besoin de traduction
#elif L==6 // gn
"Copiar enlace a archivo viendo zona de calificaciones de asignatura" // Okoteve traducción
#elif L==7 // it
"Copy link to file when showing course marks area" // Bisogno di traduzione
#elif L==8 // pl
"Copy link to file when showing course marks area" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Copy link to file when showing course marks area" // Precisa de tradução
#elif L==10 // tr
"Copy link to file when showing course marks area" // Çeviri lazim!
#endif
,
[ActSeeMyMrkCrs] =
@ -23083,6 +23106,29 @@ const char *Txt_Actions[Act_NUM_ACTIONS] =
"Change file metadata in marks management zone of course" // Precisa de tradução
#elif L==10 // tr
"Change file metadata in marks management zone of course" // Çeviri lazim!
#endif
,
[ActReqLnkAdmMrkCrs] =
#if L==1 // ca
"Copy link to file when managing course marks area" // Necessita traducció
#elif L==2 // de
"Copy link to file when managing course marks area" // Need Übersetzung
#elif L==3 // en
"Copy link to file when managing course marks area"
#elif L==4 // es
"Copiar enlace a archivo administrando zona de calificaciones de asignatura"
#elif L==5 // fr
"Copy link to file when managing course marks area" // Besoin de traduction
#elif L==6 // gn
"Copiar enlace a archivo administrando zona de calificaciones de asignatura" // Okoteve traducción
#elif L==7 // it
"Copy link to file when managing course marks area" // Bisogno di traduzione
#elif L==8 // pl
"Copy link to file when managing course marks area" // Potrzebujesz tlumaczenie
#elif L==9 // pt
"Copy link to file when managing course marks area" // Precisa de tradução
#elif L==10 // tr
"Copy link to file when managing course marks area" // Çeviri lazim!
#endif
,
[ActDowAdmMrkCrs] =