mirror of https://github.com/acanas/swad-core.git
Version 16.7
This commit is contained in:
parent
44de356aab
commit
4dc2044a9e
|
@ -143,13 +143,14 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 16.6.3 (2016-10-02)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 16.7 (2016-10-02)"
|
||||
#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.7: Oct 02, 2016 Improvements user's usage report. (205645 lines)
|
||||
Version 16.6.3: Oct 02, 2016 Current time in user's usage report. (205559 lines)
|
||||
Version 16.6.2: Oct 02, 2016 Message translated. (205456 lines)
|
||||
Version 16.6.1: Oct 02, 2016 Message translated. (205454 lines)
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
#define Cfg_PLATFORM_SHORT_NAME "SWAD local"
|
||||
#define Cfg_PLATFORM_FULL_NAME "SWAD (Shared Workspace At a Distance)"
|
||||
#define Cfg_PLATFORM_SERVER "localhost" // Server name (main part of the URL)
|
||||
#define Cfg_URL_SWAD_SERVER "https://localhost/swad/" // With ending slash
|
||||
#define Cfg_URL_SWAD_CGI "https://localhost/swad" // Without ending slash
|
||||
#define Cfg_URL_SWAD_PUBLIC "https://localhost/swad" // Without ending slash
|
||||
#define Cfg_PATH_CGI_BIN "/usr/lib/cgi-bin/swad" // Directory for this CGI and other commands called by it
|
||||
|
@ -99,6 +100,7 @@
|
|||
#define Cfg_PLATFORM_SHORT_NAME "OpenSWAD"
|
||||
#define Cfg_PLATFORM_FULL_NAME "OpenSWAD (Open Shared Workspace At a Distance)"
|
||||
#define Cfg_PLATFORM_SERVER "openswad.org" // Server name (main part of the URL)
|
||||
#define Cfg_URL_SWAD_SERVER "https://openswad.org/" // With ending slash
|
||||
#define Cfg_URL_SWAD_CGI "https://openswad.org" // Without ending slash
|
||||
#define Cfg_URL_SWAD_PUBLIC "https://openswad.org/swad" // Without ending slash
|
||||
#define Cfg_PATH_CGI_BIN "/var/www/cgi-bin/swad" // Directory for this CGI and other commands called by it
|
||||
|
@ -164,6 +166,7 @@
|
|||
#define Cfg_PLATFORM_SHORT_NAME "SWAD"
|
||||
#define Cfg_PLATFORM_FULL_NAME "SWAD (Shared Workspace At a Distance)"
|
||||
#define Cfg_PLATFORM_SERVER "swad.ugr.es" // Server name (main part of the URL)
|
||||
#define Cfg_URL_SWAD_SERVER "https://swad.ugr.es/" // With ending slash
|
||||
#define Cfg_URL_SWAD_CGI "https://swad.ugr.es" // Without ending slash
|
||||
#define Cfg_URL_SWAD_PUBLIC "https://swad.ugr.es/swad" // Without ending slash
|
||||
#define Cfg_PATH_CGI_BIN "/var/www/cgi-bin" // Directory for this CGI and other commands called by it
|
||||
|
@ -234,6 +237,7 @@
|
|||
#define Cfg_PLATFORM_SHORT_NAME "SWADberry"
|
||||
#define Cfg_PLATFORM_FULL_NAME "SWADberry (Shared Workspace At a Distance on a Raspberry Pi)"
|
||||
#define Cfg_PLATFORM_SERVER "swadberry.ugr.es" // Server name (main part of the URL)
|
||||
#define Cfg_URL_SWAD_SERVER "https://swadberry.ugr.es/" // With ending slash
|
||||
#define Cfg_URL_SWAD_CGI "https://swadberry.ugr.es" // Without ending slash
|
||||
#define Cfg_URL_SWAD_PUBLIC "https://swadberry.ugr.es/swad" // Without ending slash
|
||||
#define Cfg_PATH_CGI_BIN "/usr/lib/cgi-bin/swad" // Directory for this CGI and other commands called by it
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
/***************************** Private constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Rep_MAX_BAR_WIDTH 90 // Maximum width of graphic bar
|
||||
#define Rep_MAX_BAR_WIDTH 80 // Maximum width of graphic bar
|
||||
// #define Rep_BLOCK "═" // HTML code for a block in graphic bar
|
||||
// #define Rep_BLOCK "▒" // HTML code for a block in graphic bar
|
||||
// #define Rep_BLOCK "█" // HTML code for a block in graphic bar
|
||||
|
@ -120,13 +120,17 @@ void Rep_PrintMyUsageReport (void)
|
|||
|
||||
static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
||||
{
|
||||
extern const char *Txt_Report_of_use_of_the_platform;
|
||||
extern const char *Txt_Report;
|
||||
extern const char *Txt_Report_of_use_of_PLATFORM;
|
||||
extern const char *Txt_Teaching_platform;
|
||||
extern const char *Txt_Name;
|
||||
extern const char *Txt_TAGLINE;
|
||||
extern const char *Txt_Personal_information;
|
||||
extern const char *Txt_User[Usr_NUM_SEXS];
|
||||
extern const char *Txt_ID;
|
||||
extern const char *Txt_Email;
|
||||
extern const char *Txt_Country;
|
||||
extern const char *Txt_Institution;
|
||||
extern const char *Txt_URL;
|
||||
extern const char *Txt_Figures;
|
||||
extern const char *Txt_TIME_Since;
|
||||
extern const char *Txt_TIME_until;
|
||||
|
@ -147,6 +151,7 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
extern const char *Txt_message;
|
||||
extern const char *Txt_messages;
|
||||
extern const char *Txt_Courses;
|
||||
extern const char *Txt_historical_log;
|
||||
extern const char *Txt_Hits;
|
||||
char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE+1];
|
||||
unsigned NumID;
|
||||
|
@ -189,28 +194,50 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
|
||||
/***** Start frame *****/
|
||||
if (SeeOrPrint == Rep_SEE)
|
||||
Lay_StartRoundFrame (NULL,Txt_Report_of_use_of_the_platform,
|
||||
Lay_StartRoundFrame (NULL,Txt_Report,
|
||||
Rep_PutIconToPrintMyUsageReport);
|
||||
fprintf (Gbl.F.Out,"<div class=\"LEFT_TOP\" style=\"margin:10px;\">");
|
||||
|
||||
/***** Head *****/
|
||||
fprintf (Gbl.F.Out,"<h1>%s</h1>",Txt_Report_of_use_of_the_platform);
|
||||
fprintf (Gbl.F.Out,"<h2>%s",Gbl.Usrs.Me.UsrDat.FullName);
|
||||
sprintf (Gbl.Title,Txt_Report_of_use_of_PLATFORM,Cfg_PLATFORM_SHORT_NAME);
|
||||
fprintf (Gbl.F.Out,"<div style=\"margin:10px; text-align:center;\">"
|
||||
"<h1>%s</h1>"
|
||||
"<h2>%s",
|
||||
Gbl.Title,
|
||||
Gbl.Usrs.Me.UsrDat.FullName);
|
||||
if (StrCurrentDate[0])
|
||||
fprintf (Gbl.F.Out,", %s",StrCurrentDate);
|
||||
fprintf (Gbl.F.Out,"</h2>");
|
||||
fprintf (Gbl.F.Out,"</h2>"
|
||||
"</div>");
|
||||
|
||||
fprintf (Gbl.F.Out,"<div style=\"margin:10px; text-align:left;\">");
|
||||
|
||||
/***** Platform *****/
|
||||
fprintf (Gbl.F.Out,"<h3>%s</h3>"
|
||||
"<ul>",
|
||||
Txt_Teaching_platform);
|
||||
|
||||
/* Platform name */
|
||||
fprintf (Gbl.F.Out,"<li>%s: %s, %s</li>",
|
||||
Txt_Name,
|
||||
Cfg_PLATFORM_FULL_NAME,Txt_TAGLINE);
|
||||
|
||||
/* Server URL */
|
||||
fprintf (Gbl.F.Out,"<li>%s: <a href=\"%s\">%s</a></li>",
|
||||
Txt_URL,Cfg_URL_SWAD_SERVER,Cfg_URL_SWAD_SERVER);
|
||||
|
||||
fprintf (Gbl.F.Out,"</ul>");
|
||||
|
||||
/***** Personal information *****/
|
||||
fprintf (Gbl.F.Out,"<h3>%s</h3>"
|
||||
"<ul>",
|
||||
Txt_Personal_information);
|
||||
|
||||
/***** User's name *****/
|
||||
/* User's name */
|
||||
fprintf (Gbl.F.Out,"<li>%s: <strong>%s</strong></li>",
|
||||
Txt_User[Gbl.Usrs.Me.UsrDat.Sex],
|
||||
Txt_Name,
|
||||
Gbl.Usrs.Me.UsrDat.FullName);
|
||||
|
||||
/***** User's ID *****/
|
||||
/* User's ID */
|
||||
fprintf (Gbl.F.Out,"<li>%s:",
|
||||
Txt_ID);
|
||||
for (NumID = 0;
|
||||
|
@ -223,18 +250,18 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
}
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
||||
/***** User's e-mail *****/
|
||||
/* User's e-mail */
|
||||
fprintf (Gbl.F.Out,"<li>%s: %s</li>",
|
||||
Txt_Email,
|
||||
Gbl.Usrs.Me.UsrDat.Email);
|
||||
|
||||
/***** User's country *****/
|
||||
/* User's country */
|
||||
Cty_GetCountryName (Gbl.Usrs.Me.UsrDat.CtyCod,CtyName);
|
||||
fprintf (Gbl.F.Out,"<li>%s: %s</li>",
|
||||
Txt_Country,
|
||||
CtyName);
|
||||
|
||||
/***** User's institution *****/
|
||||
/* User's institution */
|
||||
Ins.InsCod = Gbl.Usrs.Me.UsrDat.InsCod;
|
||||
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
|
||||
fprintf (Gbl.F.Out,"<li>%s: %s</li>",
|
||||
|
@ -248,10 +275,10 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
"<ul>",
|
||||
Txt_Figures);
|
||||
|
||||
/***** Get figures *****/
|
||||
/* Get figures */
|
||||
Prf_GetUsrFigures (Gbl.Usrs.Me.UsrDat.UsrCod,&UsrFigures);
|
||||
|
||||
/***** Time since first click until now *****/
|
||||
/* Time since first click until now */
|
||||
fprintf (Gbl.F.Out,"<li>%s ",Txt_TIME_Since);
|
||||
if (UsrFigures.FirstClickTimeUTC)
|
||||
{
|
||||
|
@ -282,7 +309,7 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
}
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
||||
/***** Number of clicks *****/
|
||||
/* Number of clicks */
|
||||
fprintf (Gbl.F.Out,"<li>%s: ",Txt_Clicks);
|
||||
if (UsrFigures.NumClicks >= 0)
|
||||
{
|
||||
|
@ -299,7 +326,7 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
fprintf (Gbl.F.Out,"?");
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
||||
/***** Number of files currently published *****/
|
||||
/* Number of files currently published */
|
||||
if ((NumFiles = Brw_GetNumFilesUsr (Gbl.Usrs.Me.UsrDat.UsrCod)))
|
||||
NumPublicFiles = Brw_GetNumPublicFilesUsr (Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
else
|
||||
|
@ -313,7 +340,7 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
Txt_files,
|
||||
NumPublicFiles,Txt_public_FILES);
|
||||
|
||||
/***** Number of file views *****/
|
||||
/* Number of file views */
|
||||
fprintf (Gbl.F.Out,"<li>%s: ",Txt_Downloads);
|
||||
if (UsrFigures.NumFileViews >= 0)
|
||||
{
|
||||
|
@ -333,7 +360,7 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
fprintf (Gbl.F.Out,"?");
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
||||
/***** Number of posts in forums *****/
|
||||
/* Number of posts in forums */
|
||||
fprintf (Gbl.F.Out,"<li>%s: ",Txt_Forum_posts);
|
||||
if (UsrFigures.NumForPst >= 0)
|
||||
{
|
||||
|
@ -353,7 +380,7 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
fprintf (Gbl.F.Out,"?");
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
||||
/***** Number of messages sent *****/
|
||||
/* Number of messages sent */
|
||||
fprintf (Gbl.F.Out,"<li>%s: ",Txt_Messages_sent);
|
||||
if (UsrFigures.NumMsgSnt >= 0)
|
||||
{
|
||||
|
@ -396,9 +423,9 @@ static void Rep_ShowOrPrintMyUsageReport (Rep_SeeOrPrint_t SeeOrPrint)
|
|||
fprintf (Gbl.F.Out,"</ul>");
|
||||
|
||||
/***** Historic courses *****/
|
||||
fprintf (Gbl.F.Out,"<h3>%s (histórico)</h3>" // TODO: Need translation!!!
|
||||
fprintf (Gbl.F.Out,"<h3>%s (%s)</h3>"
|
||||
"<ul>",
|
||||
Txt_Courses);
|
||||
Txt_Courses,Txt_historical_log);
|
||||
|
||||
/* Number of courses in which the user clicked as student/teacher */
|
||||
for (Role = Rol_STUDENT;
|
||||
|
@ -572,6 +599,7 @@ static void Rep_GetAndWriteHistoricCrssOfAUsr (const struct UsrData *UsrDat,Rol_
|
|||
struct tm *tm_FirstClickTime,
|
||||
unsigned long MaxHitsPerYear)
|
||||
{
|
||||
extern const char *Txt_Hits_as_a_USER;
|
||||
extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
char Query[1024];
|
||||
MYSQL_RES *mysql_res;
|
||||
|
@ -592,7 +620,7 @@ static void Rep_GetAndWriteHistoricCrssOfAUsr (const struct UsrData *UsrDat,Rol_
|
|||
if ((NumCrss = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get courses of a user")))
|
||||
{
|
||||
/* Heading row */
|
||||
sprintf (Gbl.Title,"Accesos como %s", // TODO: Need translation
|
||||
sprintf (Gbl.Title,Txt_Hits_as_a_USER,
|
||||
Txt_ROLES_SINGUL_abc[Role][Gbl.Usrs.Me.UsrDat.Sex]);
|
||||
fprintf (Gbl.F.Out,"<li>%s:"
|
||||
"<ol>",
|
||||
|
|
87
swad_text.c
87
swad_text.c
|
@ -13972,6 +13972,27 @@ const char *Txt_Hide_right_column =
|
|||
"Ocultar coluna da direita";
|
||||
#endif
|
||||
|
||||
const char *Txt_historical_log =
|
||||
#if L==1
|
||||
"registre històric";
|
||||
#elif L==2
|
||||
"historische log";
|
||||
#elif L==3
|
||||
"historical log";
|
||||
#elif L==4
|
||||
"registro histórico";
|
||||
#elif L==5
|
||||
"journal historique";
|
||||
#elif L==6
|
||||
"registro histórico"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"registro storico";
|
||||
#elif L==8
|
||||
"dziennik historyczny";
|
||||
#elif L==9
|
||||
"log histórico";
|
||||
#endif
|
||||
|
||||
const char *Txt_Hits = // hits = visits, clicks, page views...
|
||||
#if L==1
|
||||
"Accessos";
|
||||
|
@ -13993,6 +14014,27 @@ const char *Txt_Hits = // hits = visits, clicks, page views...
|
|||
"Visitas";
|
||||
#endif
|
||||
|
||||
const char *Txt_Hits_as_a_USER = // hits = visits, clicks, page views... Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Accessos (clics) com a %s";
|
||||
#elif L==2
|
||||
"Anmeldungen (Klicks) als %s";
|
||||
#elif L==3
|
||||
"Hits (clicks) as a %s";
|
||||
#elif L==4
|
||||
"Accesos (clics) como %s";
|
||||
#elif L==5
|
||||
"Visites (clics) en tant que %s";
|
||||
#elif L==6
|
||||
"Accesos (clics) como %s"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Visite (scatti) come %s";
|
||||
#elif L==8
|
||||
"Odsłon (kliknięcia) jako %s";
|
||||
#elif L==9
|
||||
"Visitas (cliques) como %s";
|
||||
#endif
|
||||
|
||||
const char *Txt_Holiday =
|
||||
#if L==1
|
||||
"Festivitat";
|
||||
|
@ -31006,7 +31048,7 @@ const char *Txt_Reply_message = // "Reply" as a noun, not as a verb
|
|||
#elif L==9
|
||||
"Mensagem de resposta";
|
||||
#endif
|
||||
/*
|
||||
|
||||
const char *Txt_Report =
|
||||
#if L==1
|
||||
"Informe";
|
||||
|
@ -31027,26 +31069,26 @@ const char *Txt_Report =
|
|||
#elif L==9
|
||||
"Relatório";
|
||||
#endif
|
||||
*/
|
||||
const char *Txt_Report_of_use_of_the_platform =
|
||||
|
||||
const char *Txt_Report_of_use_of_PLATFORM = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Informe d'ús de la plataforma";
|
||||
"Informe d'ús de %s";
|
||||
#elif L==2
|
||||
"Bericht der Nutzung der Plattform";
|
||||
"Bericht der Nutzung der %s";
|
||||
#elif L==3
|
||||
"Report of use of the platform";
|
||||
"Report of use of %s";
|
||||
#elif L==4
|
||||
"Informe de uso de la plataforma";
|
||||
"Informe de uso de %s";
|
||||
#elif L==5
|
||||
"Rapport d'utilisation de la plate-forme";
|
||||
"Rapport d'utilisation de %s";
|
||||
#elif L==6
|
||||
"Informe de uso de la plataforma"; // Okoteve traducción
|
||||
"Informe de uso de %s"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Rapporto di utilizzo della piattaforma";
|
||||
"Rapporto di utilizzo de %s";
|
||||
#elif L==8
|
||||
"Sprawozdanie z wykorzystaniem platformy";
|
||||
"Sprawozdanie z wykorzystaniem %s";
|
||||
#elif L==9
|
||||
"Relatório de utilização da plataforma";
|
||||
"Relatório de utilização de %s";
|
||||
#endif
|
||||
|
||||
const char *Txt_Report_possible_duplicate_user =
|
||||
|
@ -40857,6 +40899,27 @@ const char *Txt_teachers_files_area =
|
|||
"zona de arquivos dos professores";
|
||||
#endif
|
||||
|
||||
const char *Txt_Teaching_platform =
|
||||
#if L==1
|
||||
"Plataforma docent";
|
||||
#elif L==2
|
||||
"Lernplattform ";
|
||||
#elif L==3
|
||||
"Teaching platform";
|
||||
#elif L==4
|
||||
"Plataforma docente";
|
||||
#elif L==5
|
||||
"Plate-forme d'enseignement";
|
||||
#elif L==6
|
||||
"Plataforma docente"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Piattaforma didattica";
|
||||
#elif L==8
|
||||
"Platforma nauczania";
|
||||
#elif L==9
|
||||
"Plataforma de ensino";
|
||||
#endif
|
||||
|
||||
const char *Txt_Temporary_private_storage_area =
|
||||
#if L==1
|
||||
"Zona d'emmagatzematge privada";
|
||||
|
|
Loading…
Reference in New Issue