diff --git a/swad_action.c b/swad_action.c index ecd1a6834..e1d5fc5b2 100644 --- a/swad_action.c +++ b/swad_action.c @@ -1311,7 +1311,6 @@ Statistics: 1124. ActSeeAccCrs Query clicks to current course 1125. ActSeeAllStaCrs Show statistics of courses NEW. ActSeeMyUsgRep Show my usage report - NEW. ActPrnMyUsgRep Print my usage report Profile: 1126. ActFrmLogIn Show landing page (forms to log in and to create a new account) 1127. ActFrmRolSes Show form to log out and to change current role in this session @@ -2742,7 +2741,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActSeeAllStaCrs */{ 768,-1,TabSta,ActReqAccGbl ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Ind_ShowIndicatorsCourses ,NULL}, /* ActSeeMyUsgRep */{1582,-1,TabSta,ActReqMyUsgRep ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rep_ShowMyUsageReport ,NULL}, - /* ActPrnMyUsgRep */{1583, 5,TabSta,ActReqMyUsgRep ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Rep_PrintMyUsageReport ,NULL}, // TabPrf ****************************************************************** // Actions in menu: @@ -4441,7 +4439,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq ActRemDupUsr, // #1580 ActSeeMyAgd, // #1581 ActSeeMyUsgRep, // #1582 - ActPrnMyUsgRep, // #1583 + -1, // #1583 (obsolete action) ActChkUsrAcc, // #1584 ActAutUsrNew, // #1585 ActReqMyUsgRep, // #1586 diff --git a/swad_action.h b/swad_action.h index eb78692f6..9a069194c 100644 --- a/swad_action.h +++ b/swad_action.h @@ -72,7 +72,7 @@ typedef enum typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action -#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+246+186+156+172+36+31+87) +#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+246+186+156+172+36+30+87) #define Act_MAX_ACTION_COD 1586 @@ -1364,110 +1364,109 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica #define ActSeeAllStaCrs (ActUnbUsrLst+ 29) #define ActSeeMyUsgRep (ActUnbUsrLst+ 30) -#define ActPrnMyUsgRep (ActUnbUsrLst+ 31) /*****************************************************************************/ /******************************** Profile tab ********************************/ /*****************************************************************************/ // Actions in menu -#define ActFrmLogIn (ActPrnMyUsgRep+ 1) -#define ActFrmRolSes (ActPrnMyUsgRep+ 2) -#define ActMyCrs (ActPrnMyUsgRep+ 3) -#define ActSeeMyTT (ActPrnMyUsgRep+ 4) -#define ActSeeMyAgd (ActPrnMyUsgRep+ 5) -#define ActFrmUsrAcc (ActPrnMyUsgRep+ 6) -#define ActReqEdiRecCom (ActPrnMyUsgRep+ 7) -#define ActEdiPrf (ActPrnMyUsgRep+ 8) -#define ActAdmBrf (ActPrnMyUsgRep+ 9) -#define ActMFUAct (ActPrnMyUsgRep+10) +#define ActFrmLogIn (ActSeeMyUsgRep+ 1) +#define ActFrmRolSes (ActSeeMyUsgRep+ 2) +#define ActMyCrs (ActSeeMyUsgRep+ 3) +#define ActSeeMyTT (ActSeeMyUsgRep+ 4) +#define ActSeeMyAgd (ActSeeMyUsgRep+ 5) +#define ActFrmUsrAcc (ActSeeMyUsgRep+ 6) +#define ActReqEdiRecCom (ActSeeMyUsgRep+ 7) +#define ActEdiPrf (ActSeeMyUsgRep+ 8) +#define ActAdmBrf (ActSeeMyUsgRep+ 9) +#define ActMFUAct (ActSeeMyUsgRep+10) // Secondary actions -#define ActReqSndNewPwd (ActPrnMyUsgRep+11) -#define ActSndNewPwd (ActPrnMyUsgRep+12) -#define ActLogOut (ActPrnMyUsgRep+13) -#define ActAutUsrInt (ActPrnMyUsgRep+14) -#define ActAutUsrNew (ActPrnMyUsgRep+15) -#define ActAutUsrExt (ActPrnMyUsgRep+16) -#define ActAutUsrChgLan (ActPrnMyUsgRep+17) -#define ActAnnSee (ActPrnMyUsgRep+18) -#define ActChgMyRol (ActPrnMyUsgRep+19) -#define ActChkUsrAcc (ActPrnMyUsgRep+20) -#define ActCreUsrAcc (ActPrnMyUsgRep+21) -#define ActRemID_Me (ActPrnMyUsgRep+22) -#define ActNewIDMe (ActPrnMyUsgRep+23) -#define ActRemOldNic (ActPrnMyUsgRep+24) -#define ActChgNic (ActPrnMyUsgRep+25) -#define ActRemMaiMe (ActPrnMyUsgRep+26) -#define ActNewMaiMe (ActPrnMyUsgRep+27) -#define ActCnfMai (ActPrnMyUsgRep+28) -#define ActFrmChgMyPwd (ActPrnMyUsgRep+29) -#define ActChgPwd (ActPrnMyUsgRep+30) -#define ActReqRemMyAcc (ActPrnMyUsgRep+31) -#define ActRemMyAcc (ActPrnMyUsgRep+32) +#define ActReqSndNewPwd (ActSeeMyUsgRep+11) +#define ActSndNewPwd (ActSeeMyUsgRep+12) +#define ActLogOut (ActSeeMyUsgRep+13) +#define ActAutUsrInt (ActSeeMyUsgRep+14) +#define ActAutUsrNew (ActSeeMyUsgRep+15) +#define ActAutUsrExt (ActSeeMyUsgRep+16) +#define ActAutUsrChgLan (ActSeeMyUsgRep+17) +#define ActAnnSee (ActSeeMyUsgRep+18) +#define ActChgMyRol (ActSeeMyUsgRep+19) +#define ActChkUsrAcc (ActSeeMyUsgRep+20) +#define ActCreUsrAcc (ActSeeMyUsgRep+21) +#define ActRemID_Me (ActSeeMyUsgRep+22) +#define ActNewIDMe (ActSeeMyUsgRep+23) +#define ActRemOldNic (ActSeeMyUsgRep+24) +#define ActChgNic (ActSeeMyUsgRep+25) +#define ActRemMaiMe (ActSeeMyUsgRep+26) +#define ActNewMaiMe (ActSeeMyUsgRep+27) +#define ActCnfMai (ActSeeMyUsgRep+28) +#define ActFrmChgMyPwd (ActSeeMyUsgRep+29) +#define ActChgPwd (ActSeeMyUsgRep+30) +#define ActReqRemMyAcc (ActSeeMyUsgRep+31) +#define ActRemMyAcc (ActSeeMyUsgRep+32) -#define ActChgMyData (ActPrnMyUsgRep+33) +#define ActChgMyData (ActSeeMyUsgRep+33) -#define ActReqMyPho (ActPrnMyUsgRep+34) -#define ActDetMyPho (ActPrnMyUsgRep+35) -#define ActUpdMyPho (ActPrnMyUsgRep+36) -#define ActReqRemMyPho (ActPrnMyUsgRep+37) -#define ActRemMyPho (ActPrnMyUsgRep+38) +#define ActReqMyPho (ActSeeMyUsgRep+34) +#define ActDetMyPho (ActSeeMyUsgRep+35) +#define ActUpdMyPho (ActSeeMyUsgRep+36) +#define ActReqRemMyPho (ActSeeMyUsgRep+37) +#define ActRemMyPho (ActSeeMyUsgRep+38) -#define ActEdiPri (ActPrnMyUsgRep+39) -#define ActChgPriPho (ActPrnMyUsgRep+40) -#define ActChgPriPrf (ActPrnMyUsgRep+41) +#define ActEdiPri (ActSeeMyUsgRep+39) +#define ActChgPriPho (ActSeeMyUsgRep+40) +#define ActChgPriPrf (ActSeeMyUsgRep+41) -#define ActReqEdiMyIns (ActPrnMyUsgRep+42) -#define ActChgCtyMyIns (ActPrnMyUsgRep+43) -#define ActChgMyIns (ActPrnMyUsgRep+44) -#define ActChgMyCtr (ActPrnMyUsgRep+45) -#define ActChgMyDpt (ActPrnMyUsgRep+46) -#define ActChgMyOff (ActPrnMyUsgRep+47) -#define ActChgMyOffPho (ActPrnMyUsgRep+48) +#define ActReqEdiMyIns (ActSeeMyUsgRep+42) +#define ActChgCtyMyIns (ActSeeMyUsgRep+43) +#define ActChgMyIns (ActSeeMyUsgRep+44) +#define ActChgMyCtr (ActSeeMyUsgRep+45) +#define ActChgMyDpt (ActSeeMyUsgRep+46) +#define ActChgMyOff (ActSeeMyUsgRep+47) +#define ActChgMyOffPho (ActSeeMyUsgRep+48) -#define ActReqEdiMyNet (ActPrnMyUsgRep+49) -#define ActChgMyNet (ActPrnMyUsgRep+50) +#define ActReqEdiMyNet (ActSeeMyUsgRep+49) +#define ActChgMyNet (ActSeeMyUsgRep+50) -#define ActChgThe (ActPrnMyUsgRep+51) -#define ActReqChgLan (ActPrnMyUsgRep+52) -#define ActChgLan (ActPrnMyUsgRep+53) -#define ActChg1stDay (ActPrnMyUsgRep+54) -#define ActChgCol (ActPrnMyUsgRep+55) -#define ActHidLftCol (ActPrnMyUsgRep+56) -#define ActHidRgtCol (ActPrnMyUsgRep+57) -#define ActShoLftCol (ActPrnMyUsgRep+58) -#define ActShoRgtCol (ActPrnMyUsgRep+59) -#define ActChgIco (ActPrnMyUsgRep+60) -#define ActChgMnu (ActPrnMyUsgRep+61) -#define ActChgNtfPrf (ActPrnMyUsgRep+62) +#define ActChgThe (ActSeeMyUsgRep+51) +#define ActReqChgLan (ActSeeMyUsgRep+52) +#define ActChgLan (ActSeeMyUsgRep+53) +#define ActChg1stDay (ActSeeMyUsgRep+54) +#define ActChgCol (ActSeeMyUsgRep+55) +#define ActHidLftCol (ActSeeMyUsgRep+56) +#define ActHidRgtCol (ActSeeMyUsgRep+57) +#define ActShoLftCol (ActSeeMyUsgRep+58) +#define ActShoRgtCol (ActSeeMyUsgRep+59) +#define ActChgIco (ActSeeMyUsgRep+60) +#define ActChgMnu (ActSeeMyUsgRep+61) +#define ActChgNtfPrf (ActSeeMyUsgRep+62) -#define ActPrnUsrQR (ActPrnMyUsgRep+63) +#define ActPrnUsrQR (ActSeeMyUsgRep+63) -#define ActPrnMyTT (ActPrnMyUsgRep+64) -#define ActEdiTut (ActPrnMyUsgRep+65) -#define ActChgTut (ActPrnMyUsgRep+66) -#define ActChgMyTT1stDay (ActPrnMyUsgRep+67) +#define ActPrnMyTT (ActSeeMyUsgRep+64) +#define ActEdiTut (ActSeeMyUsgRep+65) +#define ActChgTut (ActSeeMyUsgRep+66) +#define ActChgMyTT1stDay (ActSeeMyUsgRep+67) -#define ActReqRemFilBrf (ActPrnMyUsgRep+68) -#define ActRemFilBrf (ActPrnMyUsgRep+69) -#define ActRemFolBrf (ActPrnMyUsgRep+70) -#define ActCopBrf (ActPrnMyUsgRep+71) -#define ActPasBrf (ActPrnMyUsgRep+72) -#define ActRemTreBrf (ActPrnMyUsgRep+73) -#define ActFrmCreBrf (ActPrnMyUsgRep+74) -#define ActCreFolBrf (ActPrnMyUsgRep+75) -#define ActCreLnkBrf (ActPrnMyUsgRep+76) -#define ActRenFolBrf (ActPrnMyUsgRep+77) -#define ActRcvFilBrfDZ (ActPrnMyUsgRep+78) -#define ActRcvFilBrfCla (ActPrnMyUsgRep+79) -#define ActExpBrf (ActPrnMyUsgRep+80) -#define ActConBrf (ActPrnMyUsgRep+81) -#define ActZIPBrf (ActPrnMyUsgRep+82) -#define ActReqDatBrf (ActPrnMyUsgRep+83) -#define ActChgDatBrf (ActPrnMyUsgRep+84) -#define ActDowBrf (ActPrnMyUsgRep+85) +#define ActReqRemFilBrf (ActSeeMyUsgRep+68) +#define ActRemFilBrf (ActSeeMyUsgRep+69) +#define ActRemFolBrf (ActSeeMyUsgRep+70) +#define ActCopBrf (ActSeeMyUsgRep+71) +#define ActPasBrf (ActSeeMyUsgRep+72) +#define ActRemTreBrf (ActSeeMyUsgRep+73) +#define ActFrmCreBrf (ActSeeMyUsgRep+74) +#define ActCreFolBrf (ActSeeMyUsgRep+75) +#define ActCreLnkBrf (ActSeeMyUsgRep+76) +#define ActRenFolBrf (ActSeeMyUsgRep+77) +#define ActRcvFilBrfDZ (ActSeeMyUsgRep+78) +#define ActRcvFilBrfCla (ActSeeMyUsgRep+79) +#define ActExpBrf (ActSeeMyUsgRep+80) +#define ActConBrf (ActSeeMyUsgRep+81) +#define ActZIPBrf (ActSeeMyUsgRep+82) +#define ActReqDatBrf (ActSeeMyUsgRep+83) +#define ActChgDatBrf (ActSeeMyUsgRep+84) +#define ActDowBrf (ActSeeMyUsgRep+85) -#define ActReqRemOldBrf (ActPrnMyUsgRep+86) -#define ActRemOldBrf (ActPrnMyUsgRep+87) +#define ActReqRemOldBrf (ActSeeMyUsgRep+86) +#define ActRemOldBrf (ActSeeMyUsgRep+87) /*****************************************************************************/ /******************************** Public types *******************************/ diff --git a/swad_changelog.h b/swad_changelog.h index ef3fb8472..ea5c22e81 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -143,14 +143,18 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.10 (2016-10-03)" +#define Log_PLATFORM_VERSION "SWAD 16.11 (2016-10-03)" #define CSS_FILE "swad15.229.css" #define JS_FILE "swad15.238.1.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 /* - Version 16.11: Oct 03, 2016 Created permalinks to report files. (? lines) + * + Version 16.11: Oct 03, 2016 Created permalinks to report files. (205793 lines) + 1 change necessary in database: +UPDATE actions SET Obsolete='Y' WHERE ActCod='1583'; + Version 16.10: Oct 03, 2016 All user's figures are calculated in one click. (205795 lines) Version 16.9: Oct 03, 2016 User's usage report is written into a temporary file. (205795 lines) Version 16.8.1: Oct 03, 2016 Do not show courses with a few clicks in user's usage report. (205747 lines) diff --git a/swad_file_browser.c b/swad_file_browser.c index d07824846..de606f1b7 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -1508,7 +1508,6 @@ static void Brw_PutIconNewFileOrFolder (void); static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size, struct FileMetadata *FileMetadata, const char *FileNameToShow); -static void Brw_PutIconFile (unsigned Size,Brw_FileType_t FileType,const char *FileName); static void Brw_WriteFileName (unsigned Level,bool IsPublic,Brw_FileType_t FileType, const char *PathInTree,const char *FileName,const char *FileNameToShow); static void Brw_GetFileNameToShow (Brw_FileBrowser_t FileBrowser,unsigned Level,Brw_FileType_t FileType, @@ -5860,7 +5859,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size, /***************************** Put icon of a file ****************************/ /*****************************************************************************/ -static void Brw_PutIconFile (unsigned Size,Brw_FileType_t FileType,const char *FileName) +void Brw_PutIconFile (unsigned Size,Brw_FileType_t FileType,const char *FileName) { extern const char *Txt_Link; extern const char *Txt_X_file; diff --git a/swad_file_browser.h b/swad_file_browser.h index 1785a79cc..4a73643a2 100644 --- a/swad_file_browser.h +++ b/swad_file_browser.h @@ -222,6 +222,8 @@ void Brw_CalcSizeOfDir (char *Path); void Brw_SetFullPathInTree (const char *PathInTreeUntilFileOrFolder,const char *FilFolLnkName); +void Brw_PutIconFile (unsigned Size,Brw_FileType_t FileType,const char *FileName); + void Brw_CreateTmpPublicLinkToPrivateFile (const char *FullPathIncludingFile, const char *FileName); diff --git a/swad_info.c b/swad_info.c index 03ba09ccd..1cc7e1c81 100644 --- a/swad_info.c +++ b/swad_info.c @@ -1887,7 +1887,6 @@ static bool Inf_CheckAndShowRichTxt (void) int Inf_WritePlainTextIntoHTMLBuffer (char **HTMLBuffer) { - extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES]; extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES]; char TxtHTML[Cns_MAX_BYTES_LONG_TEXT+1]; char FileNameHTMLTmp[PATH_MAX+1]; @@ -1914,16 +1913,7 @@ int Inf_WritePlainTextIntoHTMLBuffer (char **HTMLBuffer) "Can not create temporary file"); /***** Write start of HTML code *****/ - fprintf (FileHTMLTmp,"\n" - "\n" - "
\n" - "\n" - "