diff --git a/html/foot.html b/html/foot.html
index bb2ef2e46..f673a99c3 100644
--- a/html/foot.html
+++ b/html/foot.html
@@ -1,71 +1,61 @@
-
+
-
+
diff --git a/swad_changelog.h b/swad_changelog.h
index 4826fdc14..e53fac2bd 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -28,6 +28,7 @@
/*********************************** TODO ************************************/
/*****************************************************************************/
+// TODO: Is it necessary FileType in table "files"?
// TODO: When notifications are marked as seen, do it in a priori function
// TODO: Use the library http://fukuchi.org/works/qrencode/index.html.en instead Google QR
// TODO: [Ceferino Bustos Valdivia]:
@@ -36,16 +37,78 @@
// Sería completa esta aplicación, si la asistencia se incluyera, automáticamente, en el apartado de evaluación de cada alumno. De esta forma podríamos ver sus trabajos y asistencias de forma personalizada.
// TODO: OpenSWAD.org: ¿Qué debería tener una buena gestión de grupos? Es para tomar ideas ;)
// José Raúl Canay @raulcanay: por ejemplo, que puedas sacar un listado exportable de en qué grupos está una persona de quienes están en un grupo.
+/* Propuestas de Fidel Rodríguez López:
+==========================================================
+1 @@ TUTORIAS GRUPALES/INDIVIDUALES "VIRTUALES"
+==========================================================
+ # Permite realizar grupos de chat, de uno o varios profesores con sus alumnos.
+ Útil para la resolución de ejercicios y dudas sencillas.
+ # Notificación, citas y aviso de tutorias virtuales.
+ # Permitir el envío de imágenes y fotos a través de la sala de Chat.s
+==========================================================
+2 @@ MEJORA DEL SISTEMA DE ANOTACIÓN DE ASISTENCIA
+==========================================================
+ # Sistema dinámico que permita la anotación de asistencia de los alumnos a las
+ clases prácticas y que facilite la administración de los mismos (notificación al
+ profesor cuando todos los alumnos sean registrados, por ejemplo). Implementación
+ vía AJAX para ser más agradable.
+==========================================================
+3 @@ GENERADOR DE CALIFICACIONES EN PDF
+==========================================================
+ # El servidor es capaz de generar un PDF para cualquier tarea (por ejemplo, con
+ las calificaciones de los alumnos para publicar en el tablón, con las convocatorias
+ de examen...). Para esto se puede usar alguna libreria libre tipo FPDF.
+ # Algunos profesores prefieren tener en papel anotadas las calificaciones.
+==========================================================
+4 @@ TUTORIAL INICIACIÓN
+==========================================================
+ # Es importante indicar tanto al profesor, Administrador y alumno de qué es capaz
+ SWAD, para poder así explotar todas sus posibilidades. Un tutorial amigable e inicial
+ a base de Tooltips o imágenes, puede ser bastante útil.
+==========================================================
+5 @@ MEJORA DE LA INTERFAZ
+==========================================================
+ # Botones, colores e iconos más modernos. Los iconos se pueden suprimir por iconos en
+ fuentes (como font-awesome, open-source). Los botones en CSS3 le darían un aire más
+ moderno y renovado (se podría basar en algún framework open-source).
+==========================================================
+6 @@ INCORPORACIÓN DE UN TABLÓN DE PROGRAMACIÓN DE ASIGNATURA
+==========================================================
+ # Hacer pequeñas modificaciones para ver la zona de Actividades de otra forma. Por ejemplo,
+ una estructura de árbol (como la zona de Documentos) pero con las tareas programadas para la
+ semana proporcionaría una visión más global (como una "agenda") de lo que hay que realizar.
+ # El tablón incorporaría solo los títulos de los ejercicios. Por ejemplo:
+
+ ==>Semana 16 Febr. -> 22 Marzo
+ ----------Prácticas
+ ----------------Entrega Práctica 2 [Fecha Límite] (Color verde o rojo, si ha pasado la fecha, como actualmente en Actividades)
+ ----------Teoría
+ ----------------Tema 2
+ ----------Otros
+ ----------------Entregar Relación de Ejercicios
+ ==>Semana 23 Febr.-> 1 Marzo
+ ----------Prácticas
+ ----------Teoría
+ ----------------Examen Tema 2
+ ----------Otros
+ ....Etc.....
+
+==========================================================
+7 @@ INSTALACIÓN DE EDITOR DE TEXTO ENRIQUECIDO
+==========================================================
+ # Completar el proyecto que empezó el antiguo alumno.
+ */
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 14.74.11 (2015/02/12)"
+#define Log_PLATFORM_VERSION "SWAD 14.74.12 (2015/02/23)"
// 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 | tail -1
/*
+ Version 14.74.12: Feb 23, 2015 Fixed bug in file browser, reported by Germán Luzón González and Javier Fernández Baldomero. (178119 lines)
Version 14.74.11: Feb 10, 2015 Changes in swad.js. (178060 lines)
Version 14.74.10: Feb 10, 2015 Removed meta tag. (178060 lines)
Version 14.74.9: Feb 10, 2015 Description/keywords meta tags and canonical URL added to head. (178060 lines)
diff --git a/swad_config.h b/swad_config.h
index c0e1673e2..708bd81e4 100644
--- a/swad_config.h
+++ b/swad_config.h
@@ -28,8 +28,8 @@
/** Uncomment one of the following installations of SWAD or create your own **/
/*****************************************************************************/
-//#define LOCALHOST_UBUNTU // Comment this line if not applicable
-#define OPENSWAD_ORG // Comment this line if not applicable
+#define LOCALHOST_UBUNTU // Comment this line if not applicable
+//#define OPENSWAD_ORG // Comment this line if not applicable
//#define SWAD_UGR_ES // Comment this line if not applicable
//#define WWW_CEVUNA_UNA_PY // Comment this line if not applicable
@@ -112,7 +112,7 @@
#define Cfg_AUTOMATIC_EMAIL_SMTP_PORT "465" // SMTP port for sending automatic e-mails
#define Cfg_AUTOMATIC_EMAIL_FROM "acanas@openswad.org" // E-mail address from where automatic e-mails will be sent
#define Cfg_DATABASE_HOST "localhost" // Database host
-#define Cfg_DEFAULT_LANGUAGE_FOR_NEW_USERS Txt_LANGUAGE_EN // Default language for new users
+#define Cfg_DEFAULT_LANGUAGE_FOR_NEW_USERS Txt_LANGUAGE_ES // Default language for new users
#define Cfg_LOG_START_YEAR 2012 // Year when the log started in the database
// Footer of page with info about the institution where this platform is installed
@@ -498,7 +498,6 @@
#define Cfg_MIN_TIME_TO_RECOMPUTE_AVG_PHOTO ((time_t)( 12UL*60UL*60UL)) // After these seconds, users can recompute the average photos of a degree
-
/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/
diff --git a/swad_file_browser.c b/swad_file_browser.c
index 446fbe6a0..fe0330206 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -4488,7 +4488,7 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (void)
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) Brw_FileBrowserForDB_file_browser_last[Gbl.FileBrowser.Type],
Cod);
- DB_QueryUPDATE (Query,"can not update date of last access to a file browser");
+ DB_QueryREPLACE (Query,"can not update date of last access to a file browser");
}
/*****************************************************************************/
@@ -4739,11 +4739,11 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,
/***** Get file metadata *****/
Brw_GetFileMetadataByPath (&FileMetadata);
+ Brw_GetFileTypeSizeAndDate (&FileMetadata);
if (FileMetadata.FilCod <= 0) // No entry for this file in database table of files
/* Add entry to the table of files/folders */
FileMetadata.FilCod = Brw_AddPathToDB (-1L,FileMetadata.FileType,
Gbl.FileBrowser.Priv.FullPathInTree,false,Brw_LICENSE_DEFAULT);
- Brw_GetFileSizeAndDate (&FileMetadata);
/***** Is this row public or private? *****/
if (SeeDocsZone || AdminDocsZone || CommonZone)
@@ -8730,7 +8730,7 @@ void Brw_ShowFileMetadata (void)
/***** Get file metadata *****/
Brw_GetFileMetadataByPath (&FileMetadata);
- Found = Brw_GetFileSizeAndDate (&FileMetadata);
+ Found = Brw_GetFileTypeSizeAndDate (&FileMetadata);
if (Found)
{
@@ -9150,7 +9150,7 @@ void Brw_DownloadFile (void)
/***** Get file metadata *****/
Brw_GetFileMetadataByPath (&FileMetadata);
- Found = Brw_GetFileSizeAndDate (&FileMetadata);
+ Found = Brw_GetFileTypeSizeAndDate (&FileMetadata);
if (Found)
{
@@ -9506,7 +9506,7 @@ void Brw_ChgFileMetadata (void)
/***** Get file metadata from database *****/
Brw_GetFileMetadataByPath (&FileMetadata);
- Brw_GetFileSizeAndDate (&FileMetadata);
+ Brw_GetFileTypeSizeAndDate (&FileMetadata);
/***** Check if I can change file metadata *****/
if (Brw_CheckIfICanEditFileMetadata (FileMetadata.PublisherUsrCod))
@@ -9904,7 +9904,7 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
/*****************************************************************************/
// Return true if file exists
-bool Brw_GetFileSizeAndDate (struct FileMetadata *FileMetadata)
+bool Brw_GetFileTypeSizeAndDate (struct FileMetadata *FileMetadata)
{
char Path[PATH_MAX+1];
struct stat FileStatus;
@@ -10210,9 +10210,7 @@ long Brw_GetCodForFiles (void)
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_ASSIG_USR:
- case Brw_ADMI_ASSIG_CRS:
case Brw_ADMI_WORKS_USR:
- case Brw_ADMI_WORKS_CRS:
case Brw_ADMI_MARKS_CRS:
return Gbl.CurrentCrs.Crs.CrsCod;
case Brw_ADMI_DOCUM_GRP:
@@ -10232,8 +10230,8 @@ static long Brw_GetZoneUsrCodForFiles (void)
{
switch (Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type])
{
- case Brw_ADMI_ASSIG_CRS:
- case Brw_ADMI_WORKS_CRS:
+ case Brw_ADMI_ASSIG_USR:
+ case Brw_ADMI_WORKS_USR:
return Gbl.Usrs.Other.UsrDat.UsrCod;
case Brw_ADMI_BRIEF_USR:
return Gbl.Usrs.Me.UsrDat.UsrCod;
diff --git a/swad_file_browser.h b/swad_file_browser.h
index 93a07eb8b..2a213850f 100644
--- a/swad_file_browser.h
+++ b/swad_file_browser.h
@@ -183,7 +183,7 @@ void Brw_ChgFileMetadata (void);
long Brw_GetFilCodByPath (const char *Path);
void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata);
void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata);
-bool Brw_GetFileSizeAndDate (struct FileMetadata *FileMetadata);
+bool Brw_GetFileTypeSizeAndDate (struct FileMetadata *FileMetadata);
void Brw_GetAndUpdateFileViews (struct FileMetadata *FileMetadata);
void Brw_UpdateMyFileViews (long FilCod);
diff --git a/swad_main.c b/swad_main.c
index 4c9a4d010..f929cb4b8 100644
--- a/swad_main.c
+++ b/swad_main.c
@@ -71,7 +71,7 @@ int main (int argc, char *argv[])
{
extern const char *Txt_You_dont_have_permission_to_perform_this_action;
-
+/*
fprintf (stdout,"Content-type: text/html; charset=windows-1252\r\n"
"Status: 503 Service Temporarily Unavailable\r\n\r\n"
""
@@ -84,7 +84,7 @@ int main (int argc, char *argv[])
Cfg_PLATFORM_FULL_NAME,
Cfg_PLATFORM_SHORT_NAME);
exit (0);
-
+*/
if (argc > 1)
{
fprintf (stdout,"Call %s without parameters",argv[0]);
diff --git a/swad_web_service.c b/swad_web_service.c
index 81657a57b..d2a1140ad 100644
--- a/swad_web_service.c
+++ b/swad_web_service.c
@@ -3766,7 +3766,7 @@ static bool Svc_WriteRowFileBrowser (unsigned Level,Brw_FileType_t FileType,cons
{
/* Get file metadata */
Brw_GetFileMetadataByPath (&FileMetadata);
- Brw_GetFileSizeAndDate (&FileMetadata);
+ Brw_GetFileTypeSizeAndDate (&FileMetadata);
if (FileMetadata.FilCod <= 0) // No entry for this file in database table of files
/* Add entry to the table of files/folders */
@@ -3926,7 +3926,7 @@ int swad__getFile (struct soap *soap,
Brw_InitializeFileBrowser ();
/***** Get file size and date *****/
- Brw_GetFileSizeAndDate (&FileMetadata);
+ Brw_GetFileTypeSizeAndDate (&FileMetadata);
/***** Update number of views *****/
Brw_GetAndUpdateFileViews (&FileMetadata);