mirror of https://github.com/acanas/swad-core.git
Version 21.103: Jun 29, 2022 Text in buttons got from text of actions.
This commit is contained in:
parent
8ccdd0d671
commit
668d873713
|
@ -57,13 +57,10 @@ extern struct Globals Gbl;
|
|||
void QR_PutLinkToPrintQRCode (Act_Action_t Action,
|
||||
void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
extern const char *Txt_QR_code;
|
||||
|
||||
/***** Link to print QR *****/
|
||||
Lay_PutContextualLinkOnlyIcon (Action,NULL,
|
||||
FuncParams,Args,
|
||||
"qrcode.svg",Ico_BLACK,
|
||||
Txt_QR_code);
|
||||
Act_GetActionText (Action));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -571,13 +571,11 @@ void Acc_ShowFormChgOtherUsrAccount (void)
|
|||
|
||||
void Acc_PutLinkToRemoveMyAccount (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Remove_account;
|
||||
|
||||
if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Me.UsrDat.UsrCod))
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqRemMyAcc,NULL,
|
||||
Acc_PutParamsToRemoveMyAccount,Gbl.Usrs.Me.UsrDat.EnUsrCod,
|
||||
"trash.svg",Ico_RED,
|
||||
Txt_Remove_account);
|
||||
Act_GetActionText (ActReqRemMyAcc));
|
||||
}
|
||||
|
||||
static void Acc_PutParamsToRemoveMyAccount (void *EncryptedUsrCod)
|
||||
|
@ -1115,7 +1113,6 @@ static void Acc_RemoveUsrBriefcase (struct UsrData *UsrDat)
|
|||
|
||||
void Acc_PutIconToChangeUsrAccount (void)
|
||||
{
|
||||
extern const char *Txt_Change_account;
|
||||
static const Act_Action_t NextAction[Rol_NUM_ROLES] =
|
||||
{
|
||||
[Rol_UNK ] = ActFrmAccOth,
|
||||
|
@ -1135,11 +1132,11 @@ void Acc_PutIconToChangeUsrAccount (void)
|
|||
Lay_PutContextualLinkOnlyIcon (ActFrmMyAcc,NULL,
|
||||
NULL,NULL,
|
||||
"at.svg",Ico_BLACK,
|
||||
Txt_Change_account);
|
||||
Act_GetActionText (ActFrmMyAcc));
|
||||
else // Not me
|
||||
if (Usr_ICanEditOtherUsr (Gbl.Record.UsrDat))
|
||||
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"at.svg",Ico_BLACK,
|
||||
Txt_Change_account);
|
||||
Act_GetActionText (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs]));
|
||||
}
|
||||
|
|
|
@ -692,13 +692,9 @@ static void Agd_PutIconsMyPublicAgenda (void *EncryptedUsrCod)
|
|||
|
||||
static void Agd_PutIconToCreateNewEvent (void *Agenda)
|
||||
{
|
||||
extern const char *Txt_New_event;
|
||||
|
||||
/***** Put form to create a new event *****/
|
||||
((struct Agd_Agenda *) Agenda)->AgdCodToEdit = -1L;
|
||||
Ico_PutContextualIconToAdd (ActFrmNewEvtMyAgd,NULL,
|
||||
Agd_PutCurrentParamsMyAgenda,Agenda,
|
||||
Txt_New_event);
|
||||
Agd_PutCurrentParamsMyAgenda,Agenda);
|
||||
}
|
||||
|
||||
static void Agd_PutIconToViewEditMyFullAgenda (void *EncryptedUsrCod)
|
||||
|
@ -721,17 +717,13 @@ static void Agd_PutIconToShowQR (void)
|
|||
|
||||
static void Agd_PutIconsOtherPublicAgenda (void *EncryptedUsrCod)
|
||||
{
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
extern const char *Txt_View_record_for_this_course;
|
||||
extern const char *Txt_View_record_and_office_hours;
|
||||
|
||||
/***** Button to view user's public profile *****/
|
||||
if (Pri_ShowingIsAllowed (Gbl.Usrs.Other.UsrDat.BaPrfVisibility,
|
||||
&Gbl.Usrs.Other.UsrDat))
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
|
||||
Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod,
|
||||
"user.svg",Ico_BLACK,
|
||||
Txt_Another_user_s_profile);
|
||||
Act_GetActionText (ActSeeOthPubPrf));
|
||||
|
||||
/***** Button to view user's record card *****/
|
||||
if (Usr_CheckIfICanViewRecordStd (&Gbl.Usrs.Other.UsrDat))
|
||||
|
@ -739,12 +731,12 @@ static void Agd_PutIconsOtherPublicAgenda (void *EncryptedUsrCod)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
|
||||
Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod,
|
||||
"address-card.svg",Ico_BLACK,
|
||||
Txt_View_record_for_this_course);
|
||||
Act_GetActionText (ActSeeRecOneStd));
|
||||
else if (Usr_CheckIfICanViewRecordTch (&Gbl.Usrs.Other.UsrDat))
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
|
||||
Usr_PutParamOtherUsrCodEncrypted,EncryptedUsrCod,
|
||||
"address-card.svg",Ico_BLACK,
|
||||
Txt_View_record_and_office_hours);
|
||||
Act_GetActionText (ActSeeRecOneTch));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -148,11 +148,7 @@ void Ann_ShowAllAnnouncements (void)
|
|||
|
||||
static void Ann_PutIconToAddNewAnnouncement (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_New_announcement;
|
||||
|
||||
Ico_PutContextualIconToAdd (ActWriAnn,NULL,
|
||||
NULL,NULL,
|
||||
Txt_New_announcement);
|
||||
Ico_PutContextualIconToAdd (ActWriAnn,NULL,NULL,NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -301,15 +301,10 @@ static void Asg_PutIconsListAssignments (void *Assignments)
|
|||
|
||||
static void Asg_PutIconToCreateNewAsg (void *Assignments)
|
||||
{
|
||||
extern const char *Txt_New_assignment;
|
||||
|
||||
if (Assignments)
|
||||
{
|
||||
/***** Put form to create a new assignment *****/
|
||||
((struct Asg_Assignments *) Assignments)->AsgCodToEdit = -1L;
|
||||
Ico_PutContextualIconToAdd (ActFrmNewAsg,NULL,
|
||||
Asg_PutParams,Assignments,
|
||||
Txt_New_assignment);
|
||||
Ico_PutContextualIconToAdd (ActFrmNewAsg,NULL,Asg_PutParams,Assignments);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -377,12 +377,8 @@ static void Att_PutIconsInListOfAttEvents (void *Events)
|
|||
|
||||
static void Att_PutIconToCreateNewAttEvent (struct Att_Events *Events)
|
||||
{
|
||||
extern const char *Txt_New_event;
|
||||
|
||||
/***** Put icon to create a new attendance event *****/
|
||||
Ico_PutContextualIconToAdd (ActFrmNewAtt,NULL,
|
||||
Att_PutParamsToCreateNewAttEvent,Events,
|
||||
Txt_New_event);
|
||||
Att_PutParamsToCreateNewAttEvent,Events);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -387,12 +387,10 @@ static void Ban_PutIconsEditingBanners (__attribute__((unused)) void *Args)
|
|||
|
||||
void Ban_PutIconToViewBanners (void)
|
||||
{
|
||||
extern const char *Txt_Banners;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeBan,NULL,
|
||||
NULL,NULL,
|
||||
"flag.svg",Ico_BLACK,
|
||||
Txt_Banners);
|
||||
Act_GetActionText (ActSeeBan));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -4893,7 +4893,6 @@ static void Brw_IndentDependingOnLevel (unsigned Level)
|
|||
static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *RowId,
|
||||
bool Hidden)
|
||||
{
|
||||
extern const char *Txt_Expand;
|
||||
char JavaScriptFuncToExpandFolder[256 + Brw_MAX_ROW_ID];
|
||||
|
||||
/***** Begin container *****/
|
||||
|
@ -4910,7 +4909,8 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row
|
|||
FileBrowserId,
|
||||
JavaScriptFuncToExpandFolder); // JavaScript function to unhide rows
|
||||
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
|
||||
Ico_PutIconLink ("caret-right.svg",Ico_BLACK,Txt_Expand);
|
||||
Ico_PutIconLink ("caret-right.svg",Ico_BLACK,
|
||||
Act_GetActionText (Brw_ActExpandFolder[Gbl.FileBrowser.Type]));
|
||||
Frm_EndForm ();
|
||||
|
||||
/***** End container *****/
|
||||
|
@ -4924,7 +4924,6 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row
|
|||
static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *RowId,
|
||||
bool Hidden)
|
||||
{
|
||||
extern const char *Txt_Contract;
|
||||
char JavaScriptFuncToContractFolder[256 + Brw_MAX_ROW_ID];
|
||||
|
||||
/***** Begin container *****/
|
||||
|
@ -4944,7 +4943,8 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R
|
|||
FileBrowserId,
|
||||
JavaScriptFuncToContractFolder); // JavaScript function to hide rows
|
||||
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
|
||||
Ico_PutIconLink ("caret-down.svg",Ico_BLACK,Txt_Contract);
|
||||
Ico_PutIconLink ("caret-down.svg",Ico_BLACK,
|
||||
Act_GetActionText (Brw_ActContractFolder[Gbl.FileBrowser.Type]));
|
||||
Frm_EndForm ();
|
||||
|
||||
/***** End container *****/
|
||||
|
|
|
@ -291,12 +291,10 @@ static void Bld_PutIconsEditingBuildings (__attribute__((unused)) void *Args)
|
|||
|
||||
void Bld_PutIconToViewBuildings (void)
|
||||
{
|
||||
extern const char *Txt_Buildings;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeBld,NULL,
|
||||
NULL,NULL,
|
||||
"building.svg",Ico_BLACK,
|
||||
Txt_Buildings);
|
||||
Act_GetActionText (ActSeeBld));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -322,12 +322,10 @@ static void Cal_PutIconsCalendar (__attribute__((unused)) void *Args)
|
|||
|
||||
void Cal_PutIconToSeeCalendar (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Calendar;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeCal,NULL,
|
||||
NULL,NULL,
|
||||
"calendar.svg",Ico_BLACK,
|
||||
Txt_Calendar);
|
||||
Act_GetActionText (ActSeeCal));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -695,11 +695,7 @@ static void Cfe_ListCallsForExams (struct Cfe_CallsForExams *CallsForExams,
|
|||
|
||||
static void Cfe_PutIconToCreateNewCallForExam (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_New_call_FOR_EXAM;
|
||||
|
||||
Ico_PutContextualIconToAdd (ActEdiCfe,NULL,
|
||||
NULL,NULL,
|
||||
Txt_New_call_FOR_EXAM);
|
||||
Ico_PutContextualIconToAdd (ActEdiCfe,NULL,NULL,NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -501,12 +501,10 @@ static void Ctr_PutIconsEditingCenters (__attribute__((unused)) void *Args)
|
|||
|
||||
void Ctr_PutIconToViewCenters (void)
|
||||
{
|
||||
extern const char *Txt_Centers;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeCtr,NULL,
|
||||
NULL,NULL,
|
||||
"building.svg",Ico_BLACK,
|
||||
Txt_Centers);
|
||||
Act_GetActionText (ActSeeCtr));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1923,15 +1921,13 @@ static void Ctr_EditingCenterDestructor (void)
|
|||
|
||||
static void Ctr_FormToGoToMap (struct Ctr_Center *Ctr)
|
||||
{
|
||||
extern const char *Txt_Map;
|
||||
|
||||
if (Ctr_GetIfMapIsAvailable (Ctr))
|
||||
{
|
||||
Ctr_EditingCtr = Ctr; // Used to pass parameter with the code of the center
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeCtrInf,NULL,
|
||||
Ctr_PutParamGoToCtr,&Ctr_EditingCtr->CtrCod,
|
||||
"map-marker-alt.svg",Ico_BLACK,
|
||||
Txt_Map);
|
||||
Act_GetActionText (ActSeeCtrInf));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -276,8 +276,6 @@ static void CtrCfg_PutIconsCtrConfig (__attribute__((unused)) void *Args)
|
|||
|
||||
static void CtrCfg_PutIconToChangePhoto (void)
|
||||
{
|
||||
extern const char *Txt_Change_photo;
|
||||
extern const char *Txt_Upload_photo;
|
||||
char PathPhoto[PATH_MAX + 1];
|
||||
bool PhotoExists;
|
||||
|
||||
|
@ -291,8 +289,7 @@ static void CtrCfg_PutIconToChangePhoto (void)
|
|||
Lay_PutContextualLinkOnlyIcon (ActReqCtrPho,NULL,
|
||||
NULL,NULL,
|
||||
"camera.svg",Ico_BLACK,
|
||||
PhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo);
|
||||
Act_GetActionText (ActReqCtrPho));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -606,10 +606,12 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
|
|||
|
||||
TODO: Attach pdf files in multimedia.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.102.1 (2022-06-28)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.103 (2022-06-29)"
|
||||
#define CSS_FILE "swad21.100.css"
|
||||
#define JS_FILE "swad21.100.js"
|
||||
/*
|
||||
Version 21.103: Jun 29, 2022 Text in buttons got from text of actions.
|
||||
Preparation for Turkish translation. (328476 lines)
|
||||
Version 21.102.1: Jun 28, 2022 Text in buttons got from text of actions.
|
||||
Preparation for Turkish translation. (329296 lines)
|
||||
Version 21.102: Jun 28, 2022 Subtitles in menus is got from text of actions. (329462 lines)
|
||||
|
|
|
@ -134,12 +134,10 @@ void Con_ShowConnectedUsrs (void)
|
|||
|
||||
static void Con_PutIconToUpdateConnected (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Update;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActLstCon,NULL,
|
||||
Con_PutParamScope,NULL,
|
||||
"recycle.svg",Ico_BLACK,
|
||||
Txt_Update);
|
||||
Act_GetActionText (ActLstCon));
|
||||
}
|
||||
|
||||
static void Con_PutParamScope (__attribute__((unused)) void *Args)
|
||||
|
|
|
@ -728,12 +728,10 @@ static void Cty_PutIconsEditingCountries (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Cty_PutIconToViewCountries (void)
|
||||
{
|
||||
extern const char *Txt_Countries;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeCty,NULL,
|
||||
NULL,NULL,
|
||||
"globe-americas.svg",Ico_BLACK,
|
||||
Txt_Countries);
|
||||
Act_GetActionText (ActSeeCty));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1901,15 +1899,13 @@ static void Cty_EditingCountryDestructor (void)
|
|||
|
||||
static void Cty_FormToGoToMap (struct Cty_Countr *Cty)
|
||||
{
|
||||
extern const char *Txt_Map;
|
||||
|
||||
if (Cty_DB_CheckIfMapIsAvailable (Cty->CtyCod))
|
||||
{
|
||||
Cty_EditingCty = Cty; // Used to pass parameter with the code of the country
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeCtyInf,NULL,
|
||||
Cty_PutParamGoToCty,&Cty_EditingCty->CtyCod,
|
||||
"map-marker-alt.svg",Ico_BLACK,
|
||||
Txt_Map);
|
||||
Act_GetActionText (ActSeeCtyInf));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1097,12 +1097,10 @@ static void Crs_PutIconsEditingCourses (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Crs_PutIconToViewCourses (void)
|
||||
{
|
||||
extern const char *Txt_Courses;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeCrs,NULL,
|
||||
NULL,NULL,
|
||||
"chalkboard-teacher.svg",Ico_BLACK,
|
||||
Txt_Courses);
|
||||
Act_GetActionText (ActSeeCrs));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -2191,13 +2189,10 @@ void Crs_ReqSelectOneOfMyCourses (void)
|
|||
|
||||
static void Crs_PutIconToSearchCourses (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Search_courses;
|
||||
|
||||
/***** Put form to search / select courses *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqSch,NULL,
|
||||
Sch_PutLinkToSearchCoursesParams,NULL,
|
||||
"search.svg",Ico_BLACK,
|
||||
Txt_Search_courses);
|
||||
Act_GetActionText (ActReqSch));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -2229,14 +2224,11 @@ void Crs_PutIconToSelectMyCoursesInBreadcrumb (void)
|
|||
|
||||
void Crs_PutIconToSelectMyCourses (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_My_courses;
|
||||
|
||||
if (Gbl.Usrs.Me.Logged) // I am logged
|
||||
/***** Put icon with link *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActMyCrs,NULL,
|
||||
NULL,NULL,
|
||||
"sitemap.svg",Ico_BLACK,
|
||||
Txt_My_courses);
|
||||
Act_GetActionText (ActMyCrs));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -960,12 +960,10 @@ static void Deg_PutIconsEditingDegrees (__attribute__((unused)) void *Args)
|
|||
|
||||
void Deg_PutIconToViewDegrees (void)
|
||||
{
|
||||
extern const char *Txt_Degrees;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeDeg,NULL,
|
||||
NULL,NULL,
|
||||
"graduation-cap.svg",Ico_BLACK,
|
||||
Txt_Degrees);
|
||||
Act_GetActionText (ActSeeDeg));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -301,12 +301,10 @@ static void DegTyp_PutIconsEditingDegreeTypes (__attribute__((unused)) void *Arg
|
|||
|
||||
void DegTyp_PutIconToViewDegreeTypes (void)
|
||||
{
|
||||
extern const char *Txt_Types_of_degree;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeDegTyp,NULL,
|
||||
NULL,NULL,
|
||||
"sitemap.svg",Ico_BLACK,
|
||||
Txt_Types_of_degree);
|
||||
Act_GetActionText (ActSeeDegTyp));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -365,11 +365,8 @@ static void Exa_PutIconsListExams (void *Exams)
|
|||
|
||||
static void Exa_PutIconToCreateNewExam (struct Exa_Exams *Exams)
|
||||
{
|
||||
extern const char *Txt_New_exam;
|
||||
|
||||
Ico_PutContextualIconToAdd (ActFrmNewExa,NULL,
|
||||
Exa_PutParamsToCreateNewExam,Exams,
|
||||
Txt_New_exam);
|
||||
Exa_PutParamsToCreateNewExam,Exams);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -253,12 +253,8 @@ static void ExaSes_PutIconsInListOfSessions (void *Exams)
|
|||
|
||||
static void ExaSes_PutIconToCreateNewSession (struct Exa_Exams *Exams)
|
||||
{
|
||||
extern const char *Txt_New_session;
|
||||
|
||||
/***** Put form to create a new exam session *****/
|
||||
Ico_PutContextualIconToAdd (ActReqNewExaSes,ExaSes_NEW_SESSION_SECTION_ID,
|
||||
Exa_PutParams,Exams,
|
||||
Txt_New_session);
|
||||
Exa_PutParams,Exams);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -641,8 +637,6 @@ static void ExaSes_ListOneOrMoreSessionsResult (struct Exa_Exams *Exams,
|
|||
static void ExaSes_ListOneOrMoreSessionsResultStd (struct Exa_Exams *Exams,
|
||||
const struct ExaSes_Session *Session)
|
||||
{
|
||||
extern const char *Txt_Results;
|
||||
|
||||
/***** Is exam session result visible or hidden? *****/
|
||||
if (Session->ShowUsrResults)
|
||||
{
|
||||
|
@ -652,7 +646,7 @@ static void ExaSes_ListOneOrMoreSessionsResultStd (struct Exa_Exams *Exams,
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeMyExaResSes,ExaRes_RESULTS_BOX_ID,
|
||||
ExaSes_PutParamsEdit,Exams,
|
||||
"trophy.svg",Ico_BLACK,
|
||||
Txt_Results);
|
||||
Act_GetActionText (ActSeeMyExaResSes));
|
||||
}
|
||||
else
|
||||
/* Result is forbidden to me */
|
||||
|
@ -664,7 +658,6 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
|
|||
{
|
||||
extern const char *Txt_Visible_results;
|
||||
extern const char *Txt_Hidden_results;
|
||||
extern const char *Txt_Results;
|
||||
|
||||
Exams->ExaCod = Session->ExaCod;
|
||||
Exams->SesCod = Session->SesCod;
|
||||
|
@ -674,7 +667,7 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeUsrExaResSes,ExaRes_RESULTS_BOX_ID,
|
||||
ExaSes_PutParamsEdit,Exams,
|
||||
"trophy.svg",Ico_BLACK,
|
||||
Txt_Results);
|
||||
Act_GetActionText (ActSeeUsrExaResSes));
|
||||
|
||||
/***** Check if visibility of session results can be changed *****/
|
||||
if (ExaSes_CheckIfVisibilityOfResultsCanBeChanged (Session))
|
||||
|
@ -684,12 +677,12 @@ static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
|
|||
Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL,
|
||||
ExaSes_PutParamsEdit,Exams,
|
||||
"eye.svg",Ico_GREEN,
|
||||
Txt_Visible_results);
|
||||
Act_GetActionText (ActChgVisExaRes));
|
||||
else
|
||||
Lay_PutContextualLinkOnlyIcon (ActChgVisExaRes,NULL,
|
||||
ExaSes_PutParamsEdit,Exams,
|
||||
"eye-slash.svg",Ico_RED,
|
||||
Txt_Hidden_results);
|
||||
Act_GetActionText (ActChgVisExaRes));
|
||||
}
|
||||
else // Don't put form
|
||||
{
|
||||
|
|
|
@ -711,15 +711,12 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
|
|||
bool ICanEditSets)
|
||||
{
|
||||
extern const char *Txt_Sets_of_questions;
|
||||
extern const char *Txt_Move_up_X;
|
||||
extern const char *Txt_Move_down_X;
|
||||
extern const char *Txt_Movement_not_allowed;
|
||||
unsigned NumSet;
|
||||
struct ExaSet_Set Set;
|
||||
MYSQL_ROW row;
|
||||
char *Anchor;
|
||||
char StrSetInd[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
||||
char *Title;
|
||||
|
||||
/***** Trivial check *****/
|
||||
if (!NumSets)
|
||||
|
@ -783,30 +780,20 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
|
|||
|
||||
/* Put icon to move up the question */
|
||||
if (ICanEditSets && Set.SetInd > 1)
|
||||
{
|
||||
if (asprintf (&Title,Txt_Move_up_X,StrSetInd) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActUp_ExaSet,Anchor,
|
||||
ExaSet_PutParamsOneSet,Exams,
|
||||
"arrow-up.svg",Ico_BLACK,
|
||||
Title);
|
||||
free (Title);
|
||||
}
|
||||
Act_GetActionText (ActUp_ExaSet));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
||||
/* Put icon to move down the set */
|
||||
if (ICanEditSets && Set.SetInd < MaxSetInd)
|
||||
{
|
||||
if (asprintf (&Title,Txt_Move_down_X,StrSetInd) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActDwnExaSet,Anchor,
|
||||
ExaSet_PutParamsOneSet,Exams,
|
||||
"arrow-down.svg",Ico_BLACK,
|
||||
Title);
|
||||
free (Title);
|
||||
}
|
||||
Act_GetActionText (ActDwnExaSet));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
@ -942,8 +929,6 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
|
|||
MYSQL_RES *mysql_res,
|
||||
bool ICanEditQuestions)
|
||||
{
|
||||
extern const char *Txt_Invalid_question;
|
||||
extern const char *Txt_Valid_question;
|
||||
extern const char *Txt_Questions;
|
||||
extern const char *Txt_No_INDEX;
|
||||
extern const char *Txt_Question;
|
||||
|
@ -955,11 +940,10 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
|
|||
Act_Action_t NextAction;
|
||||
const char *Icon;
|
||||
Ico_Color_t Color;
|
||||
const char **Title;
|
||||
} ValInv[Qst_NUM_VALIDITIES] =
|
||||
{
|
||||
[Qst_INVALID_QUESTION] = {ActValSetQst,"times.svg",Ico_RED ,&Txt_Invalid_question}, // Validate question (set it as valid question)
|
||||
[Qst_VALID_QUESTION ] = {ActInvSetQst,"check.svg",Ico_GREEN,&Txt_Valid_question }, // Invalidated question (set it as canceled question)
|
||||
[Qst_INVALID_QUESTION] = {ActValSetQst,"times.svg",Ico_RED }, // Validate question (set it as valid question)
|
||||
[Qst_VALID_QUESTION ] = {ActInvSetQst,"check.svg",Ico_GREEN}, // Invalidated question (set it as canceled question)
|
||||
};
|
||||
|
||||
/***** Begin table *****/
|
||||
|
@ -1004,11 +988,11 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams,
|
|||
Ico_PutIconRemovalNotAllowed ();
|
||||
|
||||
/* Put icon to cancel the question */
|
||||
Lay_PutContextualLinkOnlyIcon ( ValInv[Question.Validity].NextAction,Anchor,
|
||||
ExaSet_PutParamsOneQst,Exams,
|
||||
ValInv[Question.Validity].Icon,
|
||||
ValInv[Question.Validity].Color,
|
||||
*ValInv[Question.Validity].Title);
|
||||
Lay_PutContextualLinkOnlyIcon (ValInv[Question.Validity].NextAction,Anchor,
|
||||
ExaSet_PutParamsOneQst,Exams,
|
||||
ValInv[Question.Validity].Icon,
|
||||
ValInv[Question.Validity].Color,
|
||||
Act_GetActionText (ValInv[Question.Validity].NextAction));
|
||||
|
||||
HTM_TD_End ();
|
||||
|
||||
|
@ -1825,12 +1809,8 @@ static void ExaSet_ExchangeSets (long ExaCod,
|
|||
|
||||
static void ExaSet_PutIconToAddNewQuestions (void *Exams)
|
||||
{
|
||||
extern const char *Txt_Add_questions;
|
||||
|
||||
/***** Put form to create a new question *****/
|
||||
Ico_PutContextualIconToAdd (ActReqAddQstExaSet,NULL,
|
||||
ExaSet_PutParamsOneSet,Exams,
|
||||
Txt_Add_questions);
|
||||
ExaSet_PutParamsOneSet,Exams);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -138,7 +138,6 @@ static void Fig_ReqShowFigure (Fig_FigureType_t SelectedFigureType)
|
|||
|
||||
void Fig_PutIconToShowFigure (Fig_FigureType_t FigureType)
|
||||
{
|
||||
extern const char *Txt_Show_statistic;
|
||||
struct Fig_Figures Figures;
|
||||
|
||||
/***** Set default scope (used only if Gbl.Scope.Current is unknown) *****/
|
||||
|
@ -151,7 +150,7 @@ void Fig_PutIconToShowFigure (Fig_FigureType_t FigureType)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeUseGbl,NULL,
|
||||
Fig_PutHiddenParamFigures,&Figures,
|
||||
"chart-pie.svg",Ico_BLACK,
|
||||
Txt_Show_statistic);
|
||||
Act_GetActionText (ActSeeUseGbl));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -265,12 +265,10 @@ static void Fol_PutIconsWhoToFollow (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Fol_PutIconToUpdateWhoToFollow (void)
|
||||
{
|
||||
extern const char *Txt_Update;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeSocPrf,NULL,
|
||||
NULL,NULL,
|
||||
"recycle.svg",Ico_BLACK,
|
||||
Txt_Update);
|
||||
Act_GetActionText (ActSeeSocPrf));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
10
swad_forum.c
10
swad_forum.c
|
@ -833,13 +833,10 @@ static void For_ShowPostsOfAThread (struct For_Forums *Forums,
|
|||
|
||||
static void For_PutIconNewPost (void *Forums)
|
||||
{
|
||||
extern const char *Txt_New_post;
|
||||
|
||||
if (Forums)
|
||||
Ico_PutContextualIconToAdd (For_ActionsSeePstFor[((struct For_Forums *) Forums)->Forum.Type],
|
||||
For_NEW_POST_SECTION_ID,
|
||||
For_PutAllHiddenParamsNewPost,Forums,
|
||||
Txt_New_post);
|
||||
For_PutAllHiddenParamsNewPost,Forums);
|
||||
}
|
||||
|
||||
static void For_PutAllHiddenParamsNewPost (void *Forums)
|
||||
|
@ -2134,13 +2131,10 @@ static void For_ShowForumThreadsHighlightingOneThread (struct For_Forums *Forums
|
|||
|
||||
static void For_PutIconNewThread (void *Forums)
|
||||
{
|
||||
extern const char *Txt_New_thread;
|
||||
|
||||
if (Forums)
|
||||
Ico_PutContextualIconToAdd (For_ActionsSeeFor[((struct For_Forums *) Forums)->Forum.Type],
|
||||
For_NEW_THREAD_SECTION_ID,
|
||||
For_PutAllHiddenParamsNewThread,Forums,
|
||||
Txt_New_thread);
|
||||
For_PutAllHiddenParamsNewThread,Forums);
|
||||
}
|
||||
|
||||
static void For_PutAllHiddenParamsNewThread (void *Forums)
|
||||
|
|
29
swad_game.c
29
swad_game.c
|
@ -404,11 +404,8 @@ static void Gam_PutIconsListGames (void *Games)
|
|||
|
||||
static void Gam_PutIconToCreateNewGame (struct Gam_Games *Games)
|
||||
{
|
||||
extern const char *Txt_New_game;
|
||||
|
||||
Ico_PutContextualIconToAdd (ActFrmNewGam,NULL,
|
||||
Gam_PutParamsToCreateNewGame,Games,
|
||||
Txt_New_game);
|
||||
Gam_PutParamsToCreateNewGame,Games);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1688,8 +1685,6 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
|
|||
extern const char *Txt_Code;
|
||||
extern const char *Txt_Tags;
|
||||
extern const char *Txt_Question;
|
||||
extern const char *Txt_Move_up_X;
|
||||
extern const char *Txt_Move_down_X;
|
||||
extern const char *Txt_Movement_not_allowed;
|
||||
unsigned NumQst;
|
||||
MYSQL_ROW row;
|
||||
|
@ -1699,7 +1694,6 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
|
|||
char StrQstInd[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
||||
bool QuestionExists;
|
||||
char *Anchor = NULL;
|
||||
char *Title;
|
||||
|
||||
/***** Trivial check *****/
|
||||
if (!NumQsts)
|
||||
|
@ -1762,30 +1756,20 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
|
|||
|
||||
/* Put icon to move up the question */
|
||||
if (ICanEditQuestions && QstInd > 1)
|
||||
{
|
||||
if (asprintf (&Title,Txt_Move_up_X,StrQstInd) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,Anchor,
|
||||
Gam_PutParamsOneQst,Games,
|
||||
"arrow-up.svg",Ico_BLACK,
|
||||
Title);
|
||||
free (Title);
|
||||
}
|
||||
Act_GetActionText (ActUp_GamQst));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
||||
/* Put icon to move down the question */
|
||||
if (ICanEditQuestions && QstInd < MaxQstInd)
|
||||
{
|
||||
if (asprintf (&Title,Txt_Move_down_X,StrQstInd) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,Anchor,
|
||||
Gam_PutParamsOneQst,Games,
|
||||
"arrow-down.svg",Ico_BLACK,
|
||||
Title);
|
||||
free (Title);
|
||||
}
|
||||
Act_GetActionText (ActDwnGamQst));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
@ -1821,12 +1805,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
|
|||
|
||||
static void Gam_PutIconToAddNewQuestions (void *Games)
|
||||
{
|
||||
extern const char *Txt_Add_questions;
|
||||
|
||||
/***** Put form to create a new question *****/
|
||||
Ico_PutContextualIconToAdd (ActAddOneGamQst,NULL,
|
||||
Gam_PutParams,Games,
|
||||
Txt_Add_questions);
|
||||
Ico_PutContextualIconToAdd (ActAddOneGamQst,NULL,Gam_PutParams,Games);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
13
swad_group.c
13
swad_group.c
|
@ -341,12 +341,7 @@ static void Grp_PutIconsEditingGroups (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Grp_PutIconToCreateNewGroup (void)
|
||||
{
|
||||
extern const char *Txt_New_group;
|
||||
|
||||
/***** Put form to create a new group *****/
|
||||
Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_SECTION_ID,
|
||||
NULL,NULL,
|
||||
Txt_New_group);
|
||||
Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_SECTION_ID,NULL,NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1370,12 +1365,8 @@ static void Grp_PutIconToViewGroups (void)
|
|||
|
||||
static void Grp_PutIconToCreateNewGroupType (void)
|
||||
{
|
||||
extern const char *Txt_New_type_of_group;
|
||||
|
||||
/***** Put form to create a new type of group *****/
|
||||
Ico_PutContextualIconToAdd (ActReqEdiGrp,Grp_NEW_GROUP_TYPE_SECTION_ID,
|
||||
NULL,NULL,
|
||||
Txt_New_type_of_group);
|
||||
NULL,NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -250,12 +250,10 @@ static void Hld_PutIconsSeeHolidays (__attribute__((unused)) void *Args)
|
|||
|
||||
void Hld_PutIconToSeeHlds (void)
|
||||
{
|
||||
extern const char *Txt_Holidays;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeHld,NULL,
|
||||
NULL,NULL,
|
||||
"calendar-day.svg",Ico_BLACK,
|
||||
Txt_Holidays);
|
||||
Act_GetActionText (ActSeeHld));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
17
swad_icon.c
17
swad_icon.c
|
@ -232,13 +232,12 @@ Ico_IconSet_t Ico_GetIconSetFromStr (const char *Str)
|
|||
/*****************************************************************************/
|
||||
|
||||
void Ico_PutContextualIconToAdd (Act_Action_t NextAction,const char *Anchor,
|
||||
void (*FuncParams) (void *Args),void *Args,
|
||||
const char *Txt)
|
||||
void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
|
||||
FuncParams,Args,
|
||||
"plus.svg",Ico_BLACK,
|
||||
Txt);
|
||||
Act_GetActionText (NextAction));
|
||||
}
|
||||
|
||||
void Ico_PutContextualIconToRemove (Act_Action_t NextAction,const char *Anchor,
|
||||
|
@ -346,34 +345,28 @@ void Ico_PutContextualIconToCreateInFolder (Act_Action_t NextAction,
|
|||
void Ico_PutContextualIconToShowResults (Act_Action_t NextAction,const char *Anchor,
|
||||
void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
extern const char *Txt_Results;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
|
||||
FuncParams,Args,
|
||||
"trophy.svg",Ico_BLACK,
|
||||
Txt_Results);
|
||||
Act_GetActionText (NextAction));
|
||||
}
|
||||
|
||||
void Ico_PutContextualIconToShowAttendanceList (Act_Action_t NextAction,
|
||||
void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
extern const char *Txt_Attendance_list;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
|
||||
FuncParams,Args,
|
||||
"tasks.svg",Ico_BLACK,
|
||||
Txt_Attendance_list);
|
||||
Act_GetActionText (NextAction));
|
||||
}
|
||||
|
||||
void Ico_PutContextualIconToZIP (Act_Action_t NextAction,
|
||||
void (*FuncParams) (void *Args),void *Args)
|
||||
{
|
||||
extern const char *Txt_Create_ZIP_file;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
|
||||
FuncParams,Args,
|
||||
"download.svg",Ico_BLACK,
|
||||
Txt_Create_ZIP_file);
|
||||
Act_GetActionText (NextAction));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -65,8 +65,7 @@ Ico_IconSet_t Ico_GetParamIconSet (void);
|
|||
Ico_IconSet_t Ico_GetIconSetFromStr (const char *Str);
|
||||
|
||||
void Ico_PutContextualIconToAdd (Act_Action_t NextAction,const char *Anchor,
|
||||
void (*FuncParams) (void *Args),void *Args,
|
||||
const char *Txt);
|
||||
void (*FuncParams) (void *Args),void *Args);
|
||||
void Ico_PutContextualIconToRemove (Act_Action_t NextAction,const char *Anchor,
|
||||
void (*FuncParams) (void *Args),void *Args);
|
||||
void Ico_PutContextualIconToEdit (Act_Action_t NextAction,const char *Anchor,
|
||||
|
|
|
@ -594,12 +594,10 @@ static void Ins_PutIconsEditingInstitutions (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Ins_PutIconToViewInstitutions (void)
|
||||
{
|
||||
extern const char *Txt_Institutions;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeIns,NULL,
|
||||
NULL,NULL,
|
||||
"university.svg",Ico_BLACK,
|
||||
Txt_Institutions);
|
||||
Act_GetActionText (ActSeeIns));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1896,15 +1894,13 @@ static void Ins_EditingInstitutionDestructor (void)
|
|||
|
||||
static void Ins_FormToGoToMap (struct Ins_Instit *Ins)
|
||||
{
|
||||
extern const char *Txt_Map;
|
||||
|
||||
if (Ctr_DB_CheckIfMapIsAvailableInIns (Ins->InsCod))
|
||||
{
|
||||
Ins_EditingIns = Ins; // Used to pass parameter with the code of the institution
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeInsInf,NULL,
|
||||
Ins_PutParamGoToIns,&Ins_EditingIns->InsCod,
|
||||
"map-marker-alt.svg",Ico_BLACK,
|
||||
Txt_Map);
|
||||
Act_GetActionText (ActSeeInsInf));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -268,12 +268,10 @@ static void Lnk_PutIconsEditingLinks (__attribute__((unused)) void *Args)
|
|||
|
||||
void Lnk_PutIconToViewLinks (void)
|
||||
{
|
||||
extern const char *Txt_Links;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeLnk,NULL,
|
||||
NULL,NULL,
|
||||
"link.svg",Ico_BLACK,
|
||||
Txt_Links);
|
||||
Act_GetActionText (ActSeeLnk));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
56
swad_logo.c
56
swad_logo.c
|
@ -201,50 +201,21 @@ void Lgo_DrawLogo (HieLvl_Level_t Scope,long Cod,const char *AltText,
|
|||
|
||||
void Lgo_PutIconToChangeLogo (HieLvl_Level_t Scope)
|
||||
{
|
||||
extern const char *Txt_Change_logo;
|
||||
extern const char *Txt_Upload_logo;
|
||||
Act_Action_t Action;
|
||||
long Cod;
|
||||
const char *Folder;
|
||||
char PathLogo[PATH_MAX + 1];
|
||||
bool LogoExists;
|
||||
|
||||
/***** Set variables depending on scope *****/
|
||||
switch (Scope)
|
||||
static Act_Action_t Action[HieLvl_NUM_LEVELS] =
|
||||
{
|
||||
case HieLvl_INS:
|
||||
Action = ActReqInsLog;
|
||||
Cod = Gbl.Hierarchy.Ins.InsCod;
|
||||
Folder = Cfg_FOLDER_INS;
|
||||
break;
|
||||
case HieLvl_CTR:
|
||||
Action = ActReqCtrLog;
|
||||
Cod = Gbl.Hierarchy.Ctr.CtrCod;
|
||||
Folder = Cfg_FOLDER_CTR;
|
||||
break;
|
||||
case HieLvl_DEG:
|
||||
Action = ActReqDegLog;
|
||||
Cod = Gbl.Hierarchy.Deg.DegCod;
|
||||
Folder = Cfg_FOLDER_DEG;
|
||||
break;
|
||||
default:
|
||||
return; // Nothing to do
|
||||
}
|
||||
[HieLvl_UNK] = ActUnk, // Unknown
|
||||
[HieLvl_SYS] = ActUnk, // System
|
||||
[HieLvl_CTY] = ActUnk, // Country
|
||||
[HieLvl_INS] = ActReqInsLog, // Institution
|
||||
[HieLvl_CTR] = ActReqCtrLog, // Center
|
||||
[HieLvl_DEG] = ActReqDegLog, // Degree
|
||||
[HieLvl_CRS] = ActUnk, // Course
|
||||
};
|
||||
|
||||
/***** Check if logo exists *****/
|
||||
snprintf (PathLogo,sizeof (PathLogo),"%s/%s/%02u/%u/logo/%u.png",
|
||||
Cfg_PATH_SWAD_PUBLIC,Folder,
|
||||
(unsigned) (Cod % 100),
|
||||
(unsigned) Cod,
|
||||
(unsigned) Cod);
|
||||
LogoExists = Fil_CheckIfPathExists (PathLogo);
|
||||
|
||||
/***** Link for changing / uploading the logo *****/
|
||||
Lay_PutContextualLinkOnlyIcon (Action,NULL,
|
||||
Lay_PutContextualLinkOnlyIcon (Action[Scope],NULL,
|
||||
NULL,NULL,
|
||||
"shield-alt.svg",Ico_BLACK,
|
||||
LogoExists ? Txt_Change_logo :
|
||||
Txt_Upload_logo);
|
||||
Act_GetActionText (Action[Scope]));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -344,13 +315,10 @@ static void Lgo_PutIconToRemoveLogoDeg (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Lgo_PutIconToRemoveLogo (Act_Action_t ActionRem)
|
||||
{
|
||||
extern const char *Txt_Remove_logo;
|
||||
|
||||
/***** Link to request the removal of the logo *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActionRem,NULL,
|
||||
NULL,NULL,
|
||||
"trash.svg",Ico_RED,
|
||||
Txt_Remove_logo);
|
||||
Act_GetActionText (ActionRem));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
24
swad_match.c
24
swad_match.c
|
@ -362,12 +362,8 @@ static void Mch_PutIconsInListOfMatches (void *Games)
|
|||
|
||||
static void Mch_PutIconToCreateNewMatch (struct Gam_Games *Games)
|
||||
{
|
||||
extern const char *Txt_New_match;
|
||||
|
||||
/***** Put form to create a new match *****/
|
||||
Ico_PutContextualIconToAdd (ActReqNewMch,Mch_NEW_MATCH_SECTION_ID,
|
||||
Gam_PutParams,Games,
|
||||
Txt_New_match);
|
||||
Gam_PutParams,Games);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -731,9 +727,6 @@ void Mch_ListOneOrMoreMatchesNumPlayers (const struct Mch_Match *Match)
|
|||
|
||||
static void Mch_ListOneOrMoreMatchesStatus (struct Mch_Match *Match,unsigned NumQsts)
|
||||
{
|
||||
extern const char *Txt_Play;
|
||||
extern const char *Txt_Resume;
|
||||
|
||||
HTM_TD_Begin ("class=\"CT DAT_%s %s\"",
|
||||
The_GetSuffix (),The_GetColorRows ());
|
||||
|
||||
|
@ -752,8 +745,8 @@ static void Mch_ListOneOrMoreMatchesStatus (struct Mch_Match *Match,unsigned Num
|
|||
Mch_PutParamsPlay,&Match->MchCod,
|
||||
Match->Status.Showing == Mch_END ? "flag-checkered.svg" :
|
||||
"play.svg",Ico_BLACK,
|
||||
Gbl.Usrs.Me.Role.Logged == Rol_STD ? Txt_Play :
|
||||
Txt_Resume);
|
||||
Act_GetActionText (Gbl.Usrs.Me.Role.Logged == Rol_STD ? ActJoiMch :
|
||||
ActResMch));
|
||||
|
||||
HTM_TD_End ();
|
||||
}
|
||||
|
@ -788,8 +781,6 @@ static void Mch_ListOneOrMoreMatchesResult (struct Gam_Games *Games,
|
|||
static void Mch_ListOneOrMoreMatchesResultStd (struct Gam_Games *Games,
|
||||
const struct Mch_Match *Match)
|
||||
{
|
||||
extern const char *Txt_Results;
|
||||
|
||||
/***** Is match result visible or hidden? *****/
|
||||
if (Match->Status.ShowUsrResults)
|
||||
{
|
||||
|
@ -799,7 +790,7 @@ static void Mch_ListOneOrMoreMatchesResultStd (struct Gam_Games *Games,
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeMyMchResMch,MchRes_RESULTS_BOX_ID,
|
||||
Mch_PutParamsEdit,Games,
|
||||
"trophy.svg",Ico_BLACK,
|
||||
Txt_Results);
|
||||
Act_GetActionText (ActSeeMyMchResMch));
|
||||
}
|
||||
else
|
||||
/* Result is forbidden to me */
|
||||
|
@ -811,7 +802,6 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games,
|
|||
{
|
||||
extern const char *Txt_Visible_results;
|
||||
extern const char *Txt_Hidden_results;
|
||||
extern const char *Txt_Results;
|
||||
|
||||
Games->GamCod = Match->GamCod;
|
||||
Games->MchCod.Current = Match->MchCod;
|
||||
|
@ -821,7 +811,7 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games,
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeUsrMchResMch,MchRes_RESULTS_BOX_ID,
|
||||
Mch_PutParamsEdit,Games,
|
||||
"trophy.svg",Ico_BLACK,
|
||||
Txt_Results);
|
||||
Act_GetActionText (ActSeeUsrMchResMch));
|
||||
|
||||
/***** Check if visibility of session results can be changed *****/
|
||||
if (Mch_CheckIfVisibilityOfResultsCanBeChanged (Match))
|
||||
|
@ -831,12 +821,12 @@ static void Mch_ListOneOrMoreMatchesResultTch (struct Gam_Games *Games,
|
|||
Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL,
|
||||
Mch_PutParamsEdit,Games,
|
||||
"eye.svg",Ico_GREEN,
|
||||
Txt_Visible_results);
|
||||
Act_GetActionText (ActChgVisResMchUsr));
|
||||
else
|
||||
Lay_PutContextualLinkOnlyIcon (ActChgVisResMchUsr,NULL,
|
||||
Mch_PutParamsEdit,Games,
|
||||
"eye-slash.svg",Ico_RED,
|
||||
Txt_Hidden_results);
|
||||
Act_GetActionText (ActChgVisResMchUsr));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -1693,9 +1693,6 @@ static void Msg_SetNumMsgsStr (const struct Msg_Messages *Messages,
|
|||
|
||||
static void Msg_PutIconsListMsgs (void *Messages)
|
||||
{
|
||||
extern const char *Txt_MSGS_Sent;
|
||||
extern const char *Txt_MSGS_Received;
|
||||
extern const char *Txt_MSGS_Write;
|
||||
static const Act_Action_t ActionReqDelAllMsg[Msg_NUM_TYPES_OF_MSGS] =
|
||||
{
|
||||
[Msg_WRITING ] = ActUnk,
|
||||
|
@ -1713,7 +1710,7 @@ static void Msg_PutIconsListMsgs (void *Messages)
|
|||
Lay_PutContextualLinkOnlyIcon (ActReqMsgUsr,NULL,
|
||||
Msg_PutHiddenParamsMsgsFilters,Messages,
|
||||
"marker.svg",Ico_BLACK,
|
||||
Txt_MSGS_Write);
|
||||
Act_GetActionText (ActReqMsgUsr));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -1727,7 +1724,7 @@ static void Msg_PutIconsListMsgs (void *Messages)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeRcvMsg,NULL,
|
||||
Msg_PutHiddenParamsMsgsFilters,Messages,
|
||||
"inbox.svg",Ico_BLACK,
|
||||
Txt_MSGS_Received);
|
||||
Act_GetActionText (ActSeeRcvMsg));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -1741,7 +1738,7 @@ static void Msg_PutIconsListMsgs (void *Messages)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeSntMsg,NULL,
|
||||
Msg_PutHiddenParamsMsgsFilters,Messages,
|
||||
"share.svg",Ico_BLACK,
|
||||
Txt_MSGS_Sent);
|
||||
Act_GetActionText (ActSeeSntMsg));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
|
@ -466,11 +466,7 @@ static void Not_PutIconsListNotices (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Not_PutIconToAddNewNotice (void)
|
||||
{
|
||||
extern const char *Txt_New_notice;
|
||||
|
||||
Ico_PutContextualIconToAdd (ActWriNot,NULL,
|
||||
NULL,NULL,
|
||||
Txt_New_notice);
|
||||
Ico_PutContextualIconToAdd (ActWriNot,NULL,NULL,NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -640,7 +636,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeOneNot,Anchor,
|
||||
Not_PutParams,&NotCod,
|
||||
"ellipsis-h.svg",Ico_BLACK,
|
||||
Txt_See_full_notice);
|
||||
Act_GetActionText (ActSeeOneNot));
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
else
|
||||
|
|
25
swad_photo.c
25
swad_photo.c
|
@ -170,11 +170,6 @@ bool Pho_ICanChangeOtherUsrPhoto (struct UsrData *UsrDat)
|
|||
|
||||
void Pho_PutIconToChangeUsrPhoto (void)
|
||||
{
|
||||
extern const char *Txt_Change_photo;
|
||||
extern const char *Txt_Upload_photo;
|
||||
bool PhotoExists;
|
||||
char PhotoURL[PATH_MAX + 1];
|
||||
const char *TitleText;
|
||||
static const Act_Action_t NextAction[Rol_NUM_ROLES] =
|
||||
{
|
||||
[Rol_UNK ] = ActReqOthPho,
|
||||
|
@ -192,24 +187,17 @@ void Pho_PutIconToChangeUsrPhoto (void)
|
|||
/***** Link for changing / uploading the photo *****/
|
||||
if (Usr_ItsMe (Gbl.Record.UsrDat->UsrCod))
|
||||
{
|
||||
TitleText = Gbl.Usrs.Me.MyPhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo;
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqMyPho,NULL,
|
||||
NULL,NULL,
|
||||
"camera.svg",Ico_BLACK,
|
||||
TitleText);
|
||||
Act_GetActionText (ActReqMyPho));
|
||||
}
|
||||
else // Not me
|
||||
if (Pho_ICanChangeOtherUsrPhoto (Gbl.Record.UsrDat))
|
||||
{
|
||||
PhotoExists = Pho_BuildLinkToPhoto (Gbl.Record.UsrDat,PhotoURL);
|
||||
TitleText = PhotoExists ? Txt_Change_photo :
|
||||
Txt_Upload_photo;
|
||||
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"camera.svg",Ico_BLACK,
|
||||
TitleText);
|
||||
}
|
||||
Act_GetActionText (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs]));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -218,14 +206,11 @@ void Pho_PutIconToChangeUsrPhoto (void)
|
|||
|
||||
static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Remove_photo;
|
||||
|
||||
/***** Link to request the removal of my photo *****/
|
||||
if (Gbl.Usrs.Me.MyPhotoExists)
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqRemMyPho,NULL,
|
||||
NULL,NULL,
|
||||
"trash.svg",Ico_RED,
|
||||
Txt_Remove_photo);
|
||||
Act_GetActionText (ActReqRemMyPho));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -234,7 +219,6 @@ static void Pho_PutIconToRequestRemoveMyPhoto (__attribute__((unused)) void *Arg
|
|||
|
||||
static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Remove_photo;
|
||||
char PhotoURL[PATH_MAX + 1];
|
||||
bool PhotoExists;
|
||||
static const Act_Action_t NextAction[Rol_NUM_ROLES] =
|
||||
|
@ -257,7 +241,7 @@ static void Pho_PutIconToRequestRemoveOtherUsrPhoto (__attribute__((unused)) voi
|
|||
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs],NULL,
|
||||
Usr_PutParamOtherUsrCodEncrypted,Gbl.Usrs.Other.UsrDat.EnUsrCod,
|
||||
"trash.svg",Ico_RED,
|
||||
Txt_Remove_photo);
|
||||
Act_GetActionText (NextAction[Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs]));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -296,7 +280,6 @@ static void Pho_ReqPhoto (const struct UsrData *UsrDat)
|
|||
extern const char *Txt_Photo;
|
||||
extern const char *Txt_You_can_send_a_file_with_an_image_in_JPEG_format_;
|
||||
extern const char *Txt_File_with_the_photo;
|
||||
extern const char *Txt_Upload_photo;
|
||||
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
|
||||
static const Act_Action_t NextAction[Rol_NUM_ROLES] =
|
||||
{
|
||||
|
|
|
@ -336,12 +336,10 @@ static void Plc_PutIconsEditingPlaces (__attribute__((unused)) void *Args)
|
|||
|
||||
void Plc_PutIconToViewPlaces (void)
|
||||
{
|
||||
extern const char *Txt_Places;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeePlc,NULL,
|
||||
Ins_PutParamCurrentInsCod,&Gbl.Hierarchy.Ins.InsCod,
|
||||
"map-marker-alt.svg",Ico_BLACK,
|
||||
Txt_Places);
|
||||
Act_GetActionText (ActSeePlc));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -342,13 +342,10 @@ static void Prg_PutIconsListItems (__attribute__((unused)) void *Args)
|
|||
|
||||
static void Prg_PutIconToCreateNewItem (void)
|
||||
{
|
||||
extern const char *Txt_New_item;
|
||||
long ItmCod = -1L;
|
||||
|
||||
/***** Put form to create a new program item *****/
|
||||
Ico_PutContextualIconToAdd (ActFrmNewPrgItm,"item_form",
|
||||
Prg_PutParams,&ItmCod,
|
||||
Txt_New_item);
|
||||
Prg_PutParams,&ItmCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -737,14 +734,8 @@ static bool Prg_CheckIfAnyHigherLevelIsHidden (unsigned CurrentLevel)
|
|||
static void Prg_PutFormsToRemEditOneItem (unsigned NumItem,
|
||||
struct Prg_Item *Item)
|
||||
{
|
||||
extern const char *Txt_New_item;
|
||||
extern const char *Txt_Move_up_X;
|
||||
extern const char *Txt_Move_down_X;
|
||||
extern const char *Txt_Increase_level_of_X;
|
||||
extern const char *Txt_Decrease_level_of_X;
|
||||
extern const char *Txt_Movement_not_allowed;
|
||||
char StrItemIndex[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
|
||||
char *Title;
|
||||
|
||||
/***** Initialize item index string *****/
|
||||
snprintf (StrItemIndex,sizeof (StrItemIndex),"%u",Item->Hierarchy.Index);
|
||||
|
@ -771,60 +762,43 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem,
|
|||
|
||||
/***** Put form to add a new child item inside this item *****/
|
||||
Ico_PutContextualIconToAdd (ActFrmNewPrgItm,"item_form",
|
||||
Prg_PutParams,&Item->Hierarchy.ItmCod,
|
||||
Txt_New_item);
|
||||
Prg_PutParams,&Item->Hierarchy.ItmCod);
|
||||
|
||||
HTM_BR ();
|
||||
|
||||
/***** Put icon to move up the item *****/
|
||||
if (Prg_CheckIfMoveUpIsAllowed (NumItem))
|
||||
{
|
||||
if (asprintf (&Title,Txt_Move_up_X,StrItemIndex) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActUp_PrgItm,"prg_highlighted",
|
||||
Prg_PutParams,&Item->Hierarchy.ItmCod,
|
||||
"arrow-up.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-up.svg",Ico_BLACK,
|
||||
Act_GetActionText (ActUp_PrgItm));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,Txt_Movement_not_allowed);
|
||||
|
||||
/***** Put icon to move down the item *****/
|
||||
if (Prg_CheckIfMoveDownIsAllowed (NumItem))
|
||||
{
|
||||
if (asprintf (&Title,Txt_Move_down_X,StrItemIndex) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActDwnPrgItm,"prg_highlighted",
|
||||
Prg_PutParams,&Item->Hierarchy.ItmCod,
|
||||
"arrow-down.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-down.svg",Ico_BLACK,
|
||||
Act_GetActionText (ActDwnPrgItm));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,Txt_Movement_not_allowed);
|
||||
|
||||
/***** Icon to move left item (increase level) *****/
|
||||
if (Prg_CheckIfMoveLeftIsAllowed (NumItem))
|
||||
{
|
||||
if (asprintf (&Title,Txt_Increase_level_of_X,StrItemIndex) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActLftPrgItm,"prg_highlighted",
|
||||
Prg_PutParams,&Item->Hierarchy.ItmCod,
|
||||
"arrow-left.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-left.svg",Ico_BLACK,
|
||||
Act_GetActionText (ActLftPrgItm));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-left.svg",Ico_BLACK,Txt_Movement_not_allowed);
|
||||
|
||||
/***** Icon to move right item (indent, decrease level) *****/
|
||||
if (Prg_CheckIfMoveRightIsAllowed (NumItem))
|
||||
{
|
||||
if (asprintf (&Title,Txt_Decrease_level_of_X,StrItemIndex) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (ActRgtPrgItm,"prg_highlighted",
|
||||
Prg_PutParams,&Item->Hierarchy.ItmCod,
|
||||
"arrow-right.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-right.svg",Ico_BLACK,
|
||||
Act_GetActionText (ActRgtPrgItm));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-right.svg",Ico_BLACK,Txt_Movement_not_allowed);
|
||||
break;
|
||||
|
|
|
@ -1108,13 +1108,8 @@ static void Prj_PutIconsListProjects (void *Projects)
|
|||
|
||||
static void Prj_PutIconToCreateNewPrj (struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *Txt_New_project;
|
||||
|
||||
/***** Put form to create a new project *****/
|
||||
Projects->PrjCod = -1L;
|
||||
Ico_PutContextualIconToAdd (ActFrmNewPrj,NULL,
|
||||
Prj_PutCurrentParams,Projects,
|
||||
Txt_New_project);
|
||||
Ico_PutContextualIconToAdd (ActFrmNewPrj,NULL,Prj_PutCurrentParams,Projects);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1138,12 +1133,10 @@ static void Prj_PutButtonToCreateNewPrj (struct Prj_Projects *Projects)
|
|||
|
||||
static void Prj_PutIconToShowAllData (struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *Txt_Show_all_data_in_a_table;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeTblAllPrj,NULL,
|
||||
Prj_PutCurrentParams,Projects,
|
||||
"table.svg",Ico_BLACK,
|
||||
Txt_Show_all_data_in_a_table);
|
||||
Act_GetActionText (ActSeeTblAllPrj));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -2039,8 +2032,6 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects,
|
|||
;
|
||||
extern const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
extern const char *Txt_Add_USERS;
|
||||
extern const char *Txt_PROJECT_ROLES_PLURAL_abc[Prj_NUM_ROLES_IN_PROJECT];
|
||||
static const Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] =
|
||||
{
|
||||
[Prj_ROLE_UNK] = ActUnk, // Unknown
|
||||
|
@ -2069,7 +2060,6 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects,
|
|||
unsigned NumUsrs;
|
||||
const char *ClassLabel;
|
||||
const char *ClassData;
|
||||
char *Txt;
|
||||
|
||||
/***** Set CSS classes *****/
|
||||
ClassLabel = (Prj->Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" :
|
||||
|
@ -2193,12 +2183,8 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects,
|
|||
HTM_TR_Begin (NULL);
|
||||
HTM_TD_Begin ("class=\"PRJ_MEMBER_ICO\"");
|
||||
Projects->PrjCod = Prj->PrjCod; // Used to pass project code as a parameter
|
||||
if (asprintf (&Txt,Txt_Add_USERS,
|
||||
Txt_PROJECT_ROLES_PLURAL_abc[RoleInPrj]) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInPrj],NULL,
|
||||
Prj_PutCurrentParams,Projects,Txt);
|
||||
free (Txt);
|
||||
Prj_PutCurrentParams,Projects);
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"PRJ_MEMBER_PHO\""); // Column for photo
|
||||
|
@ -3849,20 +3835,17 @@ static bool Prj_GetEditableFromForm (void)
|
|||
|
||||
static void Prj_PutIconsToLockUnlockAllProjects (struct Prj_Projects *Projects)
|
||||
{
|
||||
extern const char *Txt_Lock_editing;
|
||||
extern const char *Txt_Unlock_editing;
|
||||
|
||||
/***** Put icon to lock all projects *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqLckAllPrj,NULL,
|
||||
Prj_PutCurrentParams,Projects,
|
||||
"lock.svg",Ico_RED,
|
||||
Txt_Lock_editing);
|
||||
Act_GetActionText (ActReqLckAllPrj));
|
||||
|
||||
/***** Put icon to unlock all projects *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqUnlAllPrj,NULL,
|
||||
Prj_PutCurrentParams,Projects,
|
||||
"unlock.svg",Ico_GREEN,
|
||||
Txt_Unlock_editing);
|
||||
Act_GetActionText (ActReqUnlAllPrj));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -441,12 +441,8 @@ bool Qst_CheckIfICanEditQsts (void)
|
|||
|
||||
void Qst_PutIconsRequestBankQsts (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_New_question;
|
||||
|
||||
/***** Put icon to create a new test question *****/
|
||||
Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,
|
||||
NULL,NULL,
|
||||
Txt_New_question);
|
||||
Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,NULL,NULL);
|
||||
|
||||
/***** Put icon to edit tags *****/
|
||||
Tag_PutIconToEditTags ();
|
||||
|
@ -464,8 +460,6 @@ void Qst_PutIconsRequestBankQsts (__attribute__((unused)) void *Args)
|
|||
|
||||
void Qst_PutIconsEditBankQsts (void *Questions)
|
||||
{
|
||||
extern const char *Txt_New_question;
|
||||
|
||||
/***** Put form to remove selected test questions *****/
|
||||
switch (Gbl.Action.Act)
|
||||
{
|
||||
|
@ -483,9 +477,7 @@ void Qst_PutIconsEditBankQsts (void *Questions)
|
|||
|
||||
if (Gbl.Action.Act != ActEdiOneTstQst)
|
||||
/***** Put form to create a new test question *****/
|
||||
Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,
|
||||
NULL,NULL,
|
||||
Txt_New_question);
|
||||
Ico_PutContextualIconToAdd (ActEdiOneTstQst,NULL,NULL,NULL);
|
||||
|
||||
/***** Put icon to edit tags *****/
|
||||
Tag_PutIconToEditTags ();
|
||||
|
|
|
@ -76,13 +76,10 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
|
|||
|
||||
void QstImp_PutIconToExportQuestions (struct Qst_Questions *Questions)
|
||||
{
|
||||
extern const char *Txt_Export_questions;
|
||||
|
||||
/***** Put a link to create a file with questions *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActLstTstQst,NULL,
|
||||
QstImp_PutParamsExportQsts,Questions,
|
||||
"file-import.svg",Ico_BLACK,
|
||||
Txt_Export_questions);
|
||||
Act_GetActionText (ActLstTstQst));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -120,13 +117,10 @@ bool QstImp_GetCreateXMLParamFromForm (void)
|
|||
|
||||
void QstImp_PutIconToImportQuestions (void)
|
||||
{
|
||||
extern const char *Txt_Import_questions;
|
||||
|
||||
/***** Put a link to create a file with questions *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActReqImpTstQst,NULL,
|
||||
NULL,NULL,
|
||||
"file-export.svg",Ico_BLACK,
|
||||
Txt_Import_questions);
|
||||
Act_GetActionText (ActReqImpTstQst));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -2306,21 +2306,6 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
|
|||
|
||||
static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Edit_my_personal_data;
|
||||
extern const char *Txt_My_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
extern const char *Txt_View_record_for_this_course;
|
||||
extern const char *Txt_View_record_and_office_hours;
|
||||
extern const char *Txt_Show_agenda;
|
||||
extern const char *Txt_Administer_user;
|
||||
extern const char *Txt_Write_a_message;
|
||||
extern const char *Txt_View_homework;
|
||||
extern const char *Txt_View_tests;
|
||||
extern const char *Txt_View_exams;
|
||||
extern const char *Txt_View_games;
|
||||
extern const char *Txt_View_attendance;
|
||||
extern const char *Txt_Following_unfollow;
|
||||
extern const char *Txt_Follow;
|
||||
bool ItsMe = Usr_ItsMe (Gbl.Record.UsrDat->UsrCod);
|
||||
bool ICanViewUsrProfile;
|
||||
bool RecipientHasBannedMe;
|
||||
|
@ -2353,14 +2338,13 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActReqEdiRecSha,NULL,
|
||||
NULL,NULL,
|
||||
"pen.svg",Ico_BLACK,
|
||||
Txt_Edit_my_personal_data);
|
||||
Act_GetActionText (ActReqEdiRecSha));
|
||||
if (ICanViewUsrProfile)
|
||||
/***** Button to view user's profile *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeOthPubPrf,NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"user.svg",Ico_BLACK,
|
||||
ItsMe ? Txt_My_public_profile :
|
||||
Txt_Another_user_s_profile);
|
||||
Act_GetActionText (ActSeeOthPubPrf));
|
||||
|
||||
/***** Button to view user's record card *****/
|
||||
if (Usr_CheckIfICanViewRecordStd (Gbl.Record.UsrDat))
|
||||
|
@ -2368,24 +2352,24 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneStd,NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"address-card.svg",Ico_BLACK,
|
||||
Txt_View_record_for_this_course);
|
||||
Act_GetActionText (ActSeeRecOneStd));
|
||||
else if (Usr_CheckIfICanViewRecordTch (Gbl.Record.UsrDat))
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeRecOneTch,NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"address-card.svg",Ico_BLACK,
|
||||
Txt_View_record_and_office_hours);
|
||||
Act_GetActionText (ActSeeRecOneTch));
|
||||
|
||||
/***** Button to view user's agenda *****/
|
||||
if (ItsMe)
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeMyAgd,NULL,
|
||||
NULL,NULL,
|
||||
"calendar.svg",Ico_BLACK,
|
||||
Txt_Show_agenda);
|
||||
Act_GetActionText (ActSeeMyAgd));
|
||||
else if (Usr_CheckIfICanViewUsrAgenda (Gbl.Record.UsrDat))
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeUsrAgd,NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"calendar.svg",Ico_BLACK,
|
||||
Txt_Show_agenda);
|
||||
Act_GetActionText (ActSeeUsrAgd));
|
||||
|
||||
/***** Button to admin user *****/
|
||||
if (ItsMe ||
|
||||
|
@ -2397,7 +2381,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs],NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"user-cog.svg",Ico_BLACK,
|
||||
Txt_Administer_user);
|
||||
Act_GetActionText (NextAction[Gbl.Record.UsrDat->Roles.InCurrentCrs]));
|
||||
|
||||
if (Gbl.Hierarchy.Level == HieLvl_CRS) // Course selected
|
||||
{
|
||||
|
@ -2412,17 +2396,17 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeMyTstResCrs,NULL,
|
||||
Rec_PutParamsMyTsts,NULL,
|
||||
"check.svg",Ico_BLACK,
|
||||
Txt_View_tests);
|
||||
Act_GetActionText (ActSeeMyTstResCrs));
|
||||
/* My exam results in course */
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeMyExaResCrs,NULL,
|
||||
Rec_PutParamsMyTsts,NULL,
|
||||
"file-signature.svg",Ico_BLACK,
|
||||
Txt_View_exams);
|
||||
Act_GetActionText (ActSeeMyExaResCrs));
|
||||
/* My match results in course */
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeMyMchResCrs,NULL,
|
||||
Rec_PutParamsMyTsts,NULL,
|
||||
"gamepad.svg",Ico_BLACK,
|
||||
Txt_View_games);
|
||||
Act_GetActionText (ActSeeMyMchResCrs));
|
||||
}
|
||||
else // Not me
|
||||
{
|
||||
|
@ -2430,17 +2414,17 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeUsrTstResCrs,NULL,
|
||||
Rec_PutParamsStdTsts,NULL,
|
||||
"check.svg",Ico_BLACK,
|
||||
Txt_View_tests);
|
||||
Act_GetActionText (ActSeeUsrTstResCrs));
|
||||
/* User's exam results in course */
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeUsrExaResCrs,NULL,
|
||||
Rec_PutParamsStdTsts,NULL,
|
||||
"file-signature.svg",Ico_BLACK,
|
||||
Txt_View_exams);
|
||||
Act_GetActionText (ActSeeUsrExaResCrs));
|
||||
/* User's match results in course */
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeUsrMchResCrs,NULL,
|
||||
Rec_PutParamsStdTsts,NULL,
|
||||
"gamepad.svg",Ico_BLACK,
|
||||
Txt_View_games);
|
||||
Act_GetActionText (ActSeeUsrMchResCrs));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2451,12 +2435,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkUsr,NULL,
|
||||
NULL,NULL,
|
||||
"folder-open.svg",Ico_BLACK,
|
||||
Txt_View_homework);
|
||||
Act_GetActionText (ActAdmAsgWrkUsr));
|
||||
else // Not me, I am not a student in current course
|
||||
Lay_PutContextualLinkOnlyIcon (ActAdmAsgWrkCrs,NULL,
|
||||
Rec_PutParamsWorks,NULL,
|
||||
"folder-open.svg",Ico_BLACK,
|
||||
Txt_View_homework);
|
||||
Act_GetActionText (ActAdmAsgWrkCrs));
|
||||
}
|
||||
|
||||
/***** Button to view student's attendance *****/
|
||||
|
@ -2466,12 +2450,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActSeeLstMyAtt,NULL,
|
||||
NULL,NULL,
|
||||
"calendar-check.svg",Ico_BLACK,
|
||||
Txt_View_attendance);
|
||||
Act_GetActionText (ActSeeLstMyAtt));
|
||||
else // Not me
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeLstUsrAtt,NULL,
|
||||
Rec_PutParamsStudent,NULL,
|
||||
"calendar-check.svg",Ico_BLACK,
|
||||
Txt_View_attendance);
|
||||
Act_GetActionText (ActSeeLstUsrAtt));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2487,7 +2471,7 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActReqMsgUsr,NULL,
|
||||
Rec_PutParamsMsgUsr,NULL,
|
||||
"envelope.svg",Ico_BLACK,
|
||||
Txt_Write_a_message);
|
||||
Act_GetActionText (ActReqMsgUsr));
|
||||
|
||||
/***** Button to follow / unfollow *****/
|
||||
if (!ItsMe) // Not me
|
||||
|
@ -2498,12 +2482,12 @@ static void Rec_PutIconsCommands (__attribute__((unused)) void *Args)
|
|||
Lay_PutContextualLinkOnlyIcon (ActUnfUsr,NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"user-check.svg",Ico_BLACK,
|
||||
Txt_Following_unfollow); // Put button to unfollow, even if I can not view user's profile
|
||||
Act_GetActionText (ActUnfUsr)); // Put button to unfollow, even if I can not view user's profile
|
||||
else if (ICanViewUsrProfile)
|
||||
Lay_PutContextualLinkOnlyIcon (ActFolUsr,NULL,
|
||||
Rec_PutParamUsrCodEncrypted,NULL,
|
||||
"user-plus.svg",Ico_BLACK,
|
||||
Txt_Follow); // Put button to follow
|
||||
Act_GetActionText (ActFolUsr)); // Put button to follow
|
||||
}
|
||||
|
||||
/***** Button to change user's photo *****/
|
||||
|
|
|
@ -475,12 +475,10 @@ static void Roo_PutIconsEditingRooms (__attribute__((unused)) void *Args)
|
|||
|
||||
void Roo_PutIconToViewRooms (void)
|
||||
{
|
||||
extern const char *Txt_Rooms;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActSeeRoo,NULL,
|
||||
NULL,NULL,
|
||||
"chalkboard-teacher.svg",Ico_BLACK,
|
||||
Txt_Rooms);
|
||||
Act_GetActionText (ActSeeRoo));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -340,11 +340,8 @@ static void Svy_PutIconsListSurveys (void *Surveys)
|
|||
|
||||
static void Svy_PutIconToCreateNewSvy (struct Svy_Surveys *Surveys)
|
||||
{
|
||||
extern const char *Txt_New_survey;
|
||||
|
||||
Ico_PutContextualIconToAdd (ActFrmNewSvy,NULL,
|
||||
Svy_PutParamsToCreateNewSvy,Surveys,
|
||||
Txt_New_survey);
|
||||
Svy_PutParamsToCreateNewSvy,Surveys);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -875,8 +872,6 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys,
|
|||
const struct Svy_Survey *Svy,
|
||||
const char *Anchor)
|
||||
{
|
||||
extern const char *Txt_Reset;
|
||||
|
||||
Surveys->SvyCod = Svy->SvyCod; // Used as parameters in contextual links
|
||||
|
||||
/***** Put form to remove survey *****/
|
||||
|
@ -887,7 +882,7 @@ static void Svy_PutFormsToRemEditOneSvy (struct Svy_Surveys *Surveys,
|
|||
Lay_PutContextualLinkOnlyIcon (ActReqRstSvy,NULL,
|
||||
Svy_PutParams,Surveys,
|
||||
"recycle.svg",Ico_RED,
|
||||
Txt_Reset);
|
||||
Act_GetActionText (ActReqRstSvy));
|
||||
|
||||
/***** Put form to hide/show survey *****/
|
||||
if (Svy->Status.Visible)
|
||||
|
@ -2935,12 +2930,7 @@ static void Svy_PutParamsToEditQuestion (void *Surveys)
|
|||
|
||||
static void Svy_PutIconToAddNewQuestion (void *Surveys)
|
||||
{
|
||||
extern const char *Txt_New_question;
|
||||
|
||||
/***** Put form to create a new question *****/
|
||||
Ico_PutContextualIconToAdd (ActEdiOneSvyQst,NULL,
|
||||
Svy_PutParams,Surveys,
|
||||
Txt_New_question);
|
||||
Ico_PutContextualIconToAdd (ActEdiOneSvyQst,NULL,Svy_PutParams,Surveys);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -604,17 +604,10 @@ static void Syl_ShowSyllabus (struct Syl_Syllabus *Syllabus)
|
|||
static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
|
||||
int Level,int *CodItem,const char *Text,bool NewItem)
|
||||
{
|
||||
extern const char *Txt_Move_up_X_and_its_subsections;
|
||||
extern const char *Txt_Move_up_X;
|
||||
extern const char *Txt_Movement_not_allowed;
|
||||
extern const char *Txt_Move_down_X_and_its_subsections;
|
||||
extern const char *Txt_Move_down_X;
|
||||
extern const char *Txt_Increase_level_of_X;
|
||||
extern const char *Txt_Decrease_level_of_X;
|
||||
static int LastLevel = 0;
|
||||
char StrItemCod[Syl_MAX_LEVELS_SYLLABUS * (10 + 1)];
|
||||
struct MoveSubtrees Subtree;
|
||||
char *Title;
|
||||
|
||||
Subtree.ToGetUp.Ini = Subtree.ToGetUp.End = 0;
|
||||
Subtree.ToGetDown.Ini = Subtree.ToGetDown.End = 0;
|
||||
|
@ -652,18 +645,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
|
|||
Syl_CalculateUpSubtreeSyllabus (&Subtree,NumItem);
|
||||
HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ());
|
||||
if (Subtree.MovAllowed)
|
||||
{
|
||||
if (asprintf (&Title,Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections :
|
||||
Txt_Move_up_X,
|
||||
StrItemCod) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActUp_IteSylLec :
|
||||
ActUp_IteSylPra,
|
||||
NULL,
|
||||
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
|
||||
"arrow-up.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-up.svg",Ico_BLACK,
|
||||
Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActUp_IteSylLec :
|
||||
ActUp_IteSylPra));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-up.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
@ -673,18 +661,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
|
|||
Syl_CalculateDownSubtreeSyllabus (&Subtree,NumItem);
|
||||
HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ());
|
||||
if (Subtree.MovAllowed)
|
||||
{
|
||||
if (asprintf (&Title,Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections :
|
||||
Txt_Move_down_X,
|
||||
StrItemCod) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActDwnIteSylLec :
|
||||
ActDwnIteSylPra,
|
||||
NULL,
|
||||
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
|
||||
"arrow-down.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-down.svg",Ico_BLACK,
|
||||
Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActDwnIteSylLec :
|
||||
ActDwnIteSylPra));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-down.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
@ -693,16 +676,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
|
|||
/***** Icon to increase the level of an item *****/
|
||||
HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ());
|
||||
if (Level > 1)
|
||||
{
|
||||
if (asprintf (&Title,Txt_Increase_level_of_X,StrItemCod) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActRgtIteSylLec :
|
||||
ActRgtIteSylPra,
|
||||
NULL,
|
||||
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
|
||||
"arrow-left.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-left.svg",Ico_BLACK,
|
||||
Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActRgtIteSylLec :
|
||||
ActRgtIteSylPra));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-left.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
@ -712,16 +692,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
|
|||
HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ());
|
||||
if (Level < LastLevel + 1 &&
|
||||
Level < Syl_MAX_LEVELS_SYLLABUS)
|
||||
{
|
||||
if (asprintf (&Title,Txt_Decrease_level_of_X,StrItemCod) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Lay_PutContextualLinkOnlyIcon (Gbl.Crs.Info.Type == Inf_LECTURES ? ActLftIteSylLec :
|
||||
ActLftIteSylPra,
|
||||
NULL,
|
||||
Syl_PutParamNumItem,&Syllabus->ParamNumItem,
|
||||
"arrow-right.svg",Ico_BLACK,Title);
|
||||
free (Title);
|
||||
}
|
||||
"arrow-right.svg",Ico_BLACK,
|
||||
Act_GetActionText (Gbl.Crs.Info.Type == Inf_LECTURES ? ActLftIteSylLec :
|
||||
ActLftIteSylPra));
|
||||
else
|
||||
Ico_PutIconOff ("arrow-right.svg",Ico_BLACK,
|
||||
Txt_Movement_not_allowed);
|
||||
|
|
|
@ -94,13 +94,10 @@ void Tag_FreeTagsList (struct Tag_Tags *Tags)
|
|||
|
||||
void Tag_PutIconToEditTags (void)
|
||||
{
|
||||
extern const char *Txt_Edit_tags;
|
||||
|
||||
/***** Put a link to create a file with questions *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActEdiTag,NULL,
|
||||
NULL,NULL,
|
||||
"tag.svg",Ico_BLACK,
|
||||
Txt_Edit_tags);
|
||||
Act_GetActionText (ActEdiTag));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -1662,13 +1662,12 @@ void TstPrn_SelUsrsToViewUsrsPrints (void)
|
|||
static void TstPrn_PutFormToSelectUsrsToViewUsrsPrints (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Hlp_ASSESSMENT_Tests_results;
|
||||
extern const char *Txt_Results;
|
||||
extern const char *Txt_View_results;
|
||||
|
||||
Usr_PutFormToSelectUsrsToGoToAct (&Gbl.Usrs.Selected,
|
||||
ActSeeUsrTstResCrs,
|
||||
NULL,NULL,
|
||||
Txt_Results,
|
||||
Act_GetActionText (ActSeeUsrTstResCrs),
|
||||
Hlp_ASSESSMENT_Tests_results,
|
||||
Txt_View_results,
|
||||
true); // Put form with date range
|
||||
|
|
575
swad_text.c
575
swad_text.c
|
@ -1243,29 +1243,6 @@ const char *Txt_Administer_one_user =
|
|||
"Administer one user"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Administer_user =
|
||||
#if L==1 // ca
|
||||
"Administrar usuari";
|
||||
#elif L==2 // de
|
||||
"Verwalten Benutzer";
|
||||
#elif L==3 // en
|
||||
"Administer user";
|
||||
#elif L==4 // es
|
||||
"Administrar usuario";
|
||||
#elif L==5 // fr
|
||||
"Gérer utilisateur";
|
||||
#elif L==6 // gn
|
||||
"Administrar usuario"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Gestire utente";
|
||||
#elif L==8 // pl
|
||||
"Zarządzaj użytkownika";
|
||||
#elif L==9 // pt
|
||||
"Gerenciar utilizador";
|
||||
#elif L==10 // tr
|
||||
"Administer user"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2] =
|
||||
{
|
||||
// Agd_PAST___EVENTS
|
||||
|
@ -4738,29 +4715,6 @@ const char *Txt_Centers_with_pending_degrees =
|
|||
"Centers with pending degrees"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Change_account =
|
||||
#if L==1 // ca
|
||||
"Canviar compte";
|
||||
#elif L==2 // de
|
||||
"Benutzerkonto ändern";
|
||||
#elif L==3 // en
|
||||
"Change account";
|
||||
#elif L==4 // es
|
||||
"Cambiar cuenta";
|
||||
#elif L==5 // fr
|
||||
"Changer compte";
|
||||
#elif L==6 // gn
|
||||
"Cambiar cuenta"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Cambiare account";
|
||||
#elif L==8 // pl
|
||||
"Zmień konto";
|
||||
#elif L==9 // pt
|
||||
"Alterar conta";
|
||||
#elif L==10 // tr
|
||||
"Change account"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Change_email =
|
||||
#if L==1 // ca
|
||||
"Canviar correu";
|
||||
|
@ -4830,29 +4784,6 @@ const char *Txt_Change_image_video =
|
|||
"Change image / video"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Change_logo =
|
||||
#if L==1 // ca
|
||||
"Canviar logo";
|
||||
#elif L==2 // de
|
||||
"Logo ändern";
|
||||
#elif L==3 // en
|
||||
"Change logo";
|
||||
#elif L==4 // es
|
||||
"Cambiar logo";
|
||||
#elif L==5 // fr
|
||||
"Changer logo";
|
||||
#elif L==6 // gn
|
||||
"Moambue logo";
|
||||
#elif L==7 // it
|
||||
"Cambiare logo";
|
||||
#elif L==8 // pl
|
||||
"Zmień logo";
|
||||
#elif L==9 // pt
|
||||
"Alterar logotipo";
|
||||
#elif L==10 // tr
|
||||
"Change logo"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Change_my_groups =
|
||||
#if L==1 // ca
|
||||
"Canviar de grups";
|
||||
|
@ -4922,29 +4853,6 @@ const char *Txt_Change_password =
|
|||
"Şifre değiştir";
|
||||
#endif
|
||||
|
||||
const char *Txt_Change_photo =
|
||||
#if L==1 // ca
|
||||
"Canviar foto";
|
||||
#elif L==2 // de
|
||||
"Foto ändern";
|
||||
#elif L==3 // en
|
||||
"Change photo";
|
||||
#elif L==4 // es
|
||||
"Cambiar foto";
|
||||
#elif L==5 // fr
|
||||
"Changer photo";
|
||||
#elif L==6 // gn
|
||||
"Cambiar foto"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Cambiare foto";
|
||||
#elif L==8 // pl
|
||||
"Zmień zdjecie";
|
||||
#elif L==9 // pt
|
||||
"Alterar foto";
|
||||
#elif L==10 // tr
|
||||
"Change photo"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_CHAT_Room =
|
||||
#if L==1 // ca
|
||||
"Sala";
|
||||
|
@ -8745,29 +8653,6 @@ const char *Txt_DAYS2[7] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Decrease_level_of_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Disminuir nivell de %s";
|
||||
#elif L==2 // de
|
||||
"Stufe von %s verringern";
|
||||
#elif L==3 // en
|
||||
"Decrease level of %s";
|
||||
#elif L==4 // es
|
||||
"Disminuir nivel de %s";
|
||||
#elif L==5 // fr
|
||||
"Diminuer le niveau de %s";
|
||||
#elif L==6 // gn
|
||||
"Disminuir nivel de %s"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Decrementare livello di %s";
|
||||
#elif L==8 // pl
|
||||
"Spadek poziomu %s";
|
||||
#elif L==9 // pt
|
||||
"Diminuir o nível de %s";
|
||||
#elif L==10 // tr
|
||||
"Decrease level of %s"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_default =
|
||||
#if L==1 // ca
|
||||
"predeterminat";
|
||||
|
@ -11707,29 +11592,6 @@ const char *Txt_Edit_item =
|
|||
"Edit item"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Edit_my_personal_data =
|
||||
#if L==1 // ca
|
||||
"Edita meves dades personals";
|
||||
#elif L==2 // de
|
||||
"Bearbeiten meiner persönlichen Daten";
|
||||
#elif L==3 // en
|
||||
"Edit my personal data";
|
||||
#elif L==4 // es
|
||||
"Editar mis datos personales";
|
||||
#elif L==5 // fr
|
||||
"Éditer mes données personnelles";
|
||||
#elif L==6 // gn
|
||||
"Editar mis datos personales"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Editare i miei dati personali";
|
||||
#elif L==8 // pl
|
||||
"Edycja moich danych osobowych";
|
||||
#elif L==9 // pt
|
||||
"Editar os meus dados pessoais";
|
||||
#elif L==10 // tr
|
||||
"Edit my personal data"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Edit_plain_text =
|
||||
#if L==1 // ca
|
||||
"Editar text sense format";
|
||||
|
@ -11868,29 +11730,6 @@ const char *Txt_Edit_rich_text =
|
|||
"Edit rich text"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Edit_tags =
|
||||
#if L==1 // ca
|
||||
"Editar descriptors";
|
||||
#elif L==2 // de
|
||||
"Tags bearbeiten";
|
||||
#elif L==3 // en
|
||||
"Edit tags";
|
||||
#elif L==4 // es
|
||||
"Editar descriptores";
|
||||
#elif L==5 // fr
|
||||
"Éditer descripteurs";
|
||||
#elif L==6 // gn
|
||||
"Editar descriptores"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Editare etichette";
|
||||
#elif L==8 // pl
|
||||
"Edycja tagów";
|
||||
#elif L==9 // pt
|
||||
"Editar descritores";
|
||||
#elif L==10 // tr
|
||||
"Edit tags"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Editable =
|
||||
#if L==1 // ca
|
||||
"Editables";
|
||||
|
@ -13517,29 +13356,6 @@ const char *Txt_Expand =
|
|||
"Expand"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Export_questions =
|
||||
#if L==1 // ca
|
||||
"Exporta preguntes";
|
||||
#elif L==2 // de
|
||||
"Fragen exportieren";
|
||||
#elif L==3 // en
|
||||
"Export questions";
|
||||
#elif L==4 // es
|
||||
"Exportar preguntas";
|
||||
#elif L==5 // fr
|
||||
"Exporter questions";
|
||||
#elif L==6 // gn
|
||||
"Exportar preguntas"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Esportare domande";
|
||||
#elif L==8 // pl
|
||||
"Eksportuj pytania";
|
||||
#elif L==9 // pt
|
||||
"Exportar perguntas";
|
||||
#elif L==10 // tr
|
||||
"Export questions"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Extended_public_profile =
|
||||
#if L==1 // ca
|
||||
"Perfil públic ampliat";
|
||||
|
@ -18185,29 +18001,6 @@ const char *Txt_Incomplete_timetable_for_lack_of_space =
|
|||
"Incomplete timetable for lack of space."; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Increase_level_of_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Augmentar nivell de %s";
|
||||
#elif L==2 // de
|
||||
"Level von %s erhöhen";
|
||||
#elif L==3 // en
|
||||
"Increase level of %s";
|
||||
#elif L==4 // es
|
||||
"Aumentar nivel de %s";
|
||||
#elif L==5 // fr
|
||||
"Augmenter le niveau de %s";
|
||||
#elif L==6 // gn
|
||||
"Aumentar nivel de %s"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Incrementare livello di %s";
|
||||
#elif L==8 // pl
|
||||
"Wzrost poziomu %s";
|
||||
#elif L==9 // pt
|
||||
"Aumentar o nível de %s";
|
||||
#elif L==10 // tr
|
||||
"Increase level of %s"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Indicators =
|
||||
#if L==1 // ca
|
||||
"Indicadors";
|
||||
|
@ -20747,29 +20540,6 @@ const char *Txt_Mandatory_enrolment = // (to a type of group)
|
|||
"Mandatory enrolment?"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Map =
|
||||
#if L==1 // ca
|
||||
"Mapa";
|
||||
#elif L==2 // de
|
||||
"Karte";
|
||||
#elif L==3 // en
|
||||
"Map";
|
||||
#elif L==4 // es
|
||||
"Mapa";
|
||||
#elif L==5 // fr
|
||||
"Carte";
|
||||
#elif L==6 // gn
|
||||
"Mapa"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Carta";
|
||||
#elif L==8 // pl
|
||||
"Mapa";
|
||||
#elif L==9 // pt
|
||||
"Mapa";
|
||||
#elif L==10 // tr
|
||||
"Map"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Mark_all_NOTIFICATIONS_as_read =
|
||||
#if L==1 // ca
|
||||
"Marca totes com llegides";
|
||||
|
@ -24465,98 +24235,6 @@ const char *Txt_MONTHS_SMALL_SHORT[12] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Move_up_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Pujar %s";
|
||||
#elif L==2 // de
|
||||
"Bewegen Sie %s nach oben";
|
||||
#elif L==3 // en
|
||||
"Move up %s";
|
||||
#elif L==4 // es
|
||||
"Subir %s";
|
||||
#elif L==5 // fr
|
||||
"Monter %s";
|
||||
#elif L==6 // gn
|
||||
"Subir %s"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Muovi su %s";
|
||||
#elif L==8 // pl
|
||||
"Przesun w góre %s";
|
||||
#elif L==9 // pt
|
||||
"Mover %s para cima";
|
||||
#elif L==10 // tr
|
||||
"Move up %s"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Move_up_X_and_its_subsections = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Pujar %s i els seus subapartats";
|
||||
#elif L==2 // de
|
||||
"Bewegen Sie %s und seine Unterabschnitte nach oben";
|
||||
#elif L==3 // en
|
||||
"Move up %s and its subsections";
|
||||
#elif L==4 // es
|
||||
"Subir %s y sus subapartados";
|
||||
#elif L==5 // fr
|
||||
"Monter %s et ses sous-sections";
|
||||
#elif L==6 // gn
|
||||
"Subir %s y sus subapartados"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Muovi su %s e le sue sottosezioni";
|
||||
#elif L==8 // pl
|
||||
"Przenies sie %s, a jego podrozdzialy";
|
||||
#elif L==9 // pt
|
||||
"Mover %s e suas subseções para cima";
|
||||
#elif L==10 // tr
|
||||
"Move up %s and its subsections"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Move_down_X = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Baixar %s";
|
||||
#elif L==2 // de
|
||||
"Gehe %s nach unten";
|
||||
#elif L==3 // en
|
||||
"Move down %s";
|
||||
#elif L==4 // es
|
||||
"Bajar %s";
|
||||
#elif L==5 // fr
|
||||
"Descendre %s";
|
||||
#elif L==6 // gn
|
||||
"Bajar %s"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Muovi giù %s";
|
||||
#elif L==8 // pl
|
||||
"Opuszczac %s";
|
||||
#elif L==9 // pt
|
||||
"Mover %s para baixo";
|
||||
#elif L==10 // tr
|
||||
"Move down %s"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Move_down_X_and_its_subsections = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Baixar %s i els seus subapartats";
|
||||
#elif L==2 // de
|
||||
"Bewegen Sie %s und seine Unterabschnitte nach unten";
|
||||
#elif L==3 // en
|
||||
"Move down %s and its subsections";
|
||||
#elif L==4 // es
|
||||
"Bajar %s y sus subapartados";
|
||||
#elif L==5 // fr
|
||||
"Move down %s and its subsections";
|
||||
#elif L==6 // gn
|
||||
"Descendre %s et ses sous-sections"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Muovi giù %s e le sue sottosezioni";
|
||||
#elif L==8 // pl
|
||||
"Przesun w dól %s, a jego podrozdzialy";
|
||||
#elif L==9 // pt
|
||||
"Mover %s e suas subseções para baixo";
|
||||
#elif L==10 // tr
|
||||
"Move down %s and its subsections"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Movement_not_allowed =
|
||||
#if L==1 // ca
|
||||
"Moviment no permès";
|
||||
|
@ -24994,29 +24672,6 @@ const char *Txt_MSGS_Sent =
|
|||
"Sent"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_MSGS_Write =
|
||||
#if L==1 // ca
|
||||
"Redactar";
|
||||
#elif L==2 // de
|
||||
"Schreiben";
|
||||
#elif L==3 // en
|
||||
"Write";
|
||||
#elif L==4 // es
|
||||
"Redactar";
|
||||
#elif L==5 // fr
|
||||
"Ecrire";
|
||||
#elif L==6 // gn
|
||||
"Redactar"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Scrivi";
|
||||
#elif L==8 // pl
|
||||
"Napisz";
|
||||
#elif L==9 // pt
|
||||
"Escrever";
|
||||
#elif L==10 // tr
|
||||
"Write"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Multimedia =
|
||||
#if L==1 // ca
|
||||
"Multimèdia";
|
||||
|
@ -35059,29 +34714,6 @@ const char *Txt_Removal_not_allowed =
|
|||
"Removal not allowed"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_account =
|
||||
#if L==1 // ca
|
||||
"Eliminar compte";
|
||||
#elif L==2 // de
|
||||
"Benutzerkonto entfernen";
|
||||
#elif L==3 // en
|
||||
"Remove account";
|
||||
#elif L==4 // es
|
||||
"Eliminar cuenta";
|
||||
#elif L==5 // fr
|
||||
"Supprimer compte";
|
||||
#elif L==6 // gn
|
||||
"Eliminar cuenta"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Rimuovere account";
|
||||
#elif L==8 // pl
|
||||
"Usuń konto";
|
||||
#elif L==9 // pt
|
||||
"Remover conta";
|
||||
#elif L==10 // tr
|
||||
"Remove account"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_all_students =
|
||||
#if L==1 // ca
|
||||
"Eliminar tots estudiants";
|
||||
|
@ -35358,29 +34990,6 @@ const char *Txt_Remove_link =
|
|||
"Remove link"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_logo =
|
||||
#if L==1 // ca
|
||||
"Eliminar logo";
|
||||
#elif L==2 // de
|
||||
"Entfernen Logo";
|
||||
#elif L==3 // en
|
||||
"Remove logo";
|
||||
#elif L==4 // es
|
||||
"Eliminar logo";
|
||||
#elif L==5 // fr
|
||||
"Supprimer logo";
|
||||
#elif L==6 // gn
|
||||
"Eliminar logo"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Rimuovere logo";
|
||||
#elif L==8 // pl
|
||||
"Usuń logo";
|
||||
#elif L==9 // pt
|
||||
"Remover logotipo";
|
||||
#elif L==10 // tr
|
||||
"Remove logo"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_match = // of a game
|
||||
#if L==1 // ca
|
||||
"Eliminar partida";
|
||||
|
@ -36315,29 +35924,6 @@ const char *Txt_Required_reading =
|
|||
"Required reading"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Reset =
|
||||
#if L==1 // ca
|
||||
"Posar a zero";
|
||||
#elif L==2 // de
|
||||
"Reset";
|
||||
#elif L==3 // en
|
||||
"Reset";
|
||||
#elif L==4 // es
|
||||
"Poner a cero";
|
||||
#elif L==5 // fr
|
||||
"Reset";
|
||||
#elif L==6 // gn
|
||||
"Poner a cero"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Resettare";
|
||||
#elif L==8 // pl
|
||||
"Reset";
|
||||
#elif L==9 // pt
|
||||
"Reiniciar";
|
||||
#elif L==10 // tr
|
||||
"Reset"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Reset_survey =
|
||||
#if L==1 // ca
|
||||
"Posar enquesta a zero";
|
||||
|
@ -42557,29 +42143,6 @@ const char *Txt_Search =
|
|||
"Arama";
|
||||
#endif
|
||||
|
||||
const char *Txt_Search_courses =
|
||||
#if L==1 // ca
|
||||
"Cercar assignatures";
|
||||
#elif L==2 // de
|
||||
"Suchen Kursen";
|
||||
#elif L==3 // en
|
||||
"Search courses";
|
||||
#elif L==4 // es
|
||||
"Buscar asignaturas";
|
||||
#elif L==5 // fr
|
||||
"Chercher matières";
|
||||
#elif L==6 // gn
|
||||
"Heka mbo'esyry";
|
||||
#elif L==7 // it
|
||||
"Cercare corsi";
|
||||
#elif L==8 // pl
|
||||
"Szukaj kursów";
|
||||
#elif L==9 // pt
|
||||
"Procurar disciplinas";
|
||||
#elif L==10 // tr
|
||||
"Search courses"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_See_full_notice =
|
||||
#if L==1 // ca
|
||||
"Veure avís complet";
|
||||
|
@ -44107,29 +43670,6 @@ const char *Txt_Show =
|
|||
"Show"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Show_all_data_in_a_table =
|
||||
#if L==1 // ca
|
||||
"Mostrar totes les dades en una taula";
|
||||
#elif L==2 // de
|
||||
"Alle Daten in einer Tabelle anzeigen";
|
||||
#elif L==3 // en
|
||||
"Show all data in a table";
|
||||
#elif L==4 // es
|
||||
"Mostrar todos los datos en una tabla";
|
||||
#elif L==5 // fr
|
||||
"Voir toutes les données dans une table";
|
||||
#elif L==6 // gn
|
||||
"Mostrar todos los datos en una tabla"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Visualizza tutti i dati in una tabella";
|
||||
#elif L==8 // pl
|
||||
"Pokaż wszystkie dane w tabeli";
|
||||
#elif L==9 // pt
|
||||
"Mostrar todos os dados em uma tabela";
|
||||
#elif L==10 // tr
|
||||
"Show all data in a table"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Show_all_files =
|
||||
#if L==1 // ca
|
||||
"Mostrar tots els arxius";
|
||||
|
@ -57934,29 +57474,6 @@ const char *Txt_Upload_files_QUESTION =
|
|||
"Upload files?"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Upload_logo =
|
||||
#if L==1 // ca
|
||||
"Enviar logo";
|
||||
#elif L==2 // de
|
||||
"Upload Logo";
|
||||
#elif L==3 // en
|
||||
"Upload logo";
|
||||
#elif L==4 // es
|
||||
"Subir logo";
|
||||
#elif L==5 // fr
|
||||
"Télécharger logo";
|
||||
#elif L==6 // gn
|
||||
"Subir logo"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Caricare logo";
|
||||
#elif L==8 // pl
|
||||
"Prześlij logo";
|
||||
#elif L==9 // pt
|
||||
"Fazer upload de logotipo";
|
||||
#elif L==10 // tr
|
||||
"Upload logo"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_Upload_my_picture =
|
||||
#if L==1 // ca
|
||||
"Pujar la meva fotografia";
|
||||
|
@ -59093,29 +58610,6 @@ const char *Txt_View_exam =
|
|||
"View exam"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_exams =
|
||||
#if L==1 // ca
|
||||
"Veure exàmens";
|
||||
#elif L==2 // de
|
||||
"Anzeigen Prüfung";
|
||||
#elif L==3 // en
|
||||
"View exams";
|
||||
#elif L==4 // es
|
||||
"Ver exámenes";
|
||||
#elif L==5 // fr
|
||||
"Voir examens";
|
||||
#elif L==6 // gn
|
||||
"Ver exámenes"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Vedi esame";
|
||||
#elif L==8 // pl
|
||||
"Zobacz egzaminów";
|
||||
#elif L==9 // pt
|
||||
"Ver exames";
|
||||
#elif L==10 // tr
|
||||
"View exams"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_game =
|
||||
#if L==1 // ca
|
||||
"Veure joc";
|
||||
|
@ -59139,29 +58633,6 @@ const char *Txt_View_game =
|
|||
"View game"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_games =
|
||||
#if L==1 // ca
|
||||
"Veure jocs";
|
||||
#elif L==2 // de
|
||||
"Anzeigen Spiele";
|
||||
#elif L==3 // en
|
||||
"View games";
|
||||
#elif L==4 // es
|
||||
"Ver juegos";
|
||||
#elif L==5 // fr
|
||||
"Voir jeux";
|
||||
#elif L==6 // gn
|
||||
"Ver juegos"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Vedi giochi";
|
||||
#elif L==8 // pl
|
||||
"Zobacz gier";
|
||||
#elif L==9 // pt
|
||||
"Ver jogos";
|
||||
#elif L==10 // tr
|
||||
"View games"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_in_a_new_window =
|
||||
#if L==1 // ca
|
||||
"Mostrar en una finestra nova";
|
||||
|
@ -59231,29 +58702,6 @@ const char *Txt_View_projects =
|
|||
"View projects"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_record_and_office_hours =
|
||||
#if L==1 // ca
|
||||
"Veure fitxa i horari de tutories";
|
||||
#elif L==2 // de
|
||||
"Anzeigen profil und Geschäftszeiten";
|
||||
#elif L==3 // en
|
||||
"View record and tutoring hours";
|
||||
#elif L==4 // es
|
||||
"Ver ficha y horario de tutorías";
|
||||
#elif L==5 // fr
|
||||
"Voir carte et heures de tuteur";
|
||||
#elif L==6 // gn
|
||||
"Ver ficha y horario de tutorías"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Vedi scheda e orario di tutoraggi";
|
||||
#elif L==8 // pl
|
||||
"Zobacz rekord i godziny pracy";
|
||||
#elif L==9 // pt
|
||||
"Ver cartão e horário de tutor";
|
||||
#elif L==10 // tr
|
||||
"View record and tutoring hours"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_record_for_this_course =
|
||||
#if L==1 // ca
|
||||
"Veure fitxa en aquesta assignatura";
|
||||
|
@ -59369,29 +58817,6 @@ const char *Txt_View_test =
|
|||
"View test"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_tests =
|
||||
#if L==1 // ca
|
||||
"Veure tests";
|
||||
#elif L==2 // de
|
||||
"Siehe Tests";
|
||||
#elif L==3 // en
|
||||
"View tests";
|
||||
#elif L==4 // es
|
||||
"Ver test";
|
||||
#elif L==5 // fr
|
||||
"Voir tests";
|
||||
#elif L==6 // gn
|
||||
"Ver test"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Vedi test";
|
||||
#elif L==8 // pl
|
||||
"Wiadomości test";
|
||||
#elif L==9 // pt
|
||||
"Ver testes";
|
||||
#elif L==10 // tr
|
||||
"View tests"; // Çeviri lazim!
|
||||
#endif
|
||||
|
||||
const char *Txt_View_homework =
|
||||
#if L==1 // ca
|
||||
"Veure treballs";
|
||||
|
|
File diff suppressed because it is too large
Load Diff
17
swad_user.c
17
swad_user.c
|
@ -2093,13 +2093,10 @@ void Usr_ShowFormsLogoutAndRole (void)
|
|||
|
||||
static void Usr_PutLinkToLogOut (__attribute__((unused)) void *Args)
|
||||
{
|
||||
extern const char *Txt_Log_out;
|
||||
|
||||
/***** Put form to log out *****/
|
||||
Lay_PutContextualLinkOnlyIcon (ActLogOut,NULL,
|
||||
NULL,NULL,
|
||||
"sign-out-alt.svg",Ico_RED,
|
||||
Txt_Log_out);
|
||||
Act_GetActionText (ActLogOut));
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -5891,32 +5888,26 @@ static void Usr_PutIconToPrintTchs (void)
|
|||
|
||||
static void Usr_PutIconToShowGstsAllData (void)
|
||||
{
|
||||
extern const char *Txt_Show_all_data_in_a_table;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActLstGstAll,NULL,
|
||||
Usr_ShowGstsAllDataParams,NULL,
|
||||
"table.svg",Ico_BLACK,
|
||||
Txt_Show_all_data_in_a_table);
|
||||
Act_GetActionText (ActLstGstAll));
|
||||
}
|
||||
|
||||
static void Usr_PutIconToShowStdsAllData (void)
|
||||
{
|
||||
extern const char *Txt_Show_all_data_in_a_table;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActLstStdAll,NULL,
|
||||
Usr_ShowStdsAllDataParams,NULL,
|
||||
"table.svg",Ico_BLACK,
|
||||
Txt_Show_all_data_in_a_table);
|
||||
Act_GetActionText (ActLstStdAll));
|
||||
}
|
||||
|
||||
static void Usr_PutIconToShowTchsAllData (void)
|
||||
{
|
||||
extern const char *Txt_Show_all_data_in_a_table;
|
||||
|
||||
Lay_PutContextualLinkOnlyIcon (ActLstTchAll,NULL,
|
||||
Usr_ShowTchsAllDataParams,NULL,
|
||||
"table.svg",Ico_BLACK,
|
||||
Txt_Show_all_data_in_a_table);
|
||||
Act_GetActionText (ActLstTchAll));
|
||||
}
|
||||
|
||||
static void Usr_ShowGstsAllDataParams (__attribute__((unused)) void *Args)
|
||||
|
|
Loading…
Reference in New Issue