From 74709e02b31633e7b7880b25f550d6b3a98d5ac0 Mon Sep 17 00:00:00 2001 From: acanas Date: Fri, 31 Mar 2023 09:49:09 +0200 Subject: [PATCH] Version 22.88: Mar 31, 2023 Code refactoring in resources. --- css/{swad22.86.css => swad22.88.css} | 2 +- swad_changelog.h | 5 +- swad_program_resource.c | 71 +++------------- swad_resource.c | 57 ++++++++++++- swad_resource.h | 1 + swad_rubric_criteria.c | 121 +++------------------------ swad_text.c | 26 +++--- swad_text_action.c | 50 +++++------ 8 files changed, 121 insertions(+), 212 deletions(-) rename css/{swad22.86.css => swad22.88.css} (99%) diff --git a/css/swad22.86.css b/css/swad22.88.css similarity index 99% rename from css/swad22.86.css rename to css/swad22.88.css index 719f6fbe..0a0fd70e 100644 --- a/css/swad22.86.css +++ b/css/swad22.88.css @@ -1851,7 +1851,7 @@ a:hover img.CENTER_PHOTO_SHOW .PRG_LNK_DARK {color:#afc4cc; font-size:13pt;} /***************************** Resource clipboard ****************************/ -.SRC_CLIPBOARD +.RSC_CLIPBOARD { box-sizing:border-box; list-style-type:none; diff --git a/swad_changelog.h b/swad_changelog.h index 6ecbbdb3..29d5e222 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.87.1 (2023-03-31)" -#define CSS_FILE "swad22.86.css" +#define Log_PLATFORM_VERSION "SWAD 22.88 (2023-03-31)" +#define CSS_FILE "swad22.88.css" #define JS_FILE "swad22.49.js" /* + Version 22.88: Mar 31, 2023 Code refactoring in resources. (338538 lines) Version 22.87.1: Mar 31, 2023 Some messages translated. (338610 lines) Version 22.87: Mar 30, 2023 Code refactoring in select forms. (338607 lines) Version 22.86.3: Mar 30, 2023 Code refactoring in forms. (338710 lines) diff --git a/swad_program_resource.c b/swad_program_resource.c index 52870669..5a1a5482 100644 --- a/swad_program_resource.c +++ b/swad_program_resource.c @@ -92,7 +92,6 @@ static bool PrgRsc_ExchangeResources (const struct Prg_ResourceHierarchy *Rsc1, static void PrgRsc_ShowClipboard (void); static void PrgRsc_PutIconsClipboard (__attribute__((unused)) void *Args); -static void PrgRsc_ShowClipboardToChangeLink (struct Prg_Item *Item); /*****************************************************************************/ /****************************** View resources *******************************/ @@ -436,8 +435,13 @@ static void PrgRsc_WriteRowEditResource (unsigned NumRsc,unsigned NumResources, /* Edit link showing clipboard / Show current link */ if (EditLink) + { /* Show clipboard to change resource link */ - PrgRsc_ShowClipboardToChangeLink (Item); + Frm_BeginFormAnchor (ActChgLnkPrgRsc,PrgRsc_RESOURCE_SECTION_ID); + ParCod_PutPar (ParCod_Rsc,Item->Resource.Hierarchy.RscCod); + Rsc_ShowClipboardToChangeLink (&Item->Resource.Link); + Frm_EndForm (); + } else /* Show current link */ Rsc_WriteLinkName (&Item->Resource.Link, @@ -494,7 +498,10 @@ static void PrgRsc_WriteRowNewResource (unsigned NumResources, HTM_BR (); /* Show clipboard to change resource link */ - PrgRsc_ShowClipboardToChangeLink (Item); + Frm_BeginFormAnchor (ActChgLnkPrgRsc,PrgRsc_RESOURCE_SECTION_ID); + ParCod_PutPar (ParCod_Itm,Item->Hierarchy.ItmCod); + Rsc_ShowClipboardToChangeLink (&Item->Resource.Link); + Frm_EndForm (); } HTM_TD_End (); @@ -920,64 +927,6 @@ void PrgRsc_EditProgramWithClipboard (void) /***************** Show clipboard to change resource link ********************/ /*****************************************************************************/ -static void PrgRsc_ShowClipboardToChangeLink (struct Prg_Item *Item) - { - MYSQL_RES *mysql_res; - unsigned NumLink; - unsigned NumLinks; - struct Rsc_Link Link; - static const struct Rsc_Link EmptyLink = - { - .Type = Rsc_NONE, - .Cod = -1L, - }; - - /***** Begin form *****/ - Frm_BeginFormAnchor (ActChgLnkPrgRsc,PrgRsc_RESOURCE_SECTION_ID); - if (Item->Resource.Hierarchy.RscCod > 0) - ParCod_PutPar (ParCod_Rsc,Item->Resource.Hierarchy.RscCod); - else - /* No resource selected, so it's a new resource at the end of the item */ - ParCod_PutPar (ParCod_Itm,Item->Hierarchy.ItmCod); - - /***** Begin list *****/ - HTM_UL_Begin ("class=\"SRC_CLIPBOARD\""); - - /***** Current link (empty or not) *****/ - Rsc_WriteRowClipboard (&Item->Resource.Link, - HTM_DONT_SUBMIT_ON_CLICK, - true); // Checked - - /***** Row with empty link to remove the current link *****/ - if (Item->Resource.Link.Type != Rsc_NONE) - Rsc_WriteRowClipboard (&EmptyLink, - HTM_SUBMIT_ON_CLICK, - false); // Not checked - - /***** Get links in clipboard from database and write them *****/ - NumLinks = Rsc_DB_GetClipboard (&mysql_res); - for (NumLink = 1; - NumLink <= NumLinks; - NumLink++) - { - Rsc_GetLinkDataFromRow (mysql_res,&Link); - Rsc_WriteRowClipboard (&Link, - HTM_SUBMIT_ON_CLICK, - false); // Not checked - } - DB_FreeMySQLResult (&mysql_res); - - /***** End list *****/ - HTM_UL_End (); - - /***** End form *****/ - Frm_EndForm (); - } - -/*****************************************************************************/ -/***************** Show clipboard to change resource link ********************/ -/*****************************************************************************/ - void PrgRsc_ChangeLink (void) { struct Prg_Item Item; diff --git a/swad_resource.c b/swad_resource.c index 4024bd19..1c2d3b2e 100644 --- a/swad_resource.c +++ b/swad_resource.c @@ -118,7 +118,7 @@ void Rsc_ShowClipboard (void) struct Rsc_Link Link; /***** Begin list *****/ - HTM_UL_Begin ("class=\"SRC_CLIPBOARD\""); + HTM_UL_Begin ("class=\"RSC_CLIPBOARD\""); /***** Get links in clipboard from database and write them *****/ NumLinks = Rsc_DB_GetClipboard (&mysql_res); @@ -140,6 +140,61 @@ void Rsc_ShowClipboard (void) HTM_UL_End (); } +/*****************************************************************************/ +/***************** Show clipboard to change resource link ********************/ +/*****************************************************************************/ + +void Rsc_ShowClipboardToChangeLink (const struct Rsc_Link *CurrentLink) + { + MYSQL_RES *mysql_res; + unsigned NumLink; + unsigned NumLinks; + struct Rsc_Link Link; + static const struct Rsc_Link EmptyLink = + { + .Type = Rsc_NONE, + .Cod = -1L, + }; + + /***** Begin list *****/ + HTM_UL_Begin ("class=\"RSC_CLIPBOARD\""); + + if (CurrentLink) // Editing an existing element + { + /***** Current link (empty or not) *****/ + Rsc_WriteRowClipboard (CurrentLink, + HTM_DONT_SUBMIT_ON_CLICK, + true); // Checked + + /***** Row with empty link to remove the current link *****/ + if (CurrentLink->Type != Rsc_NONE) + Rsc_WriteRowClipboard (&EmptyLink, + HTM_SUBMIT_ON_CLICK, + false); // Not checked + } + else // Inside form to create a new element + /***** Row with empty link *****/ + Rsc_WriteRowClipboard (&EmptyLink, + HTM_DONT_SUBMIT_ON_CLICK, + true); // Checked + + /***** Get links in clipboard from database and write them *****/ + NumLinks = Rsc_DB_GetClipboard (&mysql_res); + for (NumLink = 1; + NumLink <= NumLinks; + NumLink++) + { + Rsc_GetLinkDataFromRow (mysql_res,&Link); + Rsc_WriteRowClipboard (&Link, + HTM_SUBMIT_ON_CLICK, + false); // Checked + } + DB_FreeMySQLResult (&mysql_res); + + /***** End list *****/ + HTM_UL_End (); + } + /*****************************************************************************/ /************************ Show one link from clipboard ***********************/ /*****************************************************************************/ diff --git a/swad_resource.h b/swad_resource.h index 4fb3f228..89574110 100644 --- a/swad_resource.h +++ b/swad_resource.h @@ -74,6 +74,7 @@ struct Rsc_Link /*****************************************************************************/ void Rsc_ShowClipboard (void); +void Rsc_ShowClipboardToChangeLink (const struct Rsc_Link *CurrentLink); void Rsc_WriteRowClipboard (const struct Rsc_Link *Link, HTM_SubmitOnClick_t SubmitOnClick,bool Checked); void Rsc_WriteLinkName (const struct Rsc_Link *Link,bool PutFormToGo, diff --git a/swad_rubric_criteria.c b/swad_rubric_criteria.c index 61ea6b91..1b12c9e6 100644 --- a/swad_rubric_criteria.c +++ b/swad_rubric_criteria.c @@ -100,13 +100,6 @@ static void RubCri_GetAndCheckPars (struct Rub_Rubrics *Rubrics, static void RubCri_ExchangeCriteria (long RubCod, unsigned CriIndTop,unsigned CriIndBottom); -static void RubCri_ShowResource (struct Rub_Rubrics *Rubrics, - const struct RubCri_Criterion *Criterion, - bool Editing,const char *Anchor); -static void RubCri_ShowClipboard (struct Rub_Rubrics *Rubrics, - const struct RubCri_Criterion *Criterion, - const char *Anchor); - /*****************************************************************************/ /*************** Put parameter to edit one rubric criterion ******************/ /*****************************************************************************/ @@ -158,15 +151,6 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics, extern const char *Txt_New_criterion; extern const char *Txt_Create_criterion; RubCri_ValueRange_t ValueRange; - MYSQL_RES *mysql_res; - unsigned NumLink; - unsigned NumLinks; - struct Rsc_Link Link; - static const struct Rsc_Link EmptyLink = - { - .Type = Rsc_NONE, - .Cod = -1L, - }; /***** Begin form *****/ Frm_BeginForm (ActNewRubCri); @@ -203,32 +187,8 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics, HTM_TD_End (); /***** Link *****/ - HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); - - /***** Begin list *****/ - HTM_UL_Begin ("class=\"SRC_CLIPBOARD\""); - - /***** Row with empty link *****/ - Rsc_WriteRowClipboard (&EmptyLink, - HTM_DONT_SUBMIT_ON_CLICK, - true); // Checked - - /***** Get links in clipboard from database and write them *****/ - NumLinks = Rsc_DB_GetClipboard (&mysql_res); - for (NumLink = 1; - NumLink <= NumLinks; - NumLink++) - { - Rsc_GetLinkDataFromRow (mysql_res,&Link); - Rsc_WriteRowClipboard (&Link, - HTM_DONT_SUBMIT_ON_CLICK, - false); // Not checked - } - DB_FreeMySQLResult (&mysql_res); - - /***** End list *****/ - HTM_UL_End (); - + HTM_TD_Begin ("class=\"LT\""); + Rsc_ShowClipboardToChangeLink (NULL); HTM_TD_End (); /***** Minimum and maximum values of the criterion *****/ @@ -682,8 +642,10 @@ static void RubCri_ListOneOrMoreCriteriaForEdition (struct Rub_Rubrics *Rubrics, /***** Link to resource *****/ HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); - RubCri_ShowResource (Rubrics,&Criterion, - true,Anchor); // Editing + Frm_BeginFormAnchor (ActChgLnkRubCri,Anchor); + RubCri_PutParsOneCriterion (Rubrics); + Rsc_ShowClipboardToChangeLink (&Criterion.Link); + Frm_EndForm (); HTM_TD_End (); /***** Minimum and maximum values of criterion *****/ @@ -1109,7 +1071,7 @@ static void RubCri_ExchangeCriteria (long RubCod, /*****************************************************************************/ /************************** Show criterion resource **************************/ /*****************************************************************************/ - +/* static void RubCri_ShowResource (struct Rub_Rubrics *Rubrics, const struct RubCri_Criterion *Criterion, bool Editing,const char *Anchor) @@ -1117,71 +1079,12 @@ static void RubCri_ShowResource (struct Rub_Rubrics *Rubrics, extern const char *Rsc_ResourceTypesIcons[Rsc_NUM_TYPES]; extern const char *Txt_RESOURCE_TYPES[Rsc_NUM_TYPES]; - if (Editing) - RubCri_ShowClipboard (Rubrics,Criterion,Anchor); - else - Rsc_WriteLinkName (&Criterion->Link, - true, // Put form to go - Rsc_ResourceTypesIcons[Criterion->Link.Type], - Txt_RESOURCE_TYPES[Criterion->Link.Type]); - } - -/*****************************************************************************/ -/***************** Show clipboard to change resource link ********************/ -/*****************************************************************************/ - -static void RubCri_ShowClipboard (struct Rub_Rubrics *Rubrics, - const struct RubCri_Criterion *Criterion, - const char *Anchor) - { - MYSQL_RES *mysql_res; - unsigned NumLink; - unsigned NumLinks; - struct Rsc_Link Link; - static const struct Rsc_Link EmptyLink = - { - .Type = Rsc_NONE, - .Cod = -1L, - }; - - /***** Begin form *****/ - Frm_BeginFormAnchor (ActChgLnkRubCri,Anchor); - RubCri_PutParsOneCriterion (Rubrics); - - /***** Begin list *****/ - HTM_UL_Begin ("class=\"SRC_CLIPBOARD\""); - - /***** Current link (empty or not) *****/ - Rsc_WriteRowClipboard (&Criterion->Link, - HTM_DONT_SUBMIT_ON_CLICK, - true); // Checked - - /***** Row with empty link to remove the current link *****/ - if (Criterion->Link.Type != Rsc_NONE) - Rsc_WriteRowClipboard (&EmptyLink, - HTM_SUBMIT_ON_CLICK, - false); // Checked - - - /***** Get links in clipboard from database and write them *****/ - NumLinks = Rsc_DB_GetClipboard (&mysql_res); - for (NumLink = 1; - NumLink <= NumLinks; - NumLink++) - { - Rsc_GetLinkDataFromRow (mysql_res,&Link); - Rsc_WriteRowClipboard (&Link, - HTM_SUBMIT_ON_CLICK, - false); // Checked - } - DB_FreeMySQLResult (&mysql_res); - - /***** End list *****/ - HTM_UL_End (); - - /***** End form *****/ - Frm_EndForm (); + Rsc_WriteLinkName (&Criterion->Link, + true, // Put form to go + Rsc_ResourceTypesIcons[Criterion->Link.Type], + Txt_RESOURCE_TYPES[Criterion->Link.Type]); } +*/ /*****************************************************************************/ /***************** Show clipboard to change resource link ********************/ diff --git a/swad_text.c b/swad_text.c index b5476f1b..b797618b 100644 --- a/swad_text.c +++ b/swad_text.c @@ -14663,7 +14663,7 @@ const char *Txt_folder = #elif L==5 // fr "répertoire"; #elif L==6 // gn - "carpeta"; // Okoteve traducción + "carpeta"; #elif L==7 // it "cartella"; #elif L==8 // pl @@ -14671,7 +14671,7 @@ const char *Txt_folder = #elif L==9 // pt "diretório"; #elif L==10 // tr - "folder"; // Çeviri lazim! + "dosya"; #endif const char *Txt_Folder_X_and_all_its_contents_removed = // Warning: it is very important to include %s in the following sentences @@ -14717,7 +14717,7 @@ const char *Txt_Folder_X_removed = // Warning: it is very important to include % #elif L==9 // pt "Diretório %s removido."; #elif L==10 // tr - "Folder %s removed."; // Çeviri lazim! + "Folder %s removed."; // Çeviri lazim! #endif const char *Txt_Folders = @@ -14732,7 +14732,7 @@ const char *Txt_Folders = #elif L==5 // fr "Répertoires"; #elif L==6 // gn - "Carpetas"; // Okoteve traducción + "Umi carpeta"; #elif L==7 // it "Cartelle"; #elif L==8 // pl @@ -14740,7 +14740,7 @@ const char *Txt_Folders = #elif L==9 // pt "Diretórios"; #elif L==10 // tr - "Folders"; // Çeviri lazim! + "Klasörler"; #endif const char *Txt_folders = @@ -14755,7 +14755,7 @@ const char *Txt_folders = #elif L==5 // fr "répertoires"; #elif L==6 // gn - "carpetas"; // Okoteve traducción + "umi carpeta"; #elif L==7 // it "cartelle"; #elif L==8 // pl @@ -14763,7 +14763,7 @@ const char *Txt_folders = #elif L==9 // pt "diretórios"; #elif L==10 // tr - "folders"; // Çeviri lazim! + "klasörler"; #endif const char *Txt_Folders_copied = @@ -21167,7 +21167,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = #if L==1 // ca "Cercar" #elif L==2 // de - "Suchen" + "Suche" #elif L==3 // en "Search" #elif L==4 // es @@ -21179,11 +21179,11 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = #elif L==7 // it "Cercare" #elif L==8 // pl - "Szukaj" + "Szukać" #elif L==9 // pt "Procurar" #elif L==10 // tr - "Arama" + "Aramak" #endif , // 2: ActSeeTmlGbl @@ -43024,7 +43024,7 @@ const char *Txt_Search = #if L==1 // ca "Cercar"; #elif L==2 // de - "Suchen"; + "Suche"; #elif L==3 // en "Search"; #elif L==4 // es @@ -43036,11 +43036,11 @@ const char *Txt_Search = #elif L==7 // it "Cercare"; #elif L==8 // pl - "Szukaj"; + "Szukać"; #elif L==9 // pt "Procurar"; #elif L==10 // tr - "Arama"; + "Aramak"; #endif const char *Txt_See_full_notice = diff --git a/swad_text_action.c b/swad_text_action.c index b1546df7..b68ae6c0 100644 --- a/swad_text_action.c +++ b/swad_text_action.c @@ -384,48 +384,48 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] = , [ActReqSndNewPwd] = #if L==1 // ca - "Request to send a new password" // Necessita traducció + "Sol·licitar enviament de nova contrasenya" #elif L==2 // de - "Request to send a new password" // Need Übersetzung + "Fordern Sie das Senden eines neuen Passworts an" #elif L==3 // en "Request to send a new password" #elif L==4 // es "Solicitar envío de nueva contraseña" #elif L==5 // fr - "Request to send a new password" // Besoin de traduction + "Demander l'envoi d'un nouveau mot de passe" #elif L==6 // gn - "Solicitar envío de nueva contraseña" // Okoteve traducción + "Ejerure emondo hagğua peteĩ ñe'&etilde;ñemi pyahu" #elif L==7 // it - "Request to send a new password" // Bisogno di traduzione + "Richiedi l'invio di una nuova password" #elif L==8 // pl - "Request to send a new password" // Potrzebujesz tlumaczenie + "Prośba o przesłanie nowego hasła" #elif L==9 // pt - "Request to send a new password" // Precisa de tradução + "Solicitar o envio de uma nova senha" #elif L==10 // tr - "Request to send a new password" // Çeviri lazim! + "Yeni bir şifre gönderme isteği" #endif , [ActSndNewPwd] = #if L==1 // ca - "Send new password" // Necessita traducció + "Enviar nova contrasenya" #elif L==2 // de - "Send new password" // Need Übersetzung + "Neues Passwort senden" #elif L==3 // en "Send new password" #elif L==4 // es "Enviar nueva contraseña" #elif L==5 // fr - "Send new password" // Besoin de traduction + "Envoyer un nouveau mot de passe" #elif L==6 // gn - "Enviar nueva contraseña" // Okoteve traducción + "Emondo ñe'&etilde;ñemi pyahu" #elif L==7 // it - "Send new password" // Bisogno di traduzione + "Invia nuova password" #elif L==8 // pl - "Send new password" // Potrzebujesz tlumaczenie + "Wyślij nowe hasło" #elif L==9 // pt - "Send new password" // Precisa de tradução + "Enviar nova senha" #elif L==10 // tr - "Send new password" // Çeviri lazim! + "Yeni şifre gönder" #endif , [ActLogOut] = @@ -448,30 +448,30 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] = #elif L==9 // pt "Fechar sessão" #elif L==10 // tr - "Log out" // Çeviri lazim! + "Çıkış yap" #endif , [ActSch] = #if L==1 // ca - "Search" // Necessita traducció + "Cercar" #elif L==2 // de - "Search" // Need Übersetzung + "Suche" #elif L==3 // en "Search" #elif L==4 // es "Buscar" #elif L==5 // fr - "Search" // Besoin de traduction + "Chercher" #elif L==6 // gn - "Buscar" // Okoteve traducción + "Heka" #elif L==7 // it - "Search" // Bisogno di traduzione + "Cercare" #elif L==8 // pl - "Search" // Potrzebujesz tlumaczenie + "Szukać" #elif L==9 // pt - "Search" // Precisa de tradução + "Procurar" #elif L==10 // tr - "Search" // Çeviri lazim! + "Aramak" #endif , [ActRefNewPubGblTL] =