Version 15.249

This commit is contained in:
Antonio Cañas Vargas 2016-09-08 18:04:30 +02:00
parent 02f2e1c250
commit 0beb9a112b
9 changed files with 199 additions and 30 deletions

View File

@ -47,7 +47,7 @@ OBJS = swad_account.o swad_action.o swad_agenda.o swad_announcement.o \
swad_place.o swad_plugin.o swad_preference.o swad_profile.o \
swad_privacy.o \
swad_QR.o \
swad_record.o swad_role.o swad_RSS.o \
swad_record.o swad_report.o swad_role.o swad_RSS.o \
swad_scope.o swad_search.o swad_session.o swad_setup.o swad_social.o \
swad_statistic.o swad_string.o swad_survey.o swad_syllabus.o \
swad_tab.o swad_test.o swad_test_import.o swad_theme.o swad_timetable.o \

View File

@ -62,6 +62,7 @@
#include "swad_preference.h"
#include "swad_profile.h"
#include "swad_QR.h"
#include "swad_report.h"
#include "swad_search.h"
#include "swad_setup.h"
#include "swad_social.h"
@ -1284,6 +1285,7 @@ Statistics:
1100. ActSeePhoDeg Show a class photo with the average photos of the students of each degree
1101. ActReqStaCrs Request statistics of courses
1102. ActReqAccGbl Request query of clicks to the complete platform
NEW. ActSeeMyUsgRep Show my usage report
1103. ActSeeOneSvy Show one survey
1104. ActAnsSvy Answer a survey
@ -2705,6 +2707,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeePhoDeg */{ 447, 2,TabSta,ActSeePhoDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pho_ShowPhotoDegree ,"classphoto64x64.gif" },
/* ActReqStaCrs */{ 767, 3,TabSta,ActReqStaCrs ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ind_ReqIndicatorsCourses ,"tablestats64x64.gif" },
/* ActReqAccGbl */{ 591, 4,TabSta,ActReqAccGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sta_SetIniEndDates ,Sta_AskShowGblHits ,"stats64x64.gif" },
/* ActSeeMyUsgRep */{1582, 5,TabSta,ActSeeMyUsgRep ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rep_ShowMyUsageReport ,"report64x64.png" },
// Actions not in menu:
/* ActSeeOneSvy */{ 982,-1,TabSta,ActSeeAllSvy ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Svy_SeeOneSurvey ,NULL},
@ -4428,6 +4431,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActLstSimUsr, // #1579
ActRemDupUsr, // #1580
ActSeeMyAgd, // #1581
ActSeeMyUsgRep, // #1582
};
/*****************************************************************************/

View File

@ -72,9 +72,9 @@ 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+28+85)
#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+246+186+156+172+36+29+85)
#define Act_MAX_ACTION_COD 1581
#define Act_MAX_ACTION_COD 1582
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
@ -1335,31 +1335,33 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActSeePhoDeg (ActUnbUsrLst+ 3)
#define ActReqStaCrs (ActUnbUsrLst+ 4)
#define ActReqAccGbl (ActUnbUsrLst+ 5)
// Secondary actions
#define ActSeeOneSvy (ActUnbUsrLst+ 6)
#define ActAnsSvy (ActUnbUsrLst+ 7)
#define ActFrmNewSvy (ActUnbUsrLst+ 8)
#define ActEdiOneSvy (ActUnbUsrLst+ 9)
#define ActNewSvy (ActUnbUsrLst+ 10)
#define ActChgSvy (ActUnbUsrLst+ 11)
#define ActReqRemSvy (ActUnbUsrLst+ 12)
#define ActRemSvy (ActUnbUsrLst+ 13)
#define ActReqRstSvy (ActUnbUsrLst+ 14)
#define ActRstSvy (ActUnbUsrLst+ 15)
#define ActHidSvy (ActUnbUsrLst+ 16)
#define ActShoSvy (ActUnbUsrLst+ 17)
#define ActEdiOneSvyQst (ActUnbUsrLst+ 18)
#define ActRcvSvyQst (ActUnbUsrLst+ 19)
#define ActReqRemSvyQst (ActUnbUsrLst+ 20)
#define ActRemSvyQst (ActUnbUsrLst+ 21)
#define ActSeeMyUsgRep (ActUnbUsrLst+ 6)
#define ActSeeUseGbl (ActUnbUsrLst+ 22)
#define ActPrnPhoDeg (ActUnbUsrLst+ 23)
#define ActCalPhoDeg (ActUnbUsrLst+ 24)
#define ActSeeAccGbl (ActUnbUsrLst+ 25)
#define ActReqAccCrs (ActUnbUsrLst+ 26)
#define ActSeeAccCrs (ActUnbUsrLst+ 27)
#define ActSeeAllStaCrs (ActUnbUsrLst+ 28)
// Secondary actions
#define ActSeeOneSvy (ActUnbUsrLst+ 7)
#define ActAnsSvy (ActUnbUsrLst+ 8)
#define ActFrmNewSvy (ActUnbUsrLst+ 9)
#define ActEdiOneSvy (ActUnbUsrLst+ 10)
#define ActNewSvy (ActUnbUsrLst+ 11)
#define ActChgSvy (ActUnbUsrLst+ 12)
#define ActReqRemSvy (ActUnbUsrLst+ 13)
#define ActRemSvy (ActUnbUsrLst+ 14)
#define ActReqRstSvy (ActUnbUsrLst+ 15)
#define ActRstSvy (ActUnbUsrLst+ 16)
#define ActHidSvy (ActUnbUsrLst+ 17)
#define ActShoSvy (ActUnbUsrLst+ 18)
#define ActEdiOneSvyQst (ActUnbUsrLst+ 19)
#define ActRcvSvyQst (ActUnbUsrLst+ 20)
#define ActReqRemSvyQst (ActUnbUsrLst+ 21)
#define ActRemSvyQst (ActUnbUsrLst+ 22)
#define ActSeeUseGbl (ActUnbUsrLst+ 23)
#define ActPrnPhoDeg (ActUnbUsrLst+ 24)
#define ActCalPhoDeg (ActUnbUsrLst+ 25)
#define ActSeeAccGbl (ActUnbUsrLst+ 26)
#define ActReqAccCrs (ActUnbUsrLst+ 27)
#define ActSeeAccCrs (ActUnbUsrLst+ 28)
#define ActSeeAllStaCrs (ActUnbUsrLst+ 29)
/*****************************************************************************/
/******************************** Profile tab ********************************/

View File

@ -135,13 +135,15 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.248.2 (2016-09-07)"
#define Log_PLATFORM_VERSION "SWAD 15.249 (2016-09-08)"
#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 15.249: Sep 08, 2016 New option Statistics > Report. Not implemented. (204341 lines)
Version 15.248.3: Sep 07, 2016 Fixed bug related to attendance events in web service, reported by Rubén Martín Hidalgo. (? lines)
Version 15.248.2: Sep 07, 2016 Code refactoring related to boolean fields in database. (204201 lines)
Version 15.248.1: Sep 07, 2016 Fixed bugs related to hidden attendance events, reported by Rubén Martín Hidalgo. (204200 lines)
Version 15.248: Sep 06, 2016 New web service function removeAttendanceEvent. (204186 lines)

View File

@ -177,6 +177,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActSeePhoDeg,
ActReqStaCrs,
ActReqAccGbl,
ActSeeMyUsgRep,
},
// TabPrf **********
{

71
swad_report.c Normal file
View File

@ -0,0 +1,71 @@
// swad_report.c: report on my use of the platform
/*
SWAD (Shared Workspace At a Distance),
is a web platform developed at the University of Granada (Spain),
and used to support university teaching.
This file is part of SWAD core.
Copyright (C) 1999-2016 Antonio Cañas Vargas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General 3 License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*****************************************************************************/
/*********************************** Headers *********************************/
/*****************************************************************************/
// #include <stdbool.h> // For boolean type
// #include <stdio.h> // For sprintf
// #include <string.h> // For string functions
// #include "swad_database.h"
// #include "swad_follow.h"
// #include "swad_global.h"
// #include "swad_notification.h"
// #include "swad_profile.h"
// #include "swad_user.h"
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
/*****************************************************************************/
/***************************** Private constants *****************************/
/*****************************************************************************/
/*****************************************************************************/
/****************************** Internal types *******************************/
/*****************************************************************************/
/*****************************************************************************/
/************** External global variables from others modules ****************/
/*****************************************************************************/
// extern struct Globals Gbl;
/*****************************************************************************/
/************************* Internal global variables *************************/
/*****************************************************************************/
/*****************************************************************************/
/***************************** Private prototypes ****************************/
/*****************************************************************************/
/*****************************************************************************/
/********* Show my usage report (report on my use of the platform) ***********/
/*****************************************************************************/
void Rep_ShowMyUsageReport (void)
{
}

48
swad_report.h Normal file
View File

@ -0,0 +1,48 @@
// swad_report.h: report on my use of the platform
#ifndef _SWAD_REP
#define _SWAD_REP
/*
SWAD (Shared Workspace At a Distance in Spanish),
is a web platform developed at the University of Granada (Spain),
and used to support university teaching.
This file is part of SWAD core.
Copyright (C) 1999-2016 Antonio Cañas Vargas
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*****************************************************************************/
/********************************** Headers **********************************/
/*****************************************************************************/
// #include <stdlib.h> // For malloc
// #include "swad_user.h"
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
/*****************************************************************************/
/******************************** Public types *******************************/
/*****************************************************************************/
/*****************************************************************************/
/****************************** Public prototypes ****************************/
/*****************************************************************************/
void Rep_ShowMyUsageReport (void);
#endif

View File

@ -18947,7 +18947,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Visitas"
#endif
,
NULL,
// ActSeeMyUsgRep
#if L==1
"Informe"
#elif L==2
"Nutzungsbericht"
#elif L==3
"Report"
#elif L==4
"Informe"
#elif L==5
"Rapport"
#elif L==6
"Informe" // Okoteve traducción
#elif L==7
"Rapporto"
#elif L==8
"Raport"
#elif L==9
"Relat&oacute;rio"
#endif
,
NULL,
NULL,
NULL,
@ -20980,6 +21000,27 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Statystyki dost&eogon;p do platformy"
#elif L==9
"Estat&iacute;sticas de acesso &agrave; plataforma"
#endif
,
// ActSeeMyUsgRep
#if L==1
"Informe sobre el meu &uacute;s de la plataforma"
#elif L==2
"Bericht &uuml;ber meine Nutzung der Plattform"
#elif L==3
"Report on my use of the platform"
#elif L==4
"Informe sobre mi uso de la plataforma"
#elif L==5
"Rapport sur mon utilisation de la plate-forme"
#elif L==6
"Informe sobre mi uso de la plataforma" // Okoteve traducción
#elif L==7
"Relazione sulla mia utilizzo della piattaforma"
#elif L==8
"Raport o moim korzystania z platformy"
#elif L==9
"Relat&oacute;rio sobre o meu uso da plataforma"
#endif
,
NULL,

View File

@ -2116,7 +2116,7 @@ int swad__getAttendanceEvents (struct soap *soap,
"Requester must be a teacher");
/***** Query list of attendance events *****/
sprintf (Query,"SELECT AttCod,UsrCod,"
sprintf (Query,"SELECT AttCod,Hidden,UsrCod,"
"UNIX_TIMESTAMP(StartTime) AS ST,"
"UNIX_TIMESTAMP(EndTime) AS ET,"
"CommentTchVisible,Title,Txt"