Version 22.92.3: Apr 06, 2023 Code refactoring in resources.

This commit is contained in:
acanas 2023-04-06 22:39:26 +02:00
parent ac542d66f2
commit 479179e82c
24 changed files with 72 additions and 78 deletions

View File

@ -198,9 +198,9 @@ unsigned Asg_DB_GetAssignmentTitleAndTxtByCod (MYSQL_RES **mysql_res,long AsgCod
/******************** Get assignment title from database *********************/ /******************** Get assignment title from database *********************/
/*****************************************************************************/ /*****************************************************************************/
void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char Title[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1]) void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char *Title,size_t TitleSize)
{ {
DB_QuerySELECTString (Title,Asg_MAX_BYTES_ASSIGNMENT_TITLE,"can not get assignment title", DB_QuerySELECTString (Title,TitleSize,"can not get assignment title",
"SELECT Title" "SELECT Title"
" FROM asg_assignments" " FROM asg_assignments"
" WHERE AsgCod=%ld" " WHERE AsgCod=%ld"

View File

@ -46,7 +46,7 @@ unsigned Asg_DB_GetAssignmentDataByCod (MYSQL_RES **mysql_res,long AsgCod);
unsigned Asg_DB_GetAssignmentDataByFolder (MYSQL_RES **mysql_res, unsigned Asg_DB_GetAssignmentDataByFolder (MYSQL_RES **mysql_res,
const char Folder[Brw_MAX_BYTES_FOLDER + 1]); const char Folder[Brw_MAX_BYTES_FOLDER + 1]);
unsigned Asg_DB_GetAssignmentTitleAndTxtByCod (MYSQL_RES **mysql_res,long AsgCod); unsigned Asg_DB_GetAssignmentTitleAndTxtByCod (MYSQL_RES **mysql_res,long AsgCod);
void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char Title[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1]); void Asg_DB_GetAssignmentTitleByCod (long AsgCod,char *Title,size_t TitleSize);
void Asg_DB_GetAssignmentTxtByCod (long AsgCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); void Asg_DB_GetAssignmentTxtByCod (long AsgCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
bool Asg_DB_CheckIfSimilarAssignmentExists (const char *Field,const char *Value, bool Asg_DB_CheckIfSimilarAssignmentExists (const char *Field,const char *Value,

View File

@ -83,14 +83,10 @@ void AsgRsc_GetLinkToAssignment (void)
void AsgRsc_GetTitleFromAsgCod (long AsgCod,char *Title,size_t TitleSize) void AsgRsc_GetTitleFromAsgCod (long AsgCod,char *Title,size_t TitleSize)
{ {
extern const char *Txt_Assignments; extern const char *Txt_Assignments;
char TitleFromDB[Asg_MAX_BYTES_ASSIGNMENT_TITLE + 1];
if (AsgCod > 0) if (AsgCod > 0)
{ /***** Get assignment title from database *****/
/***** Get assignment title *****/ Asg_DB_GetAssignmentTitleByCod (AsgCod,Title,TitleSize);
Asg_DB_GetAssignmentTitleByCod (AsgCod,TitleFromDB);
Str_Copy (Title,TitleFromDB,TitleSize);
}
else else
/***** Generic title for all assignments *****/ /***** Generic title for all assignments *****/
Str_Copy (Title,Txt_Assignments,TitleSize); Str_Copy (Title,Txt_Assignments,TitleSize);

View File

@ -192,11 +192,9 @@ unsigned Att_DB_GetEventDataByCod (MYSQL_RES **mysql_res,long AttCod)
/***************** Get attendance event title from database ******************/ /***************** Get attendance event title from database ******************/
/*****************************************************************************/ /*****************************************************************************/
void Att_DB_GetEventTitle (long AttCod, void Att_DB_GetEventTitle (long AttCod,char *Title,size_t TitleSize)
char Title[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1])
{ {
DB_QuerySELECTString (Title,Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE, DB_QuerySELECTString (Title,TitleSize,"can not get attendance event title",
"can not get attendance event title",
"SELECT Title" // row[0] "SELECT Title" // row[0]
" FROM att_events" " FROM att_events"
" WHERE AttCod=%ld" " WHERE AttCod=%ld"

View File

@ -45,8 +45,7 @@ unsigned Att_DB_GetListEventsAllGrps (MYSQL_RES **mysql_res,
Att_OrderNewestOldest_t OrderNewestOldest); Att_OrderNewestOldest_t OrderNewestOldest);
unsigned Att_DB_GetAllEventsData (MYSQL_RES **mysql_res,long CrsCod); unsigned Att_DB_GetAllEventsData (MYSQL_RES **mysql_res,long CrsCod);
unsigned Att_DB_GetEventDataByCod (MYSQL_RES **mysql_res,long AttCod); unsigned Att_DB_GetEventDataByCod (MYSQL_RES **mysql_res,long AttCod);
void Att_DB_GetEventTitle (long AttCod, void Att_DB_GetEventTitle (long AttCod,char *Title,size_t TitleSize);
char Title[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1]);
void Att_DB_GetEventDescription (long AttCod,char Description[Cns_MAX_BYTES_TEXT + 1]); void Att_DB_GetEventDescription (long AttCod,char Description[Cns_MAX_BYTES_TEXT + 1]);
bool Att_DB_CheckIfSimilarEventExists (const char *Field,const char *Value,long AttCod); bool Att_DB_CheckIfSimilarEventExists (const char *Field,const char *Value,long AttCod);

View File

@ -68,14 +68,10 @@ void AttRsc_GetLinkToEvent (void)
void AttRsc_GetTitleFromAttCod (long AttCod,char *Title,size_t TitleSize) void AttRsc_GetTitleFromAttCod (long AttCod,char *Title,size_t TitleSize)
{ {
extern const char *Txt_Control_of_class_attendance; extern const char *Txt_Control_of_class_attendance;
char TitleFromDB[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1];
if (AttCod > 0) if (AttCod > 0)
{ /***** Get attendance event title from database *****/
/***** Get attendance event title *****/ Att_DB_GetEventTitle (AttCod,Title,TitleSize);
Att_DB_GetEventTitle (AttCod,TitleFromDB);
Str_Copy (Title,TitleFromDB,TitleSize);
}
else else
/***** Generic title for all attendance events *****/ /***** Generic title for all attendance events *****/
Str_Copy (Title,Txt_Control_of_class_attendance,TitleSize); Str_Copy (Title,Txt_Control_of_class_attendance,TitleSize);

View File

@ -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. 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.92.1 (2023-04-06)" #define Log_PLATFORM_VERSION "SWAD 22.92.3 (2023-04-06)"
#define CSS_FILE "swad22.88.css" #define CSS_FILE "swad22.88.css"
#define JS_FILE "swad22.49.js" #define JS_FILE "swad22.49.js"
/* /*
Version 22.92.3: Apr 06, 2023 Code refactoring in resources. (338493 lines)
Version 22.92.2: Apr 06, 2023 Code refactoring in resources. (338500 lines) Version 22.92.2: Apr 06, 2023 Code refactoring in resources. (338500 lines)
Version 22.92.1: Apr 06, 2023 Removed unused code in resources. (338514 lines) Version 22.92.1: Apr 06, 2023 Removed unused code in resources. (338514 lines)
Version 22.92: Apr 06, 2023 Code refactoring in resources. (339106 lines) Version 22.92: Apr 06, 2023 Code refactoring in resources. (339106 lines)

View File

@ -4177,8 +4177,8 @@ void DB_QuerySELECTString (char *Str,size_t StrSize,const char *MsgError,
va_list ap; va_list ap;
int NumBytesPrinted; int NumBytesPrinted;
char *Query; char *Query;
bool TooBig = false; // bool TooBig = false;
char ErrorTxt[256]; // char ErrorTxt[256];
/***** Create query string *****/ /***** Create query string *****/
va_start (ap,fmt); va_start (ap,fmt);
@ -4193,14 +4193,15 @@ void DB_QuerySELECTString (char *Str,size_t StrSize,const char *MsgError,
{ {
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
TooBig = (strlen (row[0]) > StrSize); // TooBig = (strlen (row[0]) > StrSize);
if (!TooBig) // if (!TooBig)
Str_Copy (Str,row[0],StrSize); Str_Copy (Str,row[0],StrSize);
} }
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res); DB_FreeMySQLResult (&mysql_res);
/*
if (TooBig) if (TooBig)
{ {
snprintf (ErrorTxt,sizeof (ErrorTxt), snprintf (ErrorTxt,sizeof (ErrorTxt),
@ -4209,6 +4210,7 @@ void DB_QuerySELECTString (char *Str,size_t StrSize,const char *MsgError,
StrSize); StrSize);
Err_ShowErrorAndExit (ErrorTxt); Err_ShowErrorAndExit (ErrorTxt);
} }
*/
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -218,9 +218,9 @@ unsigned Exa_DB_GetExamStartEnd (MYSQL_RES **mysql_res,long ExaCod)
/*********************** Get exam title from database ************************/ /*********************** Get exam title from database ************************/
/*****************************************************************************/ /*****************************************************************************/
void Exa_DB_GetExamTitle (long ExaCod,char Title[Exa_MAX_BYTES_TITLE + 1]) void Exa_DB_GetExamTitle (long ExaCod,char *Title,size_t TitleSize)
{ {
DB_QuerySELECTString (Title,Exa_MAX_BYTES_TITLE,"can not get exam title", DB_QuerySELECTString (Title,TitleSize,"can not get exam title",
"SELECT Title" // row[0] "SELECT Title" // row[0]
" FROM exa_exams" " FROM exa_exams"
" WHERE ExaCod=%ld" " WHERE ExaCod=%ld"

View File

@ -44,7 +44,7 @@ void Exa_DB_HideOrUnhideExam (long ExaCod,bool Hide);
unsigned Exa_DB_GetListExams (MYSQL_RES **mysql_res,Exa_Order_t SelectedOrder); unsigned Exa_DB_GetListExams (MYSQL_RES **mysql_res,Exa_Order_t SelectedOrder);
unsigned Exa_DB_GetExamDataByCod (MYSQL_RES **mysql_res,long ExaCod); unsigned Exa_DB_GetExamDataByCod (MYSQL_RES **mysql_res,long ExaCod);
unsigned Exa_DB_GetExamStartEnd (MYSQL_RES **mysql_res,long ExaCod); unsigned Exa_DB_GetExamStartEnd (MYSQL_RES **mysql_res,long ExaCod);
void Exa_DB_GetExamTitle (long ExaCod,char Title[Exa_MAX_BYTES_TITLE + 1]); void Exa_DB_GetExamTitle (long ExaCod,char *Title,size_t TitleSize);
void Exa_DB_GetExamTxt (long ExaCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); void Exa_DB_GetExamTxt (long ExaCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
bool Exa_DB_CheckIfSimilarExamExists (long CrsCod,long ExaCod,const char *Title); bool Exa_DB_CheckIfSimilarExamExists (long CrsCod,long ExaCod,const char *Title);
unsigned Exa_DB_GetNumCoursesWithExams (HieLvl_Level_t Scope); unsigned Exa_DB_GetNumCoursesWithExams (HieLvl_Level_t Scope);

View File

@ -72,14 +72,10 @@ void ExaRsc_GetLinkToExam (void)
void ExaRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize) void ExaRsc_GetTitleFromExaCod (long ExaCod,char *Title,size_t TitleSize)
{ {
extern const char *Txt_Exams; extern const char *Txt_Exams;
char TitleFromDB[Exa_MAX_BYTES_TITLE + 1];
if (ExaCod > 0) if (ExaCod > 0)
{ /***** Get exam title from database *****/
/***** Get exam title *****/ Exa_DB_GetExamTitle (ExaCod,Title,TitleSize);
Exa_DB_GetExamTitle (ExaCod,TitleFromDB);
Str_Copy (Title,TitleFromDB,TitleSize);
}
else else
/***** Generic title for all exams *****/ /***** Generic title for all exams *****/
Str_Copy (Title,Txt_Exams,TitleSize); Str_Copy (Title,Txt_Exams,TitleSize);

View File

@ -539,10 +539,9 @@ unsigned For_DB_GetThreadData (MYSQL_RES **mysql_res,long ThrCod)
/***************************** Get thread subject ****************************/ /***************************** Get thread subject ****************************/
/*****************************************************************************/ /*****************************************************************************/
void For_DB_GetThreadSubject (long ThrCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]) void For_DB_GetThreadTitle (long ThrCod,char *Subject,size_t TitleSize)
{ {
DB_QuerySELECTString (Subject,Cns_MAX_BYTES_SUBJECT, DB_QuerySELECTString (Subject,TitleSize,"can not get thread subject",
"can not get thread subject",
"SELECT for_posts.Subject" // row[0] "SELECT for_posts.Subject" // row[0]
" FROM for_threads," " FROM for_threads,"
"for_posts" "for_posts"

View File

@ -67,7 +67,7 @@ void For_DB_UpdateThrLastPst (long ThrCod,long LastPstCod);
unsigned For_DB_GetForumThreads (MYSQL_RES **mysql_res, unsigned For_DB_GetForumThreads (MYSQL_RES **mysql_res,
const struct For_Forums *Forums); const struct For_Forums *Forums);
unsigned For_DB_GetThreadData (MYSQL_RES **mysql_res,long ThrCod); unsigned For_DB_GetThreadData (MYSQL_RES **mysql_res,long ThrCod);
void For_DB_GetThreadSubject (long ThrCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]); void For_DB_GetThreadTitle (long ThrCod,char *Subject,size_t TitleSize);
bool For_DB_CheckIfThrBelongsToForum (long ThrCod,const struct For_Forum *Forum); bool For_DB_CheckIfThrBelongsToForum (long ThrCod,const struct For_Forum *Forum);
long For_DB_GetThrLastPst (long ThrCod); long For_DB_GetThrLastPst (long ThrCod);
void For_DB_GetThrSubject (long ThrCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]); void For_DB_GetThrSubject (long ThrCod,char Subject[Cns_MAX_BYTES_SUBJECT + 1]);

View File

@ -97,16 +97,12 @@ void ForRsc_FreeAnchorStr (char **Anchor)
void ForRsc_GetTitleFromThrCod (long ThrCod,char *Title,size_t TitleSize) void ForRsc_GetTitleFromThrCod (long ThrCod,char *Title,size_t TitleSize)
{ {
extern const char *Txt_Forum; extern const char *Txt_Course_forum;
char Subject[Cns_MAX_BYTES_SUBJECT + 1];
if (ThrCod > 0) if (ThrCod > 0)
{ /***** Get thread subject from database *****/
/***** Get thread subject *****/ For_DB_GetThreadTitle (ThrCod,Title,TitleSize);
For_DB_GetThreadSubject (ThrCod,Subject);
Str_Copy (Title,Subject,TitleSize);
}
else else
snprintf (Title,TitleSize + 1,"%s %s", /***** Generic title for all posts *****/
Txt_Forum,Gbl.Hierarchy.Crs.ShrtName); Str_Copy (Title,Txt_Course_forum,TitleSize);
} }

View File

@ -226,9 +226,9 @@ unsigned Gam_DB_GetGameDataByCod (MYSQL_RES **mysql_res,long GamCod)
/*********************** Get game title from database ************************/ /*********************** Get game title from database ************************/
/*****************************************************************************/ /*****************************************************************************/
void Gam_DB_GetGameTitle (long GamCod,char Title[Gam_MAX_BYTES_TITLE + 1]) void Gam_DB_GetGameTitle (long GamCod,char *Title,size_t TitleSize)
{ {
DB_QuerySELECTString (Title,Gam_MAX_BYTES_TITLE,"can not get game title", DB_QuerySELECTString (Title,TitleSize,"can not get game title",
"SELECT Title" // row[0] "SELECT Title" // row[0]
" FROM gam_games" " FROM gam_games"
" WHERE GamCod=%ld" " WHERE GamCod=%ld"

View File

@ -44,7 +44,7 @@ void Gam_DB_HideOrUnhideGame (long GamCod,bool Hide);
unsigned Gam_DB_GetListGames (MYSQL_RES **mysql_res,Gam_Order_t SelectedOrder); unsigned Gam_DB_GetListGames (MYSQL_RES **mysql_res,Gam_Order_t SelectedOrder);
unsigned Gam_DB_GetListAvailableGames (MYSQL_RES **mysql_res); unsigned Gam_DB_GetListAvailableGames (MYSQL_RES **mysql_res);
unsigned Gam_DB_GetGameDataByCod (MYSQL_RES **mysql_res,long GamCod); unsigned Gam_DB_GetGameDataByCod (MYSQL_RES **mysql_res,long GamCod);
void Gam_DB_GetGameTitle (long GamCod,char Title[Gam_MAX_BYTES_TITLE + 1]); void Gam_DB_GetGameTitle (long GamCod,char *Title,size_t TitleSize);
void Gam_DB_GetGameTxt (long GamCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); void Gam_DB_GetGameTxt (long GamCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
bool Gam_DB_CheckIfSimilarGameExists (const struct Gam_Game *Game); bool Gam_DB_CheckIfSimilarGameExists (const struct Gam_Game *Game);
unsigned Gam_DB_GetNumCoursesWithGames (HieLvl_Level_t Scope); unsigned Gam_DB_GetNumCoursesWithGames (HieLvl_Level_t Scope);

View File

@ -74,14 +74,10 @@ void GamRsc_GetLinkToGame (void)
void GamRsc_GetTitleFromGamCod (long GamCod,char *Title,size_t TitleSize) void GamRsc_GetTitleFromGamCod (long GamCod,char *Title,size_t TitleSize)
{ {
extern const char *Txt_Games; extern const char *Txt_Games;
char TitleFromDB[Gam_MAX_BYTES_TITLE + 1];
if (GamCod > 0) if (GamCod > 0)
{ /***** Get game title from database *****/
/***** Get game title *****/ Gam_DB_GetGameTitle (GamCod,Title,TitleSize);
Gam_DB_GetGameTitle (GamCod,TitleFromDB);
Str_Copy (Title,TitleFromDB,TitleSize);
}
else else
/***** Generic title for all games *****/ /***** Generic title for all games *****/
Str_Copy (Title,Txt_Games,TitleSize); Str_Copy (Title,Txt_Games,TitleSize);

View File

@ -598,9 +598,9 @@ unsigned Prj_DB_GetProjectDataByCod (MYSQL_RES **mysql_res,long PrjCod)
/********************* Get project title from database ***********************/ /********************* Get project title from database ***********************/
/*****************************************************************************/ /*****************************************************************************/
void Prj_DB_GetProjectTitle (long PrjCod,char Title[Prj_MAX_BYTES_TITLE + 1]) void Prj_DB_GetProjectTitle (long PrjCod,char *Title,size_t TitleSize)
{ {
DB_QuerySELECTString (Title,Prj_MAX_BYTES_TITLE,"can not get project title", DB_QuerySELECTString (Title,TitleSize,"can not get project title",
"SELECT Title" // row[0] "SELECT Title" // row[0]
" FROM prj_projects" " FROM prj_projects"
" WHERE PrjCod=%ld" " WHERE PrjCod=%ld"

View File

@ -48,7 +48,7 @@ unsigned Prj_DB_GetListProjects (MYSQL_RES **mysql_res,
const char *UsrsSubQuery); // NULL if no users const char *UsrsSubQuery); // NULL if no users
unsigned Prj_DB_GetCrsPrjsConfig (MYSQL_RES **mysql_res); unsigned Prj_DB_GetCrsPrjsConfig (MYSQL_RES **mysql_res);
unsigned Prj_DB_GetProjectDataByCod (MYSQL_RES **mysql_res,long PrjCod); unsigned Prj_DB_GetProjectDataByCod (MYSQL_RES **mysql_res,long PrjCod);
void Prj_DB_GetProjectTitle (long PrjCod,char Title[Prj_MAX_BYTES_TITLE + 1]); void Prj_DB_GetProjectTitle (long PrjCod,char *Title,size_t TitleSize);
unsigned Prj_DB_GetPrjDataToCheckFaults (MYSQL_RES **mysql_res,long PrjCod); unsigned Prj_DB_GetPrjDataToCheckFaults (MYSQL_RES **mysql_res,long PrjCod);
unsigned Prj_DB_GetNumUsrsInPrj (long PrjCod,Prj_RoleInProject_t RoleInProject); unsigned Prj_DB_GetNumUsrsInPrj (long PrjCod,Prj_RoleInProject_t RoleInProject);
unsigned Prj_DB_GetUsrsInPrj (MYSQL_RES **mysql_res, unsigned Prj_DB_GetUsrsInPrj (MYSQL_RES **mysql_res,

View File

@ -77,14 +77,10 @@ void PrjRsc_GetLinkToProject (void)
void PrjRsc_GetTitleFromPrjCod (long PrjCod,char *Title,size_t TitleSize) void PrjRsc_GetTitleFromPrjCod (long PrjCod,char *Title,size_t TitleSize)
{ {
extern const char *Txt_Projects; extern const char *Txt_Projects;
char TitleFromDB[Prj_MAX_BYTES_TITLE + 1];
if (PrjCod > 0) if (PrjCod > 0)
{ /***** Get project title from database *****/
/***** Get project title *****/ Prj_DB_GetProjectTitle (PrjCod,Title,TitleSize);
Prj_DB_GetProjectTitle (PrjCod,TitleFromDB);
Str_Copy (Title,TitleFromDB,TitleSize);
}
else else
/***** Generic title for all projects *****/ /***** Generic title for all projects *****/
Str_Copy (Title,Txt_Projects,TitleSize); Str_Copy (Title,Txt_Projects,TitleSize);

View File

@ -128,9 +128,9 @@ unsigned Rub_DB_GetRubricDataByCod (MYSQL_RES **mysql_res,long RubCod)
/********************** Get rubric title from database ***********************/ /********************** Get rubric title from database ***********************/
/*****************************************************************************/ /*****************************************************************************/
void Rub_DB_GetRubricTitle (long RubCod,char Title[Rub_MAX_BYTES_TITLE + 1]) void Rub_DB_GetRubricTitle (long RubCod,char *Title,size_t TitleSize)
{ {
DB_QuerySELECTString (Title,Rub_MAX_BYTES_TITLE,"can not get rubric title", DB_QuerySELECTString (Title,TitleSize,"can not get rubric title",
"SELECT Title" // row[0] "SELECT Title" // row[0]
" FROM rub_rubrics" " FROM rub_rubrics"
" WHERE RubCod=%ld" " WHERE RubCod=%ld"

View File

@ -44,7 +44,7 @@ void Rub_DB_HideOrUnhideRubric (long RubCod,bool Hide);
unsigned Rub_DB_GetListRubrics (MYSQL_RES **mysql_res); unsigned Rub_DB_GetListRubrics (MYSQL_RES **mysql_res);
unsigned Rub_DB_GetRubricDataByCod (MYSQL_RES **mysql_res,long RubCod); unsigned Rub_DB_GetRubricDataByCod (MYSQL_RES **mysql_res,long RubCod);
void Rub_DB_GetRubricTitle (long RubCod,char Title[Rub_MAX_BYTES_TITLE + 1]); void Rub_DB_GetRubricTitle (long RubCod,char *Title,size_t TitleSize);
void Rub_DB_GetRubricTxt (long RubCod,char Txt[Cns_MAX_BYTES_TEXT + 1]); void Rub_DB_GetRubricTxt (long RubCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
bool Rub_DB_CheckIfSimilarRubricExists (const struct Rub_Rubric *Rubric); bool Rub_DB_CheckIfSimilarRubricExists (const struct Rub_Rubric *Rubric);
unsigned Rub_DB_GetNumCoursesWithRubrics (HieLvl_Level_t Scope); unsigned Rub_DB_GetNumCoursesWithRubrics (HieLvl_Level_t Scope);

View File

@ -81,14 +81,10 @@ void RubRsc_GetLinkToRubric (void)
void RubRsc_GetTitleFromRubCod (long RubCod,char *Title,size_t TitleSize) void RubRsc_GetTitleFromRubCod (long RubCod,char *Title,size_t TitleSize)
{ {
extern const char *Txt_Rubrics; extern const char *Txt_Rubrics;
char TitleFromDB[Rub_MAX_BYTES_TITLE + 1];
if (RubCod > 0) if (RubCod > 0)
{ /***** Get rubric title from database *****/
/***** Get rubric title *****/ Rub_DB_GetRubricTitle (RubCod,Title,TitleSize);
Rub_DB_GetRubricTitle (RubCod,TitleFromDB);
Str_Copy (Title,TitleFromDB,TitleSize);
}
else else
/***** Generic title for all rubrics *****/ /***** Generic title for all rubrics *****/
Str_Copy (Title,Txt_Rubrics,TitleSize); Str_Copy (Title,Txt_Rubrics,TitleSize);

View File

@ -6130,6 +6130,29 @@ const char *Txt_course =
"kurs"; "kurs";
#endif #endif
const char *Txt_Course_forum =
#if L==1 // ca
"Fòrum de l'assignatura";
#elif L==2 // de
"Kursforum";
#elif L==3 // en
"Course forum";
#elif L==4 // es
"Foro de la asignatura";
#elif L==5 // fr
"Forum de matière";
#elif L==6 // gn
"Foro de la asignatura"; // Okoteve traducción
#elif L==7 // it
"Forum del corso";
#elif L==8 // pl
"Forum kursu";
#elif L==9 // pt
"Fórum da disciplina";
#elif L==10 // tr
"Kurs forumu";
#endif
const char *Txt_COURSE_program = // Warning: it is very important to include %s in the following sentences const char *Txt_COURSE_program = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca #if L==1 // ca
"Programa de %s"; "Programa de %s";
@ -15137,7 +15160,7 @@ const char *Txt_Format =
const char *Txt_Forum = const char *Txt_Forum =
#if L==1 // ca #if L==1 // ca
"Foro"; "Fòrum";
#elif L==2 // de #elif L==2 // de
"Forum"; "Forum";
#elif L==3 // en #elif L==3 // en
@ -15147,7 +15170,7 @@ const char *Txt_Forum =
#elif L==5 // fr #elif L==5 // fr
"Forum"; "Forum";
#elif L==6 // gn #elif L==6 // gn
"Foro"; // Okoteve traducción "Foro";
#elif L==7 // it #elif L==7 // it
"Forum"; "Forum";
#elif L==8 // pl #elif L==8 // pl
@ -15155,7 +15178,7 @@ const char *Txt_Forum =
#elif L==9 // pt #elif L==9 // pt
"Fórum"; "Fórum";
#elif L==10 // tr #elif L==10 // tr
"Forum"; // Çeviri lazim! "Forum";
#endif #endif
const char *Txt_Forum_posts = const char *Txt_Forum_posts =