mirror of https://github.com/acanas/swad-core.git
Version 18.1.4
This commit is contained in:
parent
85cf1a28c0
commit
e2844345f1
|
@ -355,10 +355,11 @@ En OpenSWAD:
|
|||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.1.3 (2018-10-07)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.1.4 (2018-10-07)"
|
||||
#define CSS_FILE "swad17.25.4.css"
|
||||
#define JS_FILE "swad17.17.1.js"
|
||||
/*
|
||||
Version 18.1.4: Oct 07, 2018 Icon to change user's photo is moved to record card. (234955 lines)
|
||||
Version 18.1.3: Oct 07, 2018 Changes in statistic graphs. (234965 lines)
|
||||
Version 18.1.2: Oct 07, 2018 Changes in statistic graphs. (234964 lines)
|
||||
Version 18.1.1: Oct 07, 2018 New colors in statistic graphs. (234963 lines)
|
||||
|
|
|
@ -972,8 +972,8 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe)
|
|||
extern const char *Txt_Register_USER_as_an_administrator_of_the_degree_X;
|
||||
extern const char *Txt_Register_USER_as_an_administrator_of_the_centre_X;
|
||||
extern const char *Txt_Register_USER_as_an_administrator_of_the_institution_X;
|
||||
extern const char *Txt_Remove_me_from_the_course_X;
|
||||
extern const char *Txt_Remove_USER_from_the_course_X;
|
||||
extern const char *Txt_Remove_me_from_THE_COURSE_X;
|
||||
extern const char *Txt_Remove_USER_from_THE_COURSE_X;
|
||||
extern const char *Txt_Remove_me_as_an_administrator_of_the_degree_X;
|
||||
extern const char *Txt_Remove_USER_as_an_administrator_of_the_degree_X;
|
||||
extern const char *Txt_Remove_me_as_an_administrator_of_the_centre_X;
|
||||
|
@ -1155,8 +1155,8 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe)
|
|||
if (UsrBelongsToCrs)
|
||||
{
|
||||
sprintf (Gbl.Alert.Txt,
|
||||
ItsMe ? Txt_Remove_me_from_the_course_X :
|
||||
Txt_Remove_USER_from_the_course_X,
|
||||
ItsMe ? Txt_Remove_me_from_THE_COURSE_X :
|
||||
Txt_Remove_USER_from_THE_COURSE_X,
|
||||
Gbl.CurrentCrs.Crs.ShrtName);
|
||||
fprintf (Gbl.F.Out,"<li>"
|
||||
"<label>"
|
||||
|
@ -3336,21 +3336,19 @@ static void Enr_AskIfRegRemUsr (struct ListUsrCods *ListUsrCods,Rol_Role_t Role)
|
|||
|
||||
static void Enr_ShowFormToEditOtherUsr (void)
|
||||
{
|
||||
/***** Buttons for edition *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
if (Usr_ICanEditOtherUsr (&Gbl.Usrs.Other.UsrDat))
|
||||
{
|
||||
/***** Buttons for edition *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
|
||||
Pwd_PutLinkToChangeOtherUsrPassword (); // Put link (form) to change user's password
|
||||
Mai_PutLinkToChangeOtherUsrEmails (); // Put link (form) to change user's emails
|
||||
ID_PutLinkToChangeUsrIDs (); // Put link (form) to change user's IDs
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
if (Pho_ICanChangeOtherUsrPhoto (&Gbl.Usrs.Other.UsrDat))
|
||||
Pho_PutLinkToChangeOtherUsrPhoto (); // Put link (form) to change user's photo
|
||||
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/***** User's record *****/
|
||||
Rec_ShowSharedUsrRecord (Rec_SHA_OTHER_EXISTING_USR_FORM,
|
||||
&Gbl.Usrs.Other.UsrDat,NULL);
|
||||
|
|
|
@ -80,10 +80,10 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
|||
extern const char *Txt_Go_to_one_of_my_courses;
|
||||
extern const char *Txt_My_courses;
|
||||
extern const char *Txt_Sign_up;
|
||||
extern const char *Txt_Remove_me_from_the_course_X;
|
||||
extern const char *Txt_Remove_me_from_THE_COURSE_X;
|
||||
extern const char *Txt_Remove_me;
|
||||
extern const char *Txt_Register_me_in_X;
|
||||
extern const char *Txt_Select_or_create_another_course_in_X;
|
||||
extern const char *Txt_Select_create_course_in_X;
|
||||
extern const char *Txt_Select_or_create_one_course_in_X;
|
||||
extern const char *Txt_Courses;
|
||||
extern const char *Txt_Select_or_create_another_degree_in_X;
|
||||
|
@ -144,7 +144,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
|||
if (ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role] != ActUnk)
|
||||
{
|
||||
/* Request my removing from this course */
|
||||
sprintf (Gbl.Title,Txt_Remove_me_from_the_course_X,
|
||||
sprintf (Gbl.Title,Txt_Remove_me_from_THE_COURSE_X,
|
||||
Gbl.CurrentCrs.Crs.ShrtName);
|
||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Gbl.Title,
|
||||
ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role],
|
||||
|
@ -186,7 +186,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
|||
if (Gbl.CurrentDeg.Deg.DegCod > 0) // Degree selected
|
||||
{
|
||||
/* Select a course */
|
||||
sprintf (Gbl.Title,Gbl.CurrentCrs.Crs.CrsCod > 0 ? Txt_Select_or_create_another_course_in_X :
|
||||
sprintf (Gbl.Title,Gbl.CurrentCrs.Crs.CrsCod > 0 ? Txt_Select_create_course_in_X :
|
||||
Txt_Select_or_create_one_course_in_X,
|
||||
Gbl.CurrentDeg.Deg.ShrtName);
|
||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Gbl.Title,
|
||||
|
|
42
swad_photo.c
42
swad_photo.c
|
@ -162,24 +162,6 @@ bool Pho_ICanChangeOtherUsrPhoto (const struct UsrData *UsrDat)
|
|||
/********** Put a link to the action used to request user's photo ************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Pho_PutLinkToChangeMyPhoto (void)
|
||||
{
|
||||
extern const char *Txt_Change_photo;
|
||||
extern const char *Txt_Upload_photo;
|
||||
const char *TitleText = Gbl.Usrs.Me.MyPhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo;
|
||||
|
||||
/***** Link for changing / uploading the photo *****/
|
||||
Lay_PutContextualLink (ActReqMyPho,NULL,NULL,
|
||||
"photo64x64.gif",
|
||||
TitleText,TitleText,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********** Put a link to the action used to request user's photo ************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Pho_PutLinkToChangeOtherUsrPhoto (void)
|
||||
{
|
||||
extern const char *Txt_Change_photo;
|
||||
|
@ -190,15 +172,22 @@ void Pho_PutLinkToChangeOtherUsrPhoto (void)
|
|||
Act_Action_t NextAction;
|
||||
|
||||
/***** Link for changing / uploading the photo *****/
|
||||
if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
|
||||
Pho_PutLinkToChangeMyPhoto ();
|
||||
else // Not me
|
||||
if (Pho_ICanChangeOtherUsrPhoto (&Gbl.Usrs.Other.UsrDat))
|
||||
if (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Record.UsrDat->UsrCod) // It's me
|
||||
{
|
||||
TitleText = Gbl.Usrs.Me.MyPhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo;
|
||||
Lay_PutContextualLink (ActReqMyPho,NULL,NULL,
|
||||
"photo64x64.gif",
|
||||
TitleText,NULL,
|
||||
NULL);
|
||||
}
|
||||
else // Not me
|
||||
if (Pho_ICanChangeOtherUsrPhoto (Gbl.Record.UsrDat))
|
||||
{
|
||||
PhotoExists = Pho_BuildLinkToPhoto (&Gbl.Usrs.Other.UsrDat,PhotoURL);
|
||||
PhotoExists = Pho_BuildLinkToPhoto (Gbl.Record.UsrDat,PhotoURL);
|
||||
TitleText = PhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo;
|
||||
switch (Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs.Role)
|
||||
switch (Gbl.Record.UsrDat->Roles.InCurrentCrs.Role)
|
||||
{
|
||||
case Rol_STD:
|
||||
NextAction = ActReqStdPho;
|
||||
|
@ -211,10 +200,9 @@ void Pho_PutLinkToChangeOtherUsrPhoto (void)
|
|||
NextAction = ActReqOthPho;
|
||||
break;
|
||||
}
|
||||
Lay_PutContextualLink (NextAction,NULL,
|
||||
Usr_PutParamOtherUsrCodEncrypted,
|
||||
Lay_PutContextualLink (NextAction,NULL,Rec_PutParamUsrCodEncrypted,
|
||||
"photo64x64.gif",
|
||||
TitleText,TitleText,
|
||||
TitleText,NULL,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,7 +84,6 @@ typedef enum
|
|||
/*****************************************************************************/
|
||||
|
||||
bool Pho_ICanChangeOtherUsrPhoto (const struct UsrData *UsrDat);
|
||||
void Pho_PutLinkToChangeMyPhoto (void);
|
||||
void Pho_PutLinkToChangeOtherUsrPhoto (void);
|
||||
void Pho_ReqMyPhotoWithContextLinks (void);
|
||||
void Pho_ReqUsrPhotoWithContextualLinks (struct UsrData *UsrDat);
|
||||
|
|
|
@ -100,7 +100,6 @@ static void Rec_ShowMyCrsRecordUpdated (void);
|
|||
static bool Rec_CheckIfICanEditField (Rec_VisibilityRecordFields_t Visibility);
|
||||
|
||||
static void Rec_PutIconsCommands (void);
|
||||
static void Rec_PutParamUsrCodEncrypted (void);
|
||||
static void Rec_PutParamsWorks (void);
|
||||
static void Rec_PutParamsStudent (void);
|
||||
static void Rec_PutParamsMsgUsr (void);
|
||||
|
@ -2117,7 +2116,6 @@ void Rec_ShowFormMySharedRecord (void)
|
|||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Rec_PutLinkToChangeMyInsCtrDpt (); // Put link (form) to change my institution, centre, department...
|
||||
Net_PutLinkToChangeMySocialNetworks (); // Put link (form) to change my social networks
|
||||
Pho_PutLinkToChangeMyPhoto (); // Put link (form) to change my photo
|
||||
Pri_PutLinkToChangeMyPrivacy (); // Put link (form) to change my privacy
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
|
@ -2709,12 +2707,15 @@ static void Rec_PutIconsCommands (void)
|
|||
NULL); // Put button to follow
|
||||
}
|
||||
|
||||
/***** Button to change user's photo *****/
|
||||
Pho_PutLinkToChangeOtherUsrPhoto ();
|
||||
|
||||
/***** End container *****/
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
}
|
||||
|
||||
static void Rec_PutParamUsrCodEncrypted (void)
|
||||
void Rec_PutParamUsrCodEncrypted (void)
|
||||
{
|
||||
Usr_PutParamUsrCodEncrypted (Gbl.Record.UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
|
|
|
@ -167,6 +167,7 @@ void Rec_ShowMySharedRecordUpd (void);
|
|||
void Rec_ShowSharedRecordUnmodifiable (struct UsrData *UsrDat);
|
||||
void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
|
||||
struct UsrData *UsrDat,const char *Anchor);
|
||||
void Rec_PutParamUsrCodEncrypted (void);
|
||||
|
||||
void Rec_UpdateMyRecord (void);
|
||||
Rol_Role_t Rec_GetRoleFromRecordForm (void);
|
||||
|
|
60
swad_text.c
60
swad_text.c
|
@ -33267,25 +33267,25 @@ const char *Txt_Remove_me_from_this_project =
|
|||
"Tirar me deste projeto";
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_me_from_the_course_X = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_Remove_me_from_THE_COURSE_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Eliminarme de l'assignatura <strong>%s</strong>";
|
||||
"Eliminarme de <strong>%s</strong>";
|
||||
#elif L==2
|
||||
"Entfernen Sie mir aus dem Kurs <strong>%s</strong>";
|
||||
"Entfernen Sie mir aus <strong>%s</strong>";
|
||||
#elif L==3
|
||||
"Remove me from the course <strong>%s</strong>";
|
||||
"Remove me from <strong>%s</strong>";
|
||||
#elif L==4
|
||||
"Eliminarme de la asignatura <strong>%s</strong>";
|
||||
"Eliminarme de <strong>%s</strong>";
|
||||
#elif L==5
|
||||
"Enlever-moi de la matière <strong>%s</strong>";
|
||||
"Enlever-moi de <strong>%s</strong>";
|
||||
#elif L==6
|
||||
"Eliminarme de la asignatura <strong>%s</strong>"; // Okoteve traducción
|
||||
"Eliminarme de <strong>%s</strong>"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Rimuovimi dal corso <strong>%s</strong>";
|
||||
"Rimuovimi di <strong>%s</strong>";
|
||||
#elif L==8
|
||||
"Usuń mnie w kurs <strong>%s</strong>";
|
||||
"Usuń mnie w <strong>%s</strong>";
|
||||
#elif L==9
|
||||
"Tirar me da disciplina <strong>%s</strong>";
|
||||
"Tirar me de <strong>%s</strong>";
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_old_files =
|
||||
|
@ -33651,25 +33651,25 @@ const char *Txt_Remove_USER_as_an_administrator_of_the_institution_X = // Warnin
|
|||
" da institução <strong>%s</strong>";
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_USER_from_the_course_X = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_Remove_USER_from_THE_COURSE_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Eliminar de l'assignatura <strong>%s</strong>";
|
||||
"Eliminar de <strong>%s</strong>";
|
||||
#elif L==2
|
||||
"Entfernen aus dem Kurs <strong>%s</strong>";
|
||||
"Entfernen aus <strong>%s</strong>";
|
||||
#elif L==3
|
||||
"Remove from the course <strong>%s</strong>";
|
||||
"Remove from <strong>%s</strong>";
|
||||
#elif L==4
|
||||
"Eliminar de la asignatura <strong>%s</strong>";
|
||||
"Eliminar de <strong>%s</strong>";
|
||||
#elif L==5
|
||||
"Enlever de la matière <strong>%s</strong>";
|
||||
"Enlever de <strong>%s</strong>";
|
||||
#elif L==6
|
||||
"Eliminar de la asignatura <strong>%s</strong>"; // Okoteve traducción
|
||||
"Eliminar de <strong>%s</strong>"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Rimuovi dal corso <strong>%s</strong>";
|
||||
"Rimuovi di <strong>%s</strong>";
|
||||
#elif L==8
|
||||
"Usuń w kurs <strong>%s</strong>";
|
||||
"Usuń w <strong>%s</strong>";
|
||||
#elif L==9
|
||||
"Tirar da disciplina <strong>%s</strong>";
|
||||
"Tirar de <strong>%s</strong>";
|
||||
#endif
|
||||
|
||||
const char *Txt_Reply =
|
||||
|
@ -38703,25 +38703,25 @@ const char *Txt_Select_or_create_another_centre_in_X = // Warning: it is very im
|
|||
"Selecionar ou criar um outro centro da institução <strong>%s</strong>";
|
||||
#endif
|
||||
|
||||
const char *Txt_Select_or_create_another_course_in_X = // Warning: it is very important to include %s in the following sentences
|
||||
const char *Txt_Select_create_course_in_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Seleccionar o crear una altra assignatura en <strong>%s</strong>";
|
||||
"Seleccionar/crear assignatura en <strong>%s</strong>";
|
||||
#elif L==2
|
||||
"Wählen oder erstellen Sie einen anderen Kurs von <strong>%s</strong>";
|
||||
"Wählen/erstellen Kurs von <strong>%s</strong>";
|
||||
#elif L==3
|
||||
"Select or create another course in <strong>%s</strong>";
|
||||
"Select/create in <strong>%s</strong>";
|
||||
#elif L==4
|
||||
"Seleccionar o crear otra asignatura en <strong>%s</strong>";
|
||||
"Seleccionar/crear asignatura en <strong>%s</strong>";
|
||||
#elif L==5
|
||||
"Sélectionnez ou créez une autre matière dans <strong>%s</strong>";
|
||||
"Sélectionner/créer matière dans <strong>%s</strong>";
|
||||
#elif L==6
|
||||
"Seleccionar o crear otra asignatura en <strong>%s</strong>"; // Okoteve traducción
|
||||
"Seleccionar/crear asignatura en <strong>%s</strong>"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Selezionare o creare un altro corso di <strong>%s</strong>";
|
||||
"Selezionare/creare corso di <strong>%s</strong>";
|
||||
#elif L==8
|
||||
"Select or create another course in <strong>%s</strong>"; // Potrzebujesz tlumaczenie
|
||||
"Select/create course in <strong>%s</strong>"; // Potrzebujesz tlumaczenie
|
||||
#elif L==9
|
||||
"Selecionar ou criar uma outra disciplina de <strong>%s</strong>";
|
||||
"Selecionar/criar disciplina de <strong>%s</strong>";
|
||||
#endif
|
||||
|
||||
const char *Txt_Select_or_create_another_degree_in_X = // Warning: it is very important to include %s in the following sentences
|
||||
|
|
Loading…
Reference in New Issue