Version 16.235.2

This commit is contained in:
Antonio Cañas Vargas 2017-06-06 19:54:47 +02:00
parent ee38af9390
commit 82964a2b29
2 changed files with 47 additions and 38 deletions

View File

@ -1966,7 +1966,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActAdmTchCrsGrp */{1525, 7,TabFil,ActAdmTchCrsGrp ,0x3F0,0x3C0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder64x64.gif" },
/* ActAdmShaCrsGrp */{ 461, 8,TabFil,ActAdmShaCrsGrp ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
/* ActAdmAsgWrkUsr */{ 792, 9,TabFil,ActAdmAsgWrkUsr ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"editfolderuser64x64.gif"},
/* ActReqAsgWrkCrs */{ 899,10,TabFil,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_AskEditWorksCrs ,"folderusers64x64.gif" },
/* ActReqAsgWrkCrs */{ 899,10,TabFil,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_AskEditWorksCrs ,"folderusers64x64.gif" },
/* ActSeeAdmMrk */{ 17,11,TabFil,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"grades64x64.gif" },
// Actions not in menu:
@ -2312,43 +2312,43 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActChgDatWrkUsr */{1042,-1,TabUnk,ActAdmAsgWrkUsr ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowWrkUsr */{1118,-1,TabUnk,ActAdmAsgWrkUsr ,0x008, 0, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActReqRemFilAsgCrs*/{ 837,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilAsgCrs */{ 838,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolAsgCrs */{ 820,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopAsgCrs */{ 836,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasAsgCrs */{ 821,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreAsgCrs */{ 822,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreAsgCrs */{ 817,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolAsgCrs */{ 818,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkAsgCrs */{1233,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolAsgCrs */{ 823,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilAsgCrsDZ */{1220,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone ,NULL ,NULL},
/* ActRcvFilAsgCrsCla*/{ 846,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpAsgCrs */{ 819,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConAsgCrs */{ 835,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPAsgCrs */{1132,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatAsgCrs */{1043,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatAsgCrs */{1044,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowAsgCrs */{1119,-1,TabUnk,ActReqAsgWrkCrs ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActReqRemFilAsgCrs*/{ 837,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilAsgCrs */{ 838,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolAsgCrs */{ 820,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopAsgCrs */{ 836,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasAsgCrs */{ 821,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreAsgCrs */{ 822,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreAsgCrs */{ 817,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolAsgCrs */{ 818,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkAsgCrs */{1233,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolAsgCrs */{ 823,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilAsgCrsDZ */{1220,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone ,NULL ,NULL},
/* ActRcvFilAsgCrsCla*/{ 846,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpAsgCrs */{ 819,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConAsgCrs */{ 835,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPAsgCrs */{1132,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatAsgCrs */{1043,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatAsgCrs */{1044,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowAsgCrs */{1119,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActReqRemFilWrkCrs*/{ 289,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilWrkCrs */{ 209,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolWrkCrs */{ 210,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopWrkCrs */{ 312,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasWrkCrs */{ 319,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreWrkCrs */{ 279,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreWrkCrs */{ 205,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolWrkCrs */{ 206,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkWrkCrs */{1229,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolWrkCrs */{ 208,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilWrkCrsDZ */{1221,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone ,NULL ,NULL},
/* ActRcvFilWrkCrsCla*/{ 207,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpWrkCrs */{ 416,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConWrkCrs */{ 424,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPWrkCrs */{1133,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatWrkCrs */{1045,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatWrkCrs */{1046,-1,TabUnk,ActReqAsgWrkCrs ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowWrkCrs */{1120,-1,TabUnk,ActReqAsgWrkCrs ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActReqRemFilWrkCrs*/{ 289,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilWrkCrs */{ 209,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolWrkCrs */{ 210,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopWrkCrs */{ 312,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasWrkCrs */{ 319,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreWrkCrs */{ 279,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreWrkCrs */{ 205,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolWrkCrs */{ 206,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkWrkCrs */{1229,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolWrkCrs */{ 208,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilWrkCrsDZ */{1221,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone ,NULL ,NULL},
/* ActRcvFilWrkCrsCla*/{ 207,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpWrkCrs */{ 416,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConWrkCrs */{ 424,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPWrkCrs */{1133,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatWrkCrs */{1045,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatWrkCrs */{1046,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowWrkCrs */{1120,-1,TabUnk,ActReqAsgWrkCrs ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActChgToSeeMrk */{1198,-1,TabUnk,ActSeeAdmMrk ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},

View File

@ -230,17 +230,26 @@
// TODO: Link names are too short ==> add more length, for example: "A guide to building and understanding the physics of Water Rockets"
// TODO: Fix bug: Error when a link end in a dot. Example: "A guide to building..." --> "A guide to building._..url" (two dots)
// TODO: List of places in drop-down menu should be ordered by name
// TODO: Cuando sólo se cambian los grupos y no el rol de un profesor ya existente, no sale ningún mensaje. se haga lo que se haga en la edición debería salir un mensaje del tipo "Cambios realizados"
// TODO: En listado de accesos, las fechas (no el día de la semana) deberían ir alineadas a la derecha.
// TODO: Fix bug: un profesor no editor no puede confirmar DNI? Si es así, no le debería salir el enlace "Confirmar ID", y si queremos que pueda, hay que darle permisos
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.235.1 (2017-06-04)"
#define Log_PLATFORM_VERSION "SWAD 16.235.2 (2017-06-04)"
#define CSS_FILE "swad16.235.1.css"
#define JS_FILE "swad16.206.3.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.235.2: Jun 04, 2017 Non-editing teacher can access and edit works of students. (221032 lines)
Version 16.235.1: Jun 04, 2017 Limited length of connected users at right column. (221027 lines)
Version 16.235: Jun 04, 2017 Fixed bug in notifications about enrolment as a non-editing teacher.
Fixed bugs and code refactoring related to users enrolment. (221018 lines)