diff --git a/swad_QR.c b/swad_QR.c
index acf1e6d8..767bca55 100644
--- a/swad_QR.c
+++ b/swad_QR.c
@@ -155,7 +155,7 @@ void QR_ExamAnnnouncement (void)
" style=\"width:250px; height:250px;\" />"
"",
300,300,
- Cfg_URL_SWAD_CGI,Gbl.Hierarchy.Crs.Crs.CrsCod,Act_GetActCod (ActSeeAllExaAnn),
+ Cfg_URL_SWAD_CGI,Gbl.Hierarchy.Crs.CrsCod,Act_GetActCod (ActSeeAllExaAnn),
Txt_Link_to_announcement_of_exam,
Txt_Link_to_announcement_of_exam);
}
diff --git a/swad_RSS.c b/swad_RSS.c
index 49e9f7b8..d7a52f23 100644
--- a/swad_RSS.c
+++ b/swad_RSS.c
@@ -261,7 +261,7 @@ static void RSS_WriteExamAnnouncements (FILE *FileRSS,struct Course *Crs)
" FROM exam_announcements"
" WHERE CrsCod=%ld AND Status=%u AND ExamDate>=NOW()"
" ORDER BY T",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
(unsigned) Exa_VISIBLE_EXAM_ANNOUNCEMENT);
/***** Write items with notices *****/
diff --git a/swad_action.c b/swad_action.c
index 180ebeff..9c27c615 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -5364,7 +5364,7 @@ void Act_AdjustCurrentAction (void)
/***** Check if it is mandatory to read any information about course *****/
if (Gbl.Action.Act == ActMnu) // Do the following check sometimes, for example when the user changes the current tab
- Gbl.Hierarchy.Crs.Info.ShowMsgMustBeRead = Inf_GetIfIMustReadAnyCrsInfoInThisCrs ();
+ Gbl.Crs.Info.ShowMsgMustBeRead = Inf_GetIfIMustReadAnyCrsInfoInThisCrs ();
break;
case Rol_NET:
break;
diff --git a/swad_agenda.c b/swad_agenda.c
index 71e39bfb..5f18b947 100644
--- a/swad_agenda.c
+++ b/swad_agenda.c
@@ -1791,7 +1791,7 @@ unsigned Agd_GetNumUsrsWithEvents (Hie_Level_t Scope)
" FROM crs_usr,agendas"
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=agendas.UsrCod",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
break;
default:
Lay_WrongScopeExit ();
@@ -1877,7 +1877,7 @@ unsigned Agd_GetNumEvents (Hie_Level_t Scope)
" FROM crs_usr,agendas"
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=agendas.UsrCod",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
break;
default:
Lay_WrongScopeExit ();
diff --git a/swad_assignment.c b/swad_assignment.c
index a746bd19..cbca5ac7 100644
--- a/swad_assignment.c
+++ b/swad_assignment.c
@@ -145,7 +145,7 @@ static void Asg_ShowAllAssignments (void)
Hlp_ASSESSMENT_Assignments,Box_NOT_CLOSABLE);
/***** Select whether show only my groups or all groups *****/
- if (Gbl.Hierarchy.Crs.Grps.NumGrps)
+ if (Gbl.Crs.Grps.NumGrps)
{
Set_StartSettingsHead ();
Grp_ShowFormToSelWhichGrps (ActSeeAsg,Asg_ParamsWhichGroupsToShow);
@@ -319,7 +319,7 @@ void Asg_PrintOneAssignment (void)
Lay_WriteHeaderClassPhoto (true,false,
Gbl.Hierarchy.Ins.InsCod,
Gbl.Hierarchy.Deg.DegCod,
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
/***** Table head *****/
Tbl_StartTableWideMargin (2);
@@ -442,7 +442,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">");
- if (Gbl.Hierarchy.Crs.Grps.NumGrps)
+ if (Gbl.Crs.Grps.NumGrps)
Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg);
fprintf (Gbl.F.Out,"
%s
"
@@ -456,7 +456,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
/***** Mark possible notification as seen *****/
Ntf_MarkNotifAsSeen (Ntf_EVENT_ASSIGNMENT,
- AsgCod,Gbl.Hierarchy.Crs.Crs.CrsCod,
+ AsgCod,Gbl.Hierarchy.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
}
@@ -610,7 +610,7 @@ void Asg_GetListAssignments (void)
Asg_FreeListAssignments ();
/***** Get list of assignments from database *****/
- if (Gbl.Hierarchy.Crs.Grps.WhichGrps == Grp_ONLY_MY_GROUPS)
+ if (Gbl.Crs.Grps.WhichGrps == Grp_ONLY_MY_GROUPS)
NumRows = DB_QuerySELECT (&mysql_res,"can not get assignments",
"SELECT AsgCod"
" FROM assignments"
@@ -619,17 +619,17 @@ void Asg_GetListAssignments (void)
" AsgCod IN (SELECT asg_grp.AsgCod FROM asg_grp,crs_grp_usr"
" WHERE crs_grp_usr.UsrCod=%ld AND asg_grp.GrpCod=crs_grp_usr.GrpCod))"
" ORDER BY %s",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
HiddenSubQuery[Gbl.Usrs.Me.Role.Logged],
Gbl.Usrs.Me.UsrDat.UsrCod,
OrderBySubQuery[Gbl.Asgs.SelectedOrder]);
- else // Gbl.Hierarchy.Crs.Grps.WhichGrps == Grp_ALL_GROUPS
+ else // Gbl.Crs.Grps.WhichGrps == Grp_ALL_GROUPS
NumRows = DB_QuerySELECT (&mysql_res,"can not get assignments",
"SELECT AsgCod"
" FROM assignments"
" WHERE CrsCod=%ld%s"
" ORDER BY %s",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
HiddenSubQuery[Gbl.Usrs.Me.Role.Logged],
OrderBySubQuery[Gbl.Asgs.SelectedOrder]);
@@ -681,7 +681,7 @@ void Asg_GetDataOfAssignmentByCod (struct Assignment *Asg)
"Title,Folder"
" FROM assignments"
" WHERE AsgCod=%ld AND CrsCod=%ld",
- Asg->AsgCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Asg->AsgCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Get data of assignment *****/
Asg_GetDataOfAssignment (Asg,&mysql_res,NumRows);
@@ -714,7 +714,7 @@ void Asg_GetDataOfAssignmentByFolder (struct Assignment *Asg)
"Title,Folder"
" FROM assignments"
" WHERE CrsCod=%ld AND Folder='%s'",
- Gbl.Hierarchy.Crs.Crs.CrsCod,Asg->Folder);
+ Gbl.Hierarchy.Crs.CrsCod,Asg->Folder);
/***** Get data of assignment *****/
Asg_GetDataOfAssignment (Asg,&mysql_res,NumRows);
@@ -831,7 +831,7 @@ static void Asg_GetAssignmentTxtFromDB (long AsgCod,char Txt[Cns_MAX_BYTES_TEXT
NumRows = DB_QuerySELECT (&mysql_res,"can not get assignment text",
"SELECT Txt FROM assignments"
" WHERE AsgCod=%ld AND CrsCod=%ld",
- AsgCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ AsgCod,Gbl.Hierarchy.Crs.CrsCod);
/***** The result of the query must have one row or none *****/
if (NumRows == 1)
@@ -976,7 +976,7 @@ void Asg_RemoveAssignment (void)
/***** Remove assignment *****/
DB_QueryDELETE ("can not remove assignment",
"DELETE FROM assignments WHERE AsgCod=%ld AND CrsCod=%ld",
- Asg.AsgCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Asg.AsgCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Mark possible notifications as removed *****/
Ntf_MarkNotifAsRemoved (Ntf_EVENT_ASSIGNMENT,Asg.AsgCod);
@@ -1009,7 +1009,7 @@ void Asg_HideAssignment (void)
DB_QueryUPDATE ("can not hide assignment",
"UPDATE assignments SET Hidden='Y'"
" WHERE AsgCod=%ld AND CrsCod=%ld",
- Asg.AsgCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Asg.AsgCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Assignment_X_is_now_hidden,
@@ -1039,7 +1039,7 @@ void Asg_ShowAssignment (void)
DB_QueryUPDATE ("can not show assignment",
"UPDATE assignments SET Hidden='N'"
" WHERE AsgCod=%ld AND CrsCod=%ld",
- Asg.AsgCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Asg.AsgCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Write message to show the change made *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Assignment_X_is_now_visible,
@@ -1060,7 +1060,7 @@ static bool Asg_CheckIfSimilarAssignmentExists (const char *Field,const char *Va
"SELECT COUNT(*) FROM assignments"
" WHERE CrsCod=%ld"
" AND %s='%s' AND AsgCod<>%ld",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
Field,Value,AsgCod) != 0);
}
@@ -1220,7 +1220,7 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
/***** Get list of groups types and groups in this course *****/
Grp_GetListGrpTypesAndGrpsInThisCrs (Grp_ONLY_GROUP_TYPES_WITH_GROUPS);
- if (Gbl.Hierarchy.Crs.Grps.GrpTypes.Num)
+ if (Gbl.Crs.Grps.GrpTypes.Num)
{
/***** Start box and table *****/
fprintf (Gbl.F.Out,"
",
- Hie_MAX_CHARS_FULL_NAME,Gbl.Degs.EditingCrs.FullName);
+ Hie_MAX_CHARS_FULL_NAME,Gbl.Crss.EditingCrs.FullName);
/***** Current number of teachers in this course *****/
fprintf (Gbl.F.Out,"
"
@@ -1884,29 +1884,29 @@ static void Crs_RecFormRequestOrCreateCrs (unsigned Status)
/***** Get parameters from form *****/
/* Set course degree */
- Deg.DegCod = Gbl.Degs.EditingCrs.DegCod = Gbl.Hierarchy.Deg.DegCod;
+ Deg.DegCod = Gbl.Crss.EditingCrs.DegCod = Gbl.Hierarchy.Deg.DegCod;
/* Get parameters of the new course */
- Crs_GetParamsNewCourse (&Gbl.Degs.EditingCrs);
+ Crs_GetParamsNewCourse (&Gbl.Crss.EditingCrs);
/***** Check if year is correct *****/
Deg_GetDataOfDegreeByCod (&Deg);
- if (Gbl.Degs.EditingCrs.Year <= Deg_MAX_YEARS_PER_DEGREE) // If year is valid
+ if (Gbl.Crss.EditingCrs.Year <= Deg_MAX_YEARS_PER_DEGREE) // If year is valid
{
- if (Gbl.Degs.EditingCrs.ShrtName[0] &&
- Gbl.Degs.EditingCrs.FullName[0]) // If there's a course name
+ if (Gbl.Crss.EditingCrs.ShrtName[0] &&
+ Gbl.Crss.EditingCrs.FullName[0]) // If there's a course name
{
/***** If name of course was in database... *****/
- if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Degs.EditingCrs.ShrtName,-1L,
- Gbl.Degs.EditingCrs.DegCod,Gbl.Degs.EditingCrs.Year))
+ if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Crss.EditingCrs.ShrtName,-1L,
+ Gbl.Crss.EditingCrs.DegCod,Gbl.Crss.EditingCrs.Year))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists,
- Gbl.Degs.EditingCrs.ShrtName);
- else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Degs.EditingCrs.FullName,-1L,
- Gbl.Degs.EditingCrs.DegCod,Gbl.Degs.EditingCrs.Year))
+ Gbl.Crss.EditingCrs.ShrtName);
+ else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Crss.EditingCrs.FullName,-1L,
+ Gbl.Crss.EditingCrs.DegCod,Gbl.Crss.EditingCrs.Year))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists,
- Gbl.Degs.EditingCrs.FullName);
+ Gbl.Crss.EditingCrs.FullName);
else // Add new requested course to database
Crs_CreateCourse (Status);
}
@@ -1917,7 +1917,7 @@ static void Crs_RecFormRequestOrCreateCrs (unsigned Status)
else // Year not valid
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_year_X_is_not_allowed,
- Gbl.Degs.EditingCrs.Year);
+ Gbl.Crss.EditingCrs.Year);
}
/*****************************************************************************/
@@ -1946,14 +1946,14 @@ static void Crs_GetParamsNewCourse (struct Course *Crs)
/*****************************************************************************/
/************* Add a new requested course to pending requests ****************/
/*****************************************************************************/
-// Gbl.Degs.EditingCrs must hold the course beeing edited
+// Gbl.Crss.EditingCrs must hold the course beeing edited
static void Crs_CreateCourse (unsigned Status)
{
extern const char *Txt_Created_new_course_X;
/***** Insert new course into pending requests *****/
- Gbl.Degs.EditingCrs.CrsCod =
+ Gbl.Crss.EditingCrs.CrsCod =
DB_QueryINSERTandReturnCode ("can not create a new course",
"INSERT INTO courses"
" (DegCod,Year,InsCrsCod,Status,RequesterUsrCod,"
@@ -1961,17 +1961,17 @@ static void Crs_CreateCourse (unsigned Status)
" VALUES"
" (%ld,%u,'%s',%u,%ld,"
"'%s','%s')",
- Gbl.Degs.EditingCrs.DegCod,Gbl.Degs.EditingCrs.Year,
- Gbl.Degs.EditingCrs.InstitutionalCrsCod,
+ Gbl.Crss.EditingCrs.DegCod,Gbl.Crss.EditingCrs.Year,
+ Gbl.Crss.EditingCrs.InstitutionalCrsCod,
Status,
Gbl.Usrs.Me.UsrDat.UsrCod,
- Gbl.Degs.EditingCrs.ShrtName,
- Gbl.Degs.EditingCrs.FullName);
+ Gbl.Crss.EditingCrs.ShrtName,
+ Gbl.Crss.EditingCrs.FullName);
/***** Create success message *****/
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_Created_new_course_X,
- Gbl.Degs.EditingCrs.FullName);
+ Gbl.Crss.EditingCrs.FullName);
}
/*****************************************************************************/
@@ -2323,19 +2323,19 @@ void Crs_ChangeInsCrsCodInConfig (void)
Par_GetParToText ("InsCrsCod",NewInstitutionalCrsCod,Crs_MAX_BYTES_INSTITUTIONAL_CRS_COD);
/***** Change the institutional course code *****/
- if (strcmp (NewInstitutionalCrsCod,Gbl.Hierarchy.Crs.Crs.InstitutionalCrsCod))
+ if (strcmp (NewInstitutionalCrsCod,Gbl.Hierarchy.Crs.InstitutionalCrsCod))
{
- Crs_UpdateInstitutionalCrsCod (&Gbl.Hierarchy.Crs.Crs,NewInstitutionalCrsCod);
+ Crs_UpdateInstitutionalCrsCod (&Gbl.Hierarchy.Crs,NewInstitutionalCrsCod);
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_institutional_code_of_the_course_X_has_changed_to_Y,
- Gbl.Hierarchy.Crs.Crs.ShrtName,
+ Gbl.Hierarchy.Crs.ShrtName,
NewInstitutionalCrsCod);
}
else // The same institutional code
Ale_CreateAlert (Ale_INFO,NULL,
Txt_The_institutional_code_of_the_course_X_has_not_changed,
- Gbl.Hierarchy.Crs.Crs.ShrtName);
+ Gbl.Hierarchy.Crs.ShrtName);
}
/*****************************************************************************/
@@ -2350,29 +2350,29 @@ void Crs_ChangeInsCrsCod (void)
/***** Get parameters from form *****/
/* Get course code */
- Gbl.Degs.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
+ Gbl.Crss.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
/* Get institutional code */
Par_GetParToText ("InsCrsCod",NewInstitutionalCrsCod,Crs_MAX_BYTES_INSTITUTIONAL_CRS_COD);
/* Get data of the course */
- Crs_GetDataOfCourseByCod (&Gbl.Degs.EditingCrs);
+ Crs_GetDataOfCourseByCod (&Gbl.Crss.EditingCrs);
- if (Crs_CheckIfICanEdit (&Gbl.Degs.EditingCrs))
+ if (Crs_CheckIfICanEdit (&Gbl.Crss.EditingCrs))
{
/***** Change the institutional course code *****/
- if (strcmp (NewInstitutionalCrsCod,Gbl.Degs.EditingCrs.InstitutionalCrsCod))
+ if (strcmp (NewInstitutionalCrsCod,Gbl.Crss.EditingCrs.InstitutionalCrsCod))
{
- Crs_UpdateInstitutionalCrsCod (&Gbl.Degs.EditingCrs,NewInstitutionalCrsCod);
+ Crs_UpdateInstitutionalCrsCod (&Gbl.Crss.EditingCrs,NewInstitutionalCrsCod);
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_institutional_code_of_the_course_X_has_changed_to_Y,
- Gbl.Degs.EditingCrs.ShrtName,
+ Gbl.Crss.EditingCrs.ShrtName,
NewInstitutionalCrsCod);
}
else // The same institutional code
Ale_CreateAlert (Ale_INFO,NULL,
Txt_The_institutional_code_of_the_course_X_has_not_changed,
- Gbl.Degs.EditingCrs.ShrtName);
+ Gbl.Crss.EditingCrs.ShrtName);
}
else
Lay_NoPermissionExit ();
@@ -2393,31 +2393,31 @@ void Crs_ChangeCrsDegInConfig (void)
NewDeg.DegCod = Deg_GetAndCheckParamOtherDegCod (1);
/***** Check if degree has changed *****/
- if (NewDeg.DegCod != Gbl.Hierarchy.Crs.Crs.DegCod)
+ if (NewDeg.DegCod != Gbl.Hierarchy.Crs.DegCod)
{
/***** Get data of new degree *****/
Deg_GetDataOfDegreeByCod (&NewDeg);
/***** If name of course was in database in the new degree... *****/
- if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Hierarchy.Crs.Crs.ShrtName,-1L,
- NewDeg.DegCod,Gbl.Hierarchy.Crs.Crs.Year))
+ if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Hierarchy.Crs.ShrtName,-1L,
+ NewDeg.DegCod,Gbl.Hierarchy.Crs.Year))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_name_Z,
- Txt_YEAR_OF_DEGREE[Gbl.Hierarchy.Crs.Crs.Year],
+ Txt_YEAR_OF_DEGREE[Gbl.Hierarchy.Crs.Year],
NewDeg.FullName,
- Gbl.Hierarchy.Crs.Crs.ShrtName);
- else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Hierarchy.Crs.Crs.FullName,-1L,
- NewDeg.DegCod,Gbl.Hierarchy.Crs.Crs.Year))
+ Gbl.Hierarchy.Crs.ShrtName);
+ else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Hierarchy.Crs.FullName,-1L,
+ NewDeg.DegCod,Gbl.Hierarchy.Crs.Year))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_In_the_year_X_of_the_degree_Y_already_existed_a_course_with_the_name_Z,
- Txt_YEAR_OF_DEGREE[Gbl.Hierarchy.Crs.Crs.Year],
+ Txt_YEAR_OF_DEGREE[Gbl.Hierarchy.Crs.Year],
NewDeg.FullName,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
else // Update degree in database
{
/***** Update degree in table of courses *****/
- Crs_UpdateCrsDegDB (Gbl.Hierarchy.Crs.Crs.CrsCod,NewDeg.DegCod);
- Gbl.Hierarchy.Crs.Crs.DegCod =
+ Crs_UpdateCrsDegDB (Gbl.Hierarchy.Crs.CrsCod,NewDeg.DegCod);
+ Gbl.Hierarchy.Crs.DegCod =
Gbl.Hierarchy.Deg.DegCod = NewDeg.DegCod;
/***** Initialize again current course, degree, centre... *****/
@@ -2426,7 +2426,7 @@ void Crs_ChangeCrsDegInConfig (void)
/***** Create alert to show the change made *****/
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_course_X_has_been_moved_to_the_degree_Y,
- Gbl.Hierarchy.Crs.Crs.FullName,
+ Gbl.Hierarchy.Crs.FullName,
Gbl.Hierarchy.Deg.FullName);
}
}
@@ -2477,27 +2477,27 @@ void Crs_ChangeCrsYearInConfig (void)
if (NewYear <= Deg_MAX_YEARS_PER_DEGREE) // If year is valid
{
/***** If name of course was in database in the new year... *****/
- if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Hierarchy.Crs.Crs.ShrtName,-1L,
- Gbl.Hierarchy.Crs.Crs.DegCod,NewYear))
+ if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Hierarchy.Crs.ShrtName,-1L,
+ Gbl.Hierarchy.Crs.DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y,
- Gbl.Hierarchy.Crs.Crs.ShrtName,
+ Gbl.Hierarchy.Crs.ShrtName,
Txt_YEAR_OF_DEGREE[NewYear]);
- else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Hierarchy.Crs.Crs.FullName,-1L,
- Gbl.Hierarchy.Crs.Crs.DegCod,NewYear))
+ else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Hierarchy.Crs.FullName,-1L,
+ Gbl.Hierarchy.Crs.DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y,
- Gbl.Hierarchy.Crs.Crs.FullName,
+ Gbl.Hierarchy.Crs.FullName,
Txt_YEAR_OF_DEGREE[NewYear]);
else // Update year in database
{
/***** Update year in table of courses *****/
- Crs_UpdateCrsYear (&Gbl.Hierarchy.Crs.Crs,NewYear);
+ Crs_UpdateCrsYear (&Gbl.Hierarchy.Crs,NewYear);
/***** Create alert to show the change made *****/
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_year_of_the_course_X_has_changed,
- Gbl.Hierarchy.Crs.Crs.ShrtName);
+ Gbl.Hierarchy.Crs.ShrtName);
}
}
else // Year not valid
@@ -2522,43 +2522,43 @@ void Crs_ChangeCrsYear (void)
/***** Get parameters from form *****/
/* Get course code */
- Gbl.Degs.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
+ Gbl.Crss.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
/* Get parameter with year */
Par_GetParToText ("OthCrsYear",YearStr,2);
NewYear = Deg_ConvStrToYear (YearStr);
- Crs_GetDataOfCourseByCod (&Gbl.Degs.EditingCrs);
+ Crs_GetDataOfCourseByCod (&Gbl.Crss.EditingCrs);
- if (Crs_CheckIfICanEdit (&Gbl.Degs.EditingCrs))
+ if (Crs_CheckIfICanEdit (&Gbl.Crss.EditingCrs))
{
- Deg.DegCod = Gbl.Degs.EditingCrs.DegCod;
+ Deg.DegCod = Gbl.Crss.EditingCrs.DegCod;
Deg_GetDataOfDegreeByCod (&Deg);
if (NewYear <= Deg_MAX_YEARS_PER_DEGREE) // If year is valid
{
/***** If name of course was in database in the new year... *****/
- if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Degs.EditingCrs.ShrtName,-1L,
- Gbl.Degs.EditingCrs.DegCod,NewYear))
+ if (Crs_CheckIfCrsNameExistsInYearOfDeg ("ShortName",Gbl.Crss.EditingCrs.ShrtName,-1L,
+ Gbl.Crss.EditingCrs.DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y,
- Gbl.Degs.EditingCrs.ShrtName,
+ Gbl.Crss.EditingCrs.ShrtName,
Txt_YEAR_OF_DEGREE[NewYear]);
- else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Degs.EditingCrs.FullName,-1L,
- Gbl.Degs.EditingCrs.DegCod,NewYear))
+ else if (Crs_CheckIfCrsNameExistsInYearOfDeg ("FullName",Gbl.Crss.EditingCrs.FullName,-1L,
+ Gbl.Crss.EditingCrs.DegCod,NewYear))
Ale_CreateAlert (Ale_WARNING,NULL,
Txt_The_course_X_already_exists_in_year_Y,
- Gbl.Degs.EditingCrs.FullName,
+ Gbl.Crss.EditingCrs.FullName,
Txt_YEAR_OF_DEGREE[NewYear]);
else // Update year in database
{
/***** Update year in table of courses *****/
- Crs_UpdateCrsYear (&Gbl.Degs.EditingCrs,NewYear);
+ Crs_UpdateCrsYear (&Gbl.Crss.EditingCrs,NewYear);
/***** Create message to show the change made *****/
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_year_of_the_course_X_has_changed,
- Gbl.Degs.EditingCrs.ShrtName);
+ Gbl.Crss.EditingCrs.ShrtName);
}
}
else // Year not valid
@@ -2608,13 +2608,13 @@ void Crs_UpdateInstitutionalCrsCod (struct Course *Crs,const char *NewInstitutio
void Crs_RenameCourseShort (void)
{
- Gbl.Degs.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
- Crs_RenameCourse (&Gbl.Degs.EditingCrs,Cns_SHRT_NAME);
+ Gbl.Crss.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
+ Crs_RenameCourse (&Gbl.Crss.EditingCrs,Cns_SHRT_NAME);
}
void Crs_RenameCourseShortInConfig (void)
{
- Crs_RenameCourse (&Gbl.Hierarchy.Crs.Crs,Cns_SHRT_NAME);
+ Crs_RenameCourse (&Gbl.Hierarchy.Crs,Cns_SHRT_NAME);
}
/*****************************************************************************/
@@ -2623,13 +2623,13 @@ void Crs_RenameCourseShortInConfig (void)
void Crs_RenameCourseFull (void)
{
- Gbl.Degs.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
- Crs_RenameCourse (&Gbl.Degs.EditingCrs,Cns_FULL_NAME);
+ Gbl.Crss.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
+ Crs_RenameCourse (&Gbl.Crss.EditingCrs,Cns_FULL_NAME);
}
void Crs_RenameCourseFullInConfig (void)
{
- Crs_RenameCourse (&Gbl.Hierarchy.Crs.Crs,Cns_FULL_NAME);
+ Crs_RenameCourse (&Gbl.Hierarchy.Crs,Cns_FULL_NAME);
}
/*****************************************************************************/
@@ -2755,7 +2755,7 @@ void Crs_ChangeCrsStatus (void)
/***** Get parameters from form *****/
/* Get course code */
- Gbl.Degs.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
+ Gbl.Crss.EditingCrs.CrsCod = Crs_GetAndCheckParamOtherCrsCod (1);
/* Get parameter with status */
Status = (Crs_Status_t)
@@ -2769,18 +2769,18 @@ void Crs_ChangeCrsStatus (void)
Status = Crs_GetStatusBitsFromStatusTxt (StatusTxt); // New status
/***** Get data of course *****/
- Crs_GetDataOfCourseByCod (&Gbl.Degs.EditingCrs);
+ Crs_GetDataOfCourseByCod (&Gbl.Crss.EditingCrs);
/***** Update status in table of courses *****/
DB_QueryUPDATE ("can not update the status of a course",
"UPDATE courses SET Status=%u WHERE CrsCod=%ld",
- (unsigned) Status,Gbl.Degs.EditingCrs.CrsCod);
- Gbl.Degs.EditingCrs.Status = Status;
+ (unsigned) Status,Gbl.Crss.EditingCrs.CrsCod);
+ Gbl.Crss.EditingCrs.Status = Status;
/***** Create alert to show the change made *****/
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_status_of_the_course_X_has_changed,
- Gbl.Degs.EditingCrs.ShrtName);
+ Gbl.Crss.EditingCrs.ShrtName);
}
/*****************************************************************************/
@@ -2808,15 +2808,15 @@ void Crs_ContEditAfterChgCrs (void)
break;
case Rol_USR:
PutButtonToRequestRegistration = !Usr_CheckIfUsrBelongsToCrs (Gbl.Usrs.Me.UsrDat.UsrCod,
- Gbl.Degs.EditingCrs.CrsCod,
+ Gbl.Crss.EditingCrs.CrsCod,
false);
break;
case Rol_STD:
case Rol_NET:
case Rol_TCH:
- if (Gbl.Degs.EditingCrs.CrsCod != Gbl.Hierarchy.Crs.Crs.CrsCod)
+ if (Gbl.Crss.EditingCrs.CrsCod != Gbl.Hierarchy.Crs.CrsCod)
PutButtonToRequestRegistration = !Usr_CheckIfUsrBelongsToCrs (Gbl.Usrs.Me.UsrDat.UsrCod,
- Gbl.Degs.EditingCrs.CrsCod,
+ Gbl.Crss.EditingCrs.CrsCod,
false);
break;
default:
@@ -2840,21 +2840,21 @@ void Crs_ContEditAfterChgCrs (void)
/*****************************************************************************/
/************************ Put button to go to course *************************/
/*****************************************************************************/
-// Gbl.Degs.EditingCrs is the course that is beeing edited
-// Gbl.Hierarchy.Crs.Crs. is the current course
+// Gbl.Crss.EditingCrs is the course that is beeing edited
+// Gbl.Hierarchy.Crs. is the current course
static void Crs_PutButtonToGoToCrs (void)
{
extern const char *Txt_Go_to_X;
// If the course being edited is different to the current one...
- if (Gbl.Degs.EditingCrs.CrsCod != Gbl.Hierarchy.Crs.Crs.CrsCod)
+ if (Gbl.Crss.EditingCrs.CrsCod != Gbl.Hierarchy.Crs.CrsCod)
{
Frm_StartForm (ActSeeCrsInf);
- Crs_PutParamCrsCod (Gbl.Degs.EditingCrs.CrsCod);
+ Crs_PutParamCrsCod (Gbl.Crss.EditingCrs.CrsCod);
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Go_to_X,
- Gbl.Degs.EditingCrs.ShrtName);
+ Gbl.Crss.EditingCrs.ShrtName);
Btn_PutConfirmButton (Gbl.Title);
Frm_EndForm ();
}
@@ -2863,8 +2863,8 @@ static void Crs_PutButtonToGoToCrs (void)
/*****************************************************************************/
/************************ Put button to go to course *************************/
/*****************************************************************************/
-// Gbl.Degs.EditingCrs is the course that is beeing edited
-// Gbl.Hierarchy.Crs.Crs. is the current course
+// Gbl.Crss.EditingCrs is the course that is beeing edited
+// Gbl.Hierarchy.Crs. is the current course
static void Crs_PutButtonToRegisterInCrs (void)
{
@@ -2872,11 +2872,11 @@ static void Crs_PutButtonToRegisterInCrs (void)
Frm_StartForm (ActReqSignUp);
// If the course beeing edited is different to the current one...
- if (Gbl.Degs.EditingCrs.CrsCod != Gbl.Hierarchy.Crs.Crs.CrsCod)
- Crs_PutParamCrsCod (Gbl.Degs.EditingCrs.CrsCod);
+ if (Gbl.Crss.EditingCrs.CrsCod != Gbl.Hierarchy.Crs.CrsCod)
+ Crs_PutParamCrsCod (Gbl.Crss.EditingCrs.CrsCod);
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Register_me_in_X,
- Gbl.Degs.EditingCrs.ShrtName);
+ Gbl.Crss.EditingCrs.ShrtName);
Btn_PutCreateButton (Gbl.Title);
Frm_EndForm ();
}
@@ -3227,7 +3227,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
Style = "DAT";
StyleNoBR = "DAT_NOBR";
}
- BgColor = (CrsCod == Gbl.Hierarchy.Crs.Crs.CrsCod) ? "LIGHT_BLUE" :
+ BgColor = (CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "LIGHT_BLUE" :
Gbl.ColorRows[RowEvenOdd];
/***** Start row *****/
@@ -3317,7 +3317,7 @@ void Crs_UpdateCrsLast (void)
DB_QueryUPDATE ("can not update last access to current course",
"REPLACE INTO crs_last (CrsCod,LastTime)"
" VALUES (%ld,NOW())",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
}
/*****************************************************************************/
diff --git a/swad_degree.c b/swad_degree.c
index 4df37146..6cf8d327 100644
--- a/swad_degree.c
+++ b/swad_degree.c
@@ -357,13 +357,13 @@ static void Deg_Configuration (bool PrintView)
" onchange=\"document.getElementById('%s').submit();\">",
Gbl.Form.Id);
for (NumCtr = 0;
- NumCtr < Gbl.Ctrs.Num;
+ NumCtr < Gbl.Hierarchy.Ins.Ctrs.Num;
NumCtr++)
fprintf (Gbl.F.Out,"",
- Gbl.Ctrs.Lst[NumCtr].CtrCod,
- Gbl.Ctrs.Lst[NumCtr].CtrCod == Gbl.Hierarchy.Ctr.CtrCod ? " selected=\"selected\"" :
+ Gbl.Hierarchy.Ins.Ctrs.Lst[NumCtr].CtrCod,
+ Gbl.Hierarchy.Ins.Ctrs.Lst[NumCtr].CtrCod == Gbl.Hierarchy.Ctr.CtrCod ? " selected=\"selected\"" :
"",
- Gbl.Ctrs.Lst[NumCtr].ShrtName);
+ Gbl.Hierarchy.Ins.Ctrs.Lst[NumCtr].ShrtName);
fprintf (Gbl.F.Out,"");
Frm_EndForm ();
@@ -784,10 +784,10 @@ static void Deg_ListDegreesForEdition (void)
" onchange=\"document.getElementById('%s').submit();\">",
Gbl.Form.Id);
for (NumDegTyp = 0;
- NumDegTyp < Gbl.Degs.DegTypes.Num;
+ NumDegTyp < Gbl.DegTypes.Num;
NumDegTyp++)
{
- DegTyp = &Gbl.Degs.DegTypes.Lst[NumDegTyp];
+ DegTyp = &Gbl.DegTypes.Lst[NumDegTyp];
fprintf (Gbl.F.Out,"",
DegTyp->DegTypCod,
(DegTyp->DegTypCod == Deg->DegTypCod) ? " selected=\"selected\"" :
@@ -799,10 +799,10 @@ static void Deg_ListDegreesForEdition (void)
}
else
for (NumDegTyp = 0;
- NumDegTyp < Gbl.Degs.DegTypes.Num;
+ NumDegTyp < Gbl.DegTypes.Num;
NumDegTyp++)
- if (Gbl.Degs.DegTypes.Lst[NumDegTyp].DegTypCod == Deg->DegTypCod)
- fprintf (Gbl.F.Out,"%s",Gbl.Degs.DegTypes.Lst[NumDegTyp].DegTypName);
+ if (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod == Deg->DegTypCod)
+ fprintf (Gbl.F.Out,"%s",Gbl.DegTypes.Lst[NumDegTyp].DegTypName);
fprintf (Gbl.F.Out,"
",
- BgColor,Gbl.Degs.DegTypes.Lst[NumDegTyp].DegTypName);
+ BgColor,Gbl.DegTypes.Lst[NumDegTyp].DegTypName);
/* Number of degrees of this type */
fprintf (Gbl.F.Out,"
"
"%u"
"
"
"
",
- BgColor,Gbl.Degs.DegTypes.Lst[NumDegTyp].NumDegs);
+ BgColor,Gbl.DegTypes.Lst[NumDegTyp].NumDegs);
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
}
@@ -376,18 +376,18 @@ static void DT_ListDegreeTypesForEdition (void)
/***** List degree types with forms for edition *****/
for (NumDegTyp = 0;
- NumDegTyp < Gbl.Degs.DegTypes.Num;
+ NumDegTyp < Gbl.DegTypes.Num;
NumDegTyp++)
{
/* Put icon to remove degree type */
fprintf (Gbl.F.Out,"
"
"
");
- if (Gbl.Degs.DegTypes.Lst[NumDegTyp].NumDegs) // Degree type has degrees => deletion forbidden
+ if (Gbl.DegTypes.Lst[NumDegTyp].NumDegs) // Degree type has degrees => deletion forbidden
Ico_PutIconRemovalNotAllowed ();
else
{
Frm_StartForm (ActRemDegTyp);
- DT_PutParamOtherDegTypCod (Gbl.Degs.DegTypes.Lst[NumDegTyp].DegTypCod);
+ DT_PutParamOtherDegTypCod (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod);
Ico_PutIconRemove ();
Frm_EndForm ();
}
@@ -397,17 +397,17 @@ static void DT_ListDegreeTypesForEdition (void)
"
"
"%ld"
"
",
- Gbl.Degs.DegTypes.Lst[NumDegTyp].DegTypCod);
+ Gbl.DegTypes.Lst[NumDegTyp].DegTypCod);
/* Name of degree type */
fprintf (Gbl.F.Out,"
",
- Gbl.Degs.DegTypes.Lst[NumDegTyp].NumDegs);
+ Gbl.DegTypes.Lst[NumDegTyp].NumDegs);
}
/***** End table *****/
@@ -465,7 +465,7 @@ void DT_PutFormToCreateDegreeType (void)
" size=\"25\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
"",
- Deg_MAX_CHARS_DEGREE_TYPE_NAME,Gbl.Degs.EditingDegTyp.DegTypName);
+ Deg_MAX_CHARS_DEGREE_TYPE_NAME,Gbl.DegTypes.EditingDegTyp.DegTypName);
/***** Number of degrees of this degree type ****/
fprintf (Gbl.F.Out,"
"
@@ -590,7 +590,7 @@ void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order)
all degree types with degrees
union with
all degree types without any degree */
- Gbl.Degs.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
+ Gbl.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
"(SELECT deg_types.DegTypCod,deg_types.DegTypName,"
"COUNT(degrees.DegCod) AS NumDegs"
" FROM degrees,deg_types"
@@ -606,7 +606,7 @@ void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order)
break;
case Hie_CTY:
/* Get only degree types with degrees in the current country */
- Gbl.Degs.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
+ Gbl.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
"COUNT(degrees.DegCod) AS NumDegs"
" FROM institutions,centres,degrees,deg_types"
@@ -621,7 +621,7 @@ void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order)
break;
case Hie_INS:
/* Get only degree types with degrees in the current institution */
- Gbl.Degs.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
+ Gbl.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
"COUNT(degrees.DegCod) AS NumDegs"
" FROM centres,degrees,deg_types"
@@ -635,7 +635,7 @@ void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order)
break;
case Hie_CTR:
/* Get only degree types with degrees in the current centre */
- Gbl.Degs.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
+ Gbl.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
"COUNT(degrees.DegCod) AS NumDegs"
" FROM degrees,deg_types"
@@ -649,7 +649,7 @@ void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order)
case Hie_DEG:
case Hie_CRS:
/* Get only degree types with degrees in the current degree */
- Gbl.Degs.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
+ Gbl.DegTypes.Num = (unsigned) DB_QuerySELECT (&mysql_res,"can not get types of degree",
"SELECT deg_types.DegTypCod,deg_types.DegTypName,"
"COUNT(degrees.DegCod) AS NumDegs"
" FROM degrees,deg_types"
@@ -666,32 +666,32 @@ void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order)
}
/***** Get degree types *****/
- if (Gbl.Degs.DegTypes.Num)
+ if (Gbl.DegTypes.Num)
{
/***** Create a list of degree types *****/
- if ((Gbl.Degs.DegTypes.Lst = (struct DegreeType *)
- calloc (Gbl.Degs.DegTypes.Num,
+ if ((Gbl.DegTypes.Lst = (struct DegreeType *)
+ calloc (Gbl.DegTypes.Num,
sizeof (struct DegreeType))) == NULL)
Lay_NotEnoughMemoryExit ();
/***** Get degree types *****/
for (NumRow = 0;
- NumRow < Gbl.Degs.DegTypes.Num;
+ NumRow < Gbl.DegTypes.Num;
NumRow++)
{
/* Get next degree type */
row = mysql_fetch_row (mysql_res);
/* Get degree type code (row[0]) */
- if ((Gbl.Degs.DegTypes.Lst[NumRow].DegTypCod = Str_ConvertStrCodToLongCod (row[0])) < 0)
+ if ((Gbl.DegTypes.Lst[NumRow].DegTypCod = Str_ConvertStrCodToLongCod (row[0])) < 0)
Lay_ShowErrorAndExit ("Wrong code of type of degree.");
/* Get degree type name (row[1]) */
- Str_Copy (Gbl.Degs.DegTypes.Lst[NumRow].DegTypName,row[1],
+ Str_Copy (Gbl.DegTypes.Lst[NumRow].DegTypName,row[1],
Deg_MAX_BYTES_DEGREE_TYPE_NAME);
/* Number of degrees of this type (row[2]) */
- if (sscanf (row[2],"%u",&Gbl.Degs.DegTypes.Lst[NumRow].NumDegs) != 1)
+ if (sscanf (row[2],"%u",&Gbl.DegTypes.Lst[NumRow].NumDegs) != 1)
Lay_ShowErrorAndExit ("Error when getting number of degrees of a type");
}
}
@@ -707,11 +707,11 @@ void DT_GetListDegreeTypes (Hie_Level_t Scope,DT_Order_t Order)
void DT_FreeListDegreeTypes (void)
{
/***** Free memory used by the list of degree types *****/
- if (Gbl.Degs.DegTypes.Lst)
+ if (Gbl.DegTypes.Lst)
{
- free ((void *) Gbl.Degs.DegTypes.Lst);
- Gbl.Degs.DegTypes.Lst = NULL;
- Gbl.Degs.DegTypes.Num = 0;
+ free ((void *) Gbl.DegTypes.Lst);
+ Gbl.DegTypes.Lst = NULL;
+ Gbl.DegTypes.Num = 0;
}
}
@@ -725,7 +725,7 @@ void DT_RecFormNewDegreeType (void)
extern const char *Txt_You_must_specify_the_name_of_the_new_type_of_degree;
struct DegreeType *DegTyp;
- DegTyp = &Gbl.Degs.EditingDegTyp;
+ DegTyp = &Gbl.DegTypes.EditingDegTyp;
/***** Get parameters from form *****/
/* Get the name of degree type */
@@ -927,7 +927,7 @@ void DT_RenameDegreeType (void)
struct DegreeType *DegTyp;
char NewNameDegTyp[Deg_MAX_BYTES_DEGREE_TYPE_NAME + 1];
- DegTyp = &Gbl.Degs.EditingDegTyp;
+ DegTyp = &Gbl.DegTypes.EditingDegTyp;
/***** Get parameters from form *****/
/* Get the code of the degree type */
@@ -1024,6 +1024,6 @@ void DT_ChangeDegreeType (void)
Deg_ShowAlertAndButtonToGoToDeg ();
/***** Show the form again *****/
- Gbl.Degs.EditingDegTyp.DegTypCod = NewDegTypCod;
+ Gbl.DegTypes.EditingDegTyp.DegTypCod = NewDegTypCod;
Deg_EditDegrees ();
}
diff --git a/swad_department.c b/swad_department.c
index 780b532a..c2fc0c48 100644
--- a/swad_department.c
+++ b/swad_department.c
@@ -509,13 +509,13 @@ static void Dpt_ListDepartmentsForEdition (void)
fprintf (Gbl.F.Out," selected=\"selected\"");
fprintf (Gbl.F.Out,">%s",Txt_Another_institution);
for (NumIns = 0;
- NumIns < Gbl.Inss.Num;
+ NumIns < Gbl.Hierarchy.Cty.Inss.Num;
NumIns++)
fprintf (Gbl.F.Out,"",
- Gbl.Inss.Lst[NumIns].InsCod,
- Gbl.Inss.Lst[NumIns].InsCod == Dpt->InsCod ? " selected=\"selected\"" :
+ Gbl.Hierarchy.Cty.Inss.Lst[NumIns].InsCod,
+ Gbl.Hierarchy.Cty.Inss.Lst[NumIns].InsCod == Dpt->InsCod ? " selected=\"selected\"" :
"",
- Gbl.Inss.Lst[NumIns].ShrtName);
+ Gbl.Hierarchy.Cty.Inss.Lst[NumIns].ShrtName);
fprintf (Gbl.F.Out,"");
Frm_EndForm ();
fprintf (Gbl.F.Out,"
");
@@ -876,13 +876,13 @@ static void Dpt_PutFormToCreateDepartment (void)
fprintf (Gbl.F.Out," selected=\"selected\"");
fprintf (Gbl.F.Out,">%s",Txt_Another_institution);
for (NumIns = 0;
- NumIns < Gbl.Inss.Num;
+ NumIns < Gbl.Hierarchy.Cty.Inss.Num;
NumIns++)
fprintf (Gbl.F.Out,"",
- Gbl.Inss.Lst[NumIns].InsCod,
- Gbl.Inss.Lst[NumIns].InsCod == Dpt->InsCod ? " selected=\"selected\"" :
+ Gbl.Hierarchy.Cty.Inss.Lst[NumIns].InsCod,
+ Gbl.Hierarchy.Cty.Inss.Lst[NumIns].InsCod == Dpt->InsCod ? " selected=\"selected\"" :
"",
- Gbl.Inss.Lst[NumIns].ShrtName);
+ Gbl.Hierarchy.Cty.Inss.Lst[NumIns].ShrtName);
fprintf (Gbl.F.Out,""
"");
diff --git a/swad_enrolment.c b/swad_enrolment.c
index fb2fcd05..3faffd0a 100644
--- a/swad_enrolment.c
+++ b/swad_enrolment.c
@@ -181,7 +181,7 @@ void Enr_CheckStdsAndPutButtonToRegisterStdsInCurrentCrs (void)
{
/***** Put link to register students *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_TCH) // Course selected and I am logged as teacher
- if (!Gbl.Hierarchy.Crs.Crs.NumUsrs[Rol_STD]) // No students in course
+ if (!Gbl.Hierarchy.Crs.NumUsrs[Rol_STD]) // No students in course
Usr_ShowWarningNoUsersFound (Rol_STD);
}
@@ -238,7 +238,7 @@ void Enr_ModifyRoleInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole)
DB_QueryUPDATE ("can not modify user's role in course",
"UPDATE crs_usr SET Role=%u"
" WHERE CrsCod=%ld AND UsrCod=%ld",
- (unsigned) NewRole,Gbl.Hierarchy.Crs.Crs.CrsCod,UsrDat->UsrCod);
+ (unsigned) NewRole,Gbl.Hierarchy.Crs.CrsCod,UsrDat->UsrCod);
/***** Flush caches *****/
Usr_FlushCachesUsr ();
@@ -289,7 +289,7 @@ void Enr_RegisterUsrInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole,
"-1,-1,-1,"
"0,FROM_UNIXTIME(%ld),0,"
"'%s',%u,'%c')",
- Gbl.Hierarchy.Crs.Crs.CrsCod,UsrDat->UsrCod,(unsigned) NewRole,
+ Gbl.Hierarchy.Crs.CrsCod,UsrDat->UsrCod,(unsigned) NewRole,
KeepOrSetAccepted == Enr_SET_ACCEPTED_TO_TRUE ? 'Y' :
'N',
(long) (time_t) 0, // The user never accessed to tests in this course
@@ -342,7 +342,7 @@ static void Enr_NotifyAfterEnrolment (struct UsrData *UsrDat,Rol_Role_t NewRole)
}
/***** Remove possible enrolment request ******/
- Enr_RemoveEnrolmentRequest (Gbl.Hierarchy.Crs.Crs.CrsCod,UsrDat->UsrCod);
+ Enr_RemoveEnrolmentRequest (Gbl.Hierarchy.Crs.CrsCod,UsrDat->UsrCod);
/***** Remove old enrolment notifications before inserting the new one ******/
Ntf_MarkNotifToOneUsrAsRemoved (Ntf_EVENT_ENROLMENT_STD,-1,UsrDat->UsrCod);
@@ -410,7 +410,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
/***** Show message *****/
Ale_ShowAlert (Ale_INFO,Txt_A_teacher_or_administrator_has_enroled_you_as_X_into_the_course_Y,
Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role][Gbl.Usrs.Me.UsrDat.Sex],
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
/***** Send button to accept register in the current course *****/
switch (Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role)
@@ -468,7 +468,7 @@ void Enr_ReqAcceptRegisterInCrs (void)
Lay_ShowErrorAndExit ("Wrong role.");
break;
}
- Ntf_MarkNotifAsSeen (NotifyEvent,-1L,Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Ntf_MarkNotifAsSeen (NotifyEvent,-1L,Gbl.Hierarchy.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
}
@@ -675,7 +675,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
Enr_PutLinkToAdminOneUsr (ActReqMdfOneStd);
/* Put link to remove all the students in the current course */
- if (Gbl.Hierarchy.Crs.Crs.NumUsrs[Rol_STD]) // This course has students
+ if (Gbl.Hierarchy.Crs.NumUsrs[Rol_STD]) // This course has students
Enr_PutLinkToRemAllStdsThisCrs ();
break;
case Rol_NET:
@@ -749,7 +749,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
Txt_Step_3_Optionally_select_groups);
if (Gbl.Hierarchy.Level == Hie_CRS) // Course selected
{
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // This course has groups?
+ if (Gbl.Crs.Grps.NumGrps) // This course has groups?
{
Ale_ShowAlert (Ale_INFO,Txt_Select_the_groups_in_from_which_you_want_to_register_remove_users_);
Grp_ShowLstGrpsToChgOtherUsrsGrps (-1L);
@@ -757,7 +757,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
else
/* Write help message */
Ale_ShowAlert (Ale_INFO,Txt_No_groups_have_been_created_in_the_course_X_Therefore_,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
}
/***** Step 4: Confirm register / remove students *****/
@@ -1150,7 +1150,7 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
/***** Get groups to which register/remove users *****/
LstGrps.NumGrps = 0;
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // This course has groups?
+ if (Gbl.Crs.Grps.NumGrps) // This course has groups?
{
/***** Get list of groups types and groups in current course *****/
Grp_GetListGrpTypesAndGrpsInThisCrs (Grp_ONLY_GROUP_TYPES_WITH_GROUPS);
@@ -1289,7 +1289,7 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
}
else
{
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // If there are groups in the course
+ if (Gbl.Crs.Grps.NumGrps) // If there are groups in the course
{
if (LstGrps.NumGrps) // If the teacher has selected groups
{
@@ -1298,14 +1298,14 @@ static void Enr_ReceiveFormUsrsCrs (Rol_Role_t Role)
}
else // The teacher has not selected groups
{
- Enr_EffectivelyRemUsrFromCrs (&UsrDat,&Gbl.Hierarchy.Crs.Crs,
+ Enr_EffectivelyRemUsrFromCrs (&UsrDat,&Gbl.Hierarchy.Crs,
Enr_DO_NOT_REMOVE_WORKS,Cns_QUIET); // Remove user from the course
NumUsrsRemoved++;
}
}
else // No groups
{
- Enr_EffectivelyRemUsrFromCrs (&UsrDat,&Gbl.Hierarchy.Crs.Crs,
+ Enr_EffectivelyRemUsrFromCrs (&UsrDat,&Gbl.Hierarchy.Crs,
Enr_DO_NOT_REMOVE_WORKS,Cns_QUIET); // Remove user from the course
NumUsrsRemoved++;
}
@@ -1607,7 +1607,7 @@ static void Enr_PutActionModifyOneUsr (bool *OptionChecked,
Txt_Modify_user_in_the_course_X) :
(ItsMe ? Txt_Register_me_in_X :
Txt_Register_USER_in_the_course_X),
- Gbl.Hierarchy.Crs.Crs.ShrtName);
+ Gbl.Hierarchy.Crs.ShrtName);
Enr_EndRegRemOneUsrAction ();
}
@@ -1681,7 +1681,7 @@ static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,bool ItsMe)
fprintf (Gbl.F.Out,
ItsMe ? Txt_Remove_me_from_THE_COURSE_X :
Txt_Remove_USER_from_THE_COURSE_X,
- Gbl.Hierarchy.Crs.Crs.ShrtName);
+ Gbl.Hierarchy.Crs.ShrtName);
Enr_EndRegRemOneUsrAction ();
}
@@ -1822,7 +1822,7 @@ static void Enr_RegisterUsr (struct UsrData *UsrDat,Rol_Role_t RegRemRole,
Enr_SET_ACCEPTED_TO_FALSE);
/***** Register user in the selected groups *****/
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // If there are groups in the course
+ if (Gbl.Crs.Grps.NumGrps) // If there are groups in the course
Grp_RegisterUsrIntoGroups (UsrDat,LstGrps);
}
@@ -1857,13 +1857,13 @@ void Enr_AskRemAllStdsThisCrs (void)
Box_StartBox (NULL,Txt_Remove_all_students,NULL,
Hlp_USERS_Administration_remove_all_students,Box_NOT_CLOSABLE);
- if (Gbl.Hierarchy.Crs.Crs.NumUsrs[Rol_STD])
+ if (Gbl.Hierarchy.Crs.NumUsrs[Rol_STD])
{
/***** Show question and button to remove students *****/
/* Start alert */
Ale_ShowAlertAndButton1 (Ale_QUESTION,Txt_Do_you_really_want_to_remove_the_X_students_from_the_course_Y_,
- Gbl.Hierarchy.Crs.Crs.NumUsrs[Rol_STD],
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.NumUsrs[Rol_STD],
+ Gbl.Hierarchy.Crs.FullName);
/* Show form to request confirmation */
Frm_StartForm (ActRemAllStdCrs);
@@ -1875,7 +1875,7 @@ void Enr_AskRemAllStdsThisCrs (void)
/* End alert */
Ale_ShowAlertAndButton2 (ActUnk,NULL,NULL,NULL,Btn_NO_BUTTON,NULL);
}
- else // Gbl.Hierarchy.Crs.Crs.NumUsrs[Rol_STD] == 0
+ else // Gbl.Hierarchy.Crs.NumUsrs[Rol_STD] == 0
/***** Show warning indicating no students found *****/
Usr_ShowWarningNoUsersFound (Rol_STD);
@@ -1894,9 +1894,9 @@ void Enr_RemAllStdsThisCrs (void)
if (Pwd_GetConfirmationOnDangerousAction ())
{
- if ((NumStdsInCrs = Enr_RemAllStdsInCrs (&Gbl.Hierarchy.Crs.Crs)))
+ if ((NumStdsInCrs = Enr_RemAllStdsInCrs (&Gbl.Hierarchy.Crs)))
Ale_ShowAlert (Ale_SUCCESS,Txt_The_X_students_who_belonged_to_the_course_Y_have_been_removed_from_it,
- NumStdsInCrs,Gbl.Hierarchy.Crs.Crs.FullName);
+ NumStdsInCrs,Gbl.Hierarchy.Crs.FullName);
else // NumStdsInCrs == 0
/***** Show warning indicating no students found *****/
Usr_ShowWarningNoUsersFound (Rol_STD);
@@ -1947,7 +1947,7 @@ void Enr_ReqSignUpInCrs (void)
if (Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role >= Rol_STD)
Ale_ShowAlert (Ale_WARNING,Txt_You_were_already_enroled_as_X_in_the_course_Y,
Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role][Gbl.Usrs.Me.UsrDat.Sex],
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
else if (Gbl.Usrs.Me.Role.Logged == Rol_GST ||
Gbl.Usrs.Me.Role.Logged == Rol_USR)
/***** Show form to modify only the user's role or the user's data *****/
@@ -1974,7 +1974,7 @@ void Enr_SignUpInCrs (void)
if (Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role >= Rol_STD)
Ale_ShowAlert (Ale_WARNING,Txt_You_were_already_enroled_as_X_in_the_course_Y,
Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role][Gbl.Usrs.Me.UsrDat.Sex],
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
else
{
/***** Get new role from record form *****/
@@ -1994,7 +1994,7 @@ void Enr_SignUpInCrs (void)
if (DB_QuerySELECT (&mysql_res,"can not get enrolment request",
"SELECT ReqCod FROM crs_usr_requests"
" WHERE CrsCod=%ld AND UsrCod=%ld",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod))
{
row = mysql_fetch_row (mysql_res);
@@ -2011,7 +2011,7 @@ void Enr_SignUpInCrs (void)
" WHERE ReqCod=%ld AND CrsCod=%ld AND UsrCod=%ld",
(unsigned) RoleFromForm,
ReqCod,
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
else // No request in database for this user in this course
ReqCod =
@@ -2020,19 +2020,19 @@ void Enr_SignUpInCrs (void)
" (CrsCod,UsrCod,Role,RequestTime)"
" VALUES"
" (%ld,%ld,%u,NOW())",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) RoleFromForm);
/***** Show confirmation message *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_Your_request_for_enrolment_as_X_in_the_course_Y_has_been_accepted_for_processing,
Txt_ROLES_SINGUL_abc[RoleFromForm][Gbl.Usrs.Me.UsrDat.Sex],
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
/***** Notify teachers or admins by email about the new enrolment request *****/
// If this course has teachers ==> send notification to teachers
// If this course has no teachers and I want to be a teacher ==> send notification to administrators or superusers
- if (Gbl.Hierarchy.Crs.Crs.NumUsrs[Rol_TCH] ||
+ if (Gbl.Hierarchy.Crs.NumUsrs[Rol_TCH] ||
RoleFromForm == Rol_TCH)
Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_ENROLMENT_REQUEST,ReqCod);
}
@@ -2114,11 +2114,11 @@ void Enr_AskIfRejectSignUp (void)
{
/* User already belongs to this course */
Ale_ShowAlert (Ale_WARNING,Txt_THE_USER_X_is_already_enroled_in_the_course_Y,
- Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.FullName);
Rec_ShowSharedRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
/* Remove inscription request because it has not sense */
- Enr_RemoveEnrolmentRequest (Gbl.Hierarchy.Crs.Crs.CrsCod,Gbl.Usrs.Other.UsrDat.UsrCod);
+ Enr_RemoveEnrolmentRequest (Gbl.Hierarchy.Crs.CrsCod,Gbl.Usrs.Other.UsrDat.UsrCod);
}
else // User does not belong to this course
{
@@ -2132,7 +2132,7 @@ void Enr_AskIfRejectSignUp (void)
Ale_ShowAlertAndButton1 (Ale_QUESTION,Txt_Do_you_really_want_to_reject_the_enrolment_request_,
Gbl.Usrs.Other.UsrDat.FullName,
Txt_ROLES_SINGUL_abc[Role][Gbl.Usrs.Other.UsrDat.Sex],
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
/* Show user's record */
Rec_ShowSharedRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
@@ -2168,12 +2168,12 @@ void Enr_RejectSignUp (void)
{
/* User already belongs to this course */
Ale_ShowAlert (Ale_WARNING,Txt_THE_USER_X_is_already_enroled_in_the_course_Y,
- Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.FullName);
Rec_ShowSharedRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat);
}
/* Remove inscription request */
- Enr_RemoveEnrolmentRequest (Gbl.Hierarchy.Crs.Crs.CrsCod,Gbl.Usrs.Other.UsrDat.UsrCod);
+ Enr_RemoveEnrolmentRequest (Gbl.Hierarchy.Crs.CrsCod,Gbl.Usrs.Other.UsrDat.UsrCod);
/* Confirmation message */
Ale_ShowAlert (Ale_SUCCESS,Txt_Enrolment_of_X_rejected,
@@ -2774,7 +2774,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
" WHERE CrsCod=%ld"
" AND ((1<0"
" ORDER BY RequestTime DESC",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
RolesSelected);
break;
default:
@@ -2945,7 +2945,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/***** Mark possible notification as seen *****/
Ntf_MarkNotifAsSeen (Ntf_EVENT_ENROLMENT_REQUEST,
- ReqCod,Gbl.Hierarchy.Crs.Crs.CrsCod,
+ ReqCod,Gbl.Hierarchy.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
}
else // User does not exists or user already belongs to course ==> remove pair from crs_usr_requests table
@@ -3302,10 +3302,10 @@ static void Enr_ShowFormToEditOtherUsr (void)
Gbl.Usrs.Other.UsrDat.Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
if (Gbl.Usrs.Other.UsrDat.Accepted)
Ale_ShowAlert (Ale_INFO,Txt_THE_USER_X_is_already_enroled_in_the_course_Y,
- Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.FullName);
else // Enrolment not yet accepted
Ale_ShowAlert (Ale_INFO,Txt_THE_USER_X_is_in_the_course_Y_but_has_not_yet_accepted_the_enrolment,
- Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Usrs.Other.UsrDat.FullName,Gbl.Hierarchy.Crs.FullName);
Rec_ShowOtherSharedRecordEditable ();
}
@@ -3313,7 +3313,7 @@ static void Enr_ShowFormToEditOtherUsr (void)
{
Ale_ShowAlert (Ale_INFO,Txt_THE_USER_X_exists_in_Y_but_is_not_enroled_in_the_course_Z,
Gbl.Usrs.Other.UsrDat.FullName,
- Cfg_PLATFORM_SHORT_NAME,Gbl.Hierarchy.Crs.Crs.FullName);
+ Cfg_PLATFORM_SHORT_NAME,Gbl.Hierarchy.Crs.FullName);
Rec_ShowOtherSharedRecordEditable ();
}
@@ -3458,7 +3458,7 @@ void Enr_RemUsrFromCrs1 (void)
if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ())
{
if (Enr_CheckIfICanRemUsrFromCrs ())
- Enr_EffectivelyRemUsrFromCrs (&Gbl.Usrs.Other.UsrDat,&Gbl.Hierarchy.Crs.Crs,
+ Enr_EffectivelyRemUsrFromCrs (&Gbl.Usrs.Other.UsrDat,&Gbl.Hierarchy.Crs,
Enr_REMOVE_WORKS,Cns_VERBOSE);
else
Ale_CreateAlertUserNotFoundOrYouDoNotHavePermission ();
@@ -3696,7 +3696,7 @@ void Enr_AcceptRegisterMeInCrs (void)
/***** Confirmation message *****/
Ale_ShowAlert (Ale_SUCCESS,Txt_You_have_confirmed_your_enrolment_in_the_course_X,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
}
/*****************************************************************************/
@@ -3745,7 +3745,7 @@ void Enr_CreateNewUsr1 (void)
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B,
Gbl.Usrs.Other.UsrDat.FullName,
- Gbl.Hierarchy.Crs.Crs.FullName,
+ Gbl.Hierarchy.Crs.FullName,
Txt_ROLES_SINGUL_abc[OldRole][Gbl.Usrs.Other.UsrDat.Sex],
Txt_ROLES_SINGUL_abc[NewRole][Gbl.Usrs.Other.UsrDat.Sex]);
}
@@ -3760,11 +3760,11 @@ void Enr_CreateNewUsr1 (void)
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_THE_USER_X_has_been_enroled_in_the_course_Y,
Gbl.Usrs.Other.UsrDat.FullName,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
}
/***** Change user's groups *****/
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // This course has groups?
+ if (Gbl.Crs.Grps.NumGrps) // This course has groups?
Grp_ChangeOtherUsrGrps ();
}
@@ -3864,7 +3864,7 @@ void Enr_ModifyUsr1 (void)
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B,
Gbl.Usrs.Other.UsrDat.FullName,
- Gbl.Hierarchy.Crs.Crs.FullName,
+ Gbl.Hierarchy.Crs.FullName,
Txt_ROLES_SINGUL_abc[OldRole][Gbl.Usrs.Other.UsrDat.Sex],
Txt_ROLES_SINGUL_abc[NewRole][Gbl.Usrs.Other.UsrDat.Sex]);
}
@@ -3879,11 +3879,11 @@ void Enr_ModifyUsr1 (void)
Ale_CreateAlert (Ale_SUCCESS,NULL,
Txt_THE_USER_X_has_been_enroled_in_the_course_Y,
Gbl.Usrs.Other.UsrDat.FullName,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
}
/***** Change user's groups *****/
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // This course has groups?
+ if (Gbl.Crs.Grps.NumGrps) // This course has groups?
{
if (ItsMe)
Grp_ChangeMyGrps (Cns_QUIET);
@@ -4035,7 +4035,7 @@ void Enr_AcceptUsrInCrs (long UsrCod)
DB_QueryUPDATE ("can not confirm user's enrolment",
"UPDATE crs_usr SET Accepted='Y'"
" WHERE CrsCod=%ld AND UsrCod=%ld",
- Gbl.Hierarchy.Crs.Crs.CrsCod,UsrCod);
+ Gbl.Hierarchy.Crs.CrsCod,UsrCod);
}
/*****************************************************************************/
@@ -4059,7 +4059,7 @@ static void Enr_AskIfRemoveUsrFromCrs (struct UsrData *UsrDat)
/* Start alert */
Ale_ShowAlertAndButton1 (Ale_QUESTION,ItsMe ? Txt_Do_you_really_want_to_be_removed_from_the_course_X :
Txt_Do_you_really_want_to_remove_the_following_user_from_the_course_X,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
/* Show user's record */
Rec_ShowSharedRecordUnmodifiable (UsrDat);
diff --git a/swad_exam.c b/swad_exam.c
index 411c060a..679792cb 100644
--- a/swad_exam.c
+++ b/swad_exam.c
@@ -132,7 +132,7 @@ static long Exa_GetParamsExamAnnouncement (void)
Par_GetParToText ("CrsName",Gbl.ExamAnns.ExaDat.CrsFullName,Hie_MAX_BYTES_FULL_NAME);
// If the parameter is not present or is empty, initialize the string to the full name of the current course
if (!Gbl.ExamAnns.ExaDat.CrsFullName[0])
- Str_Copy (Gbl.ExamAnns.ExaDat.CrsFullName,Gbl.Hierarchy.Crs.Crs.FullName,
+ Str_Copy (Gbl.ExamAnns.ExaDat.CrsFullName,Gbl.Hierarchy.Crs.FullName,
Hie_MAX_BYTES_FULL_NAME);
/***** Get the year *****/
@@ -140,7 +140,7 @@ static long Exa_GetParamsExamAnnouncement (void)
Par_GetParToUnsignedLong ("Year",
0, // N.A.
Deg_MAX_YEARS_PER_DEGREE,
- (unsigned long) Gbl.Hierarchy.Crs.Crs.Year);
+ (unsigned long) Gbl.Hierarchy.Crs.Year);
/***** Get the type of exam announcement *****/
Par_GetParToText ("ExamSession",Gbl.ExamAnns.ExaDat.Session,Exa_MAX_BYTES_SESSION);
@@ -321,7 +321,7 @@ void Exa_ReceiveExamAnnouncement2 (void)
TL_StoreAndPublishNote (TL_NOTE_EXAM_ANNOUNCEMENT,Gbl.ExamAnns.HighlightExaCod,&SocPub);
/***** Update RSS of current course *****/
- RSS_UpdateRSSFileForACrs (&Gbl.Hierarchy.Crs.Crs);
+ RSS_UpdateRSSFileForACrs (&Gbl.Hierarchy.Crs);
/***** Show exam announcements *****/
Exa_ListExamAnnouncementsEdit ();
@@ -417,7 +417,7 @@ void Exa_RemoveExamAnnouncement1 (void)
"UPDATE exam_announcements SET Status=%u"
" WHERE ExaCod=%ld AND CrsCod=%ld",
(unsigned) Exa_DELETED_EXAM_ANNOUNCEMENT,
- ExaCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ ExaCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Mark possible notifications as removed *****/
Ntf_MarkNotifAsRemoved (Ntf_EVENT_EXAM_ANNOUNCEMENT,ExaCod);
@@ -426,7 +426,7 @@ void Exa_RemoveExamAnnouncement1 (void)
TL_MarkNoteAsUnavailableUsingNoteTypeAndCod (TL_NOTE_EXAM_ANNOUNCEMENT,ExaCod);
/***** Update RSS of current course *****/
- RSS_UpdateRSSFileForACrs (&Gbl.Hierarchy.Crs.Crs);
+ RSS_UpdateRSSFileForACrs (&Gbl.Hierarchy.Crs);
}
void Exa_RemoveExamAnnouncement2 (void)
@@ -461,7 +461,7 @@ void Exa_HideExamAnnouncement (void)
"UPDATE exam_announcements SET Status=%u"
" WHERE ExaCod=%ld AND CrsCod=%ld",
(unsigned) Exa_HIDDEN_EXAM_ANNOUNCEMENT,
- ExaCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ ExaCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Set exam to be highlighted *****/
Gbl.ExamAnns.HighlightExaCod = ExaCod;
@@ -494,7 +494,7 @@ void Exa_UnhideExamAnnouncement (void)
"UPDATE exam_announcements SET Status=%u"
" WHERE ExaCod=%ld AND CrsCod=%ld",
(unsigned) Exa_VISIBLE_EXAM_ANNOUNCEMENT,
- ExaCod,Gbl.Hierarchy.Crs.Crs.CrsCod);
+ ExaCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Set exam to be highlighted *****/
Gbl.ExamAnns.HighlightExaCod = ExaCod;
@@ -517,7 +517,7 @@ void Exa_ListExamAnnouncementsSee (void)
/***** Mark possible notifications as seen *****/
Ntf_MarkNotifAsSeen (Ntf_EVENT_EXAM_ANNOUNCEMENT,
- -1L,Gbl.Hierarchy.Crs.Crs.CrsCod,
+ -1L,Gbl.Hierarchy.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
}
@@ -587,7 +587,7 @@ static void Exa_ListExamAnnouncements (Exa_TypeViewExamAnnouncement_t TypeViewEx
" FROM exam_announcements"
" WHERE CrsCod=%ld AND %s"
" ORDER BY ExamDate DESC",
- Gbl.Hierarchy.Crs.Crs.CrsCod,SubQueryStatus);
+ Gbl.Hierarchy.Crs.CrsCod,SubQueryStatus);
/***** Start box *****/
Box_StartBox (NULL,Txt_Announcements_of_exams,
@@ -598,7 +598,7 @@ static void Exa_ListExamAnnouncements (Exa_TypeViewExamAnnouncement_t TypeViewEx
/***** The result of the query may be empty *****/
if (!NumExaAnns)
Ale_ShowAlert (Ale_INFO,Txt_No_announcements_of_exams_of_X,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
/***** List the existing exam announcements *****/
for (NumExaAnn = 0;
@@ -690,7 +690,7 @@ static long Exa_AddExamAnnouncementToDB (void)
"(%ld,%u,0,'%s',%u,'%s',"
"NOW(),'%04u-%02u-%02u %02u:%02u:00','%02u:%02u:00','%s',"
"'%s','%s','%s','%s','%s','%s')",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
(unsigned) Exa_VISIBLE_EXAM_ANNOUNCEMENT,
Gbl.ExamAnns.ExaDat.CrsFullName,
Gbl.ExamAnns.ExaDat.Year,
@@ -770,7 +770,7 @@ void Exa_CreateListDatesOfExamAnnouncements (void)
" FROM exam_announcements"
" WHERE CrsCod=%ld AND Status=%u"
" ORDER BY ExamDate DESC",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
(unsigned) Exa_VISIBLE_EXAM_ANNOUNCEMENT);
/***** The result of the query may be empty *****/
diff --git a/swad_figure.c b/swad_figure.c
index 775c4b79..0ba766c0 100644
--- a/swad_figure.c
+++ b/swad_figure.c
@@ -906,7 +906,7 @@ static void Fig_GetAndShowHierarchyWithUsrs (Rol_Role_t Role)
break;
case Hie_CRS:
sprintf (SubQuery,"crs_usr.CrsCod=%ld AND ",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
NumCtysWithUsrs = Cty_GetNumCtysWithUsrs (Role,SubQuery);
NumInssWithUsrs = Ins_GetNumInssWithUsrs (Role,SubQuery);
NumCtrsWithUsrs = Ctr_GetNumCtrsWithUsrs (Role,SubQuery);
@@ -2349,14 +2349,14 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Level_t Scope,
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN (%u,%u,%u,%u)"
") AS sizes",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
(unsigned) Brw_ADMI_DOC_CRS,
(unsigned) Brw_ADMI_TCH_CRS,
(unsigned) Brw_ADMI_SHR_CRS,
(unsigned) Brw_ADMI_ASG_USR,
(unsigned) Brw_ADMI_WRK_USR,
(unsigned) Brw_ADMI_MRK_CRS,
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
(unsigned) Brw_ADMI_DOC_GRP,
(unsigned) Brw_ADMI_TCH_GRP,
(unsigned) Brw_ADMI_SHR_GRP,
@@ -2376,7 +2376,7 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Level_t Scope,
"SUM(TotalSize)"
" FROM file_browser_size"
" WHERE Cod=%ld AND FileBrowser=%u",
- Gbl.Hierarchy.Crs.Crs.CrsCod,(unsigned) FileBrowser);
+ Gbl.Hierarchy.Crs.CrsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOC_GRP:
case Brw_ADMI_TCH_GRP:
@@ -2395,7 +2395,7 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Level_t Scope,
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser=%u",
- Gbl.Hierarchy.Crs.Crs.CrsCod,(unsigned) FileBrowser);
+ Gbl.Hierarchy.Crs.CrsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_ASG_USR:
case Brw_ADMI_WRK_USR:
@@ -2409,7 +2409,7 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Level_t Scope,
"SUM(TotalSize)"
" FROM file_browser_size"
" WHERE Cod=%ld AND FileBrowser=%u",
- Gbl.Hierarchy.Crs.Crs.CrsCod,(unsigned) FileBrowser);
+ Gbl.Hierarchy.Crs.CrsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRF_USR:
DB_QuerySELECT (&mysql_res,"can not get size of a file browser",
@@ -2424,7 +2424,7 @@ static void Fig_GetSizeOfFileZoneFromDB (Hie_Level_t Scope,
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"
" AND file_browser_size.FileBrowser=%u",
- Gbl.Hierarchy.Crs.Crs.CrsCod,(unsigned) FileBrowser);
+ Gbl.Hierarchy.Crs.CrsCod,(unsigned) FileBrowser);
break;
default:
Lay_ShowErrorAndExit ("Wrong file browser.");
@@ -2944,7 +2944,7 @@ static void Fig_GetNumberOfOERsFromDB (Hie_Level_t Scope,Brw_License_t License,u
" AND FileBrowser IN (%u,%u)"
" AND License=%u"
" GROUP BY Public",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
(unsigned) Brw_ADMI_DOC_CRS,
(unsigned) Brw_ADMI_SHR_CRS,
(unsigned) License);
@@ -3468,7 +3468,7 @@ static void Fig_GetAndShowSocialActivityStats (void)
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=social_notes.UsrCod"
" AND social_notes.NoteType=%u",
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
(unsigned) NoteType);
break;
default:
@@ -3587,7 +3587,7 @@ static void Fig_GetAndShowSocialActivityStats (void)
" FROM crs_usr,social_notes"
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=social_notes.UsrCod",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
break;
default:
Lay_WrongScopeExit ();
@@ -3780,7 +3780,7 @@ static void Fig_GetAndShowFollowStats (void)
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=usr_follow.%s",
FieldDB[Fol],
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
FieldDB[Fol]);
break;
default:
@@ -3902,7 +3902,7 @@ static void Fig_GetAndShowFollowStats (void)
" AND crs_usr.UsrCod=usr_follow.%s"
" GROUP BY %s) AS F",
FieldDB[Fol],
- Gbl.Hierarchy.Crs.Crs.CrsCod,
+ Gbl.Hierarchy.Crs.CrsCod,
FieldDB[Fol],
FieldDB[1 - Fol]);
break;
@@ -4062,8 +4062,8 @@ static void Fig_GetAndShowForumStats (void)
Fig_ShowStatOfAForumType (For_FORUM_COURSE_TCHS,-1L,-1L,-1L,Gbl.Hierarchy.Deg.DegCod,-1L,&FiguresForum);
break;
case Hie_CRS:
- Fig_ShowStatOfAForumType (For_FORUM_COURSE_USRS,-1L,-1L,-1L,-1L,Gbl.Hierarchy.Crs.Crs.CrsCod,&FiguresForum);
- Fig_ShowStatOfAForumType (For_FORUM_COURSE_TCHS,-1L,-1L,-1L,-1L,Gbl.Hierarchy.Crs.Crs.CrsCod,&FiguresForum);
+ Fig_ShowStatOfAForumType (For_FORUM_COURSE_USRS,-1L,-1L,-1L,-1L,Gbl.Hierarchy.Crs.CrsCod,&FiguresForum);
+ Fig_ShowStatOfAForumType (For_FORUM_COURSE_TCHS,-1L,-1L,-1L,-1L,Gbl.Hierarchy.Crs.CrsCod,&FiguresForum);
break;
default:
Lay_WrongScopeExit ();
@@ -4431,7 +4431,7 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void)
" FROM sta_notif"
" WHERE CrsCod=%ld"
" AND NotifyEvent=%u",
- Gbl.Hierarchy.Crs.Crs.CrsCod,(unsigned) NotifyEvent);
+ Gbl.Hierarchy.Crs.CrsCod,(unsigned) NotifyEvent);
break;
default:
Lay_WrongScopeExit ();
@@ -5657,7 +5657,7 @@ unsigned Fig_GetNumUsrsWhoChoseAnOption (const char *SubQuery)
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=usr_data.UsrCod"
" AND %s",
- Gbl.Hierarchy.Crs.Crs.CrsCod,SubQuery);
+ Gbl.Hierarchy.Crs.CrsCod,SubQuery);
break;
default:
Lay_WrongScopeExit ();
diff --git a/swad_file_browser.c b/swad_file_browser.c
index dceeb44d..b4111537 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -1414,7 +1414,7 @@ static int Brw_RemoveFolderFromDiskAndDB (const char Path[PATH_MAX + 1],
void Brw_GetParAndInitFileBrowser (void)
{
/***** If a group is selected, get its data *****/
- if ((Gbl.Hierarchy.Crs.Grps.GrpCod = Brw_GetGrpSettings ()) > 0)
+ if ((Gbl.Crs.Grps.GrpCod = Brw_GetGrpSettings ()) > 0)
Brw_GetDataCurrentGrp ();
/***** Get type of file browser *****/
@@ -1601,7 +1601,7 @@ void Brw_GetParAndInitFileBrowser (void)
case ActSeeAdmDocCrsGrp: // Access to a documents zone from menu
case ActChgToSeeDocCrs: // Access to see a documents zone
/* Set file browser type acording to last group accessed */
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_SHOW_DOC_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_SHOW_DOC_GRP :
Brw_SHOW_DOC_CRS;
break;
case ActSeeDocCrs:
@@ -1622,7 +1622,7 @@ void Brw_GetParAndInitFileBrowser (void)
break;
case ActChgToAdmDocCrs: // Access to admin a documents zone
/* Set file browser type acording to last group accessed */
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_ADMI_DOC_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_ADMI_DOC_GRP :
Brw_ADMI_DOC_CRS;
break;
case ActAdmDocCrs:
@@ -1676,7 +1676,7 @@ void Brw_GetParAndInitFileBrowser (void)
case ActAdmTchCrsGrp:
case ActChgToAdmTch: // Access to a teachers zone from menu
/* Set file browser type acording to last group accessed */
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_ADMI_TCH_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_ADMI_TCH_GRP :
Brw_ADMI_TCH_CRS;
break;
case ActAdmTchCrs:
@@ -1726,7 +1726,7 @@ void Brw_GetParAndInitFileBrowser (void)
case ActAdmShaCrsGrp:
case ActChgToAdmSha: // Access to a shared zone from menu
/* Set file browser type acording to last group accessed */
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_ADMI_SHR_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_ADMI_SHR_GRP :
Brw_ADMI_SHR_CRS;
break;
case ActAdmShaCrs:
@@ -1916,12 +1916,12 @@ void Brw_GetParAndInitFileBrowser (void)
{
case Rol_STD:
case Rol_NET:
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_SHOW_MRK_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_SHOW_MRK_GRP :
Brw_SHOW_MRK_CRS;
break;
case Rol_TCH:
case Rol_SYS_ADM:
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_ADMI_MRK_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_ADMI_MRK_GRP :
Brw_ADMI_MRK_CRS;
break;
default:
@@ -1931,7 +1931,7 @@ void Brw_GetParAndInitFileBrowser (void)
break;
case ActChgToSeeMrk: // Access to see a marks zone
/* Set file browser type acording to last group accessed */
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_SHOW_MRK_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_SHOW_MRK_GRP :
Brw_SHOW_MRK_CRS;
break;
case ActSeeMrkCrs:
@@ -1950,7 +1950,7 @@ void Brw_GetParAndInitFileBrowser (void)
break;
case ActChgToAdmMrk: // Access to admin a marks zone
/* Set file browser type acording to last group accessed */
- Gbl.FileBrowser.Type = (Gbl.Hierarchy.Crs.Grps.GrpCod > 0) ? Brw_ADMI_MRK_GRP :
+ Gbl.FileBrowser.Type = (Gbl.Crs.Grps.GrpCod > 0) ? Brw_ADMI_MRK_GRP :
Brw_ADMI_MRK_CRS;
break;
case ActAdmMrkCrs:
@@ -2184,9 +2184,9 @@ static void Brw_GetDataCurrentGrp (void)
{
struct GroupData GrpDat;
- if (Gbl.Hierarchy.Crs.Grps.GrpCod > 0)
+ if (Gbl.Crs.Grps.GrpCod > 0)
{
- GrpDat.GrpCod = Gbl.Hierarchy.Crs.Grps.GrpCod;
+ GrpDat.GrpCod = Gbl.Crs.Grps.GrpCod;
Grp_GetDataOfGroupByCod (&GrpDat);
switch (Gbl.Action.Act)
@@ -2214,34 +2214,34 @@ static void Brw_GetDataCurrentGrp (void)
and check if I belongs to the selected group *****/
if (GrpDat.FileZones)
{
- if (!Grp_GetIfIBelongToGrp (Gbl.Hierarchy.Crs.Grps.GrpCod))
- Gbl.Hierarchy.Crs.Grps.GrpCod = -1L; // Go to course zone
+ if (!Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod))
+ Gbl.Crs.Grps.GrpCod = -1L; // Go to course zone
}
else
- Gbl.Hierarchy.Crs.Grps.GrpCod = -1L; // Go to course zone
+ Gbl.Crs.Grps.GrpCod = -1L; // Go to course zone
break;
default:
/***** For security, check if group file zones are enabled,
and check if I belongs to the selected group *****/
if (!GrpDat.FileZones)
Lay_ShowErrorAndExit ("The group has no file zones.");
- else if (!Grp_GetIfIBelongToGrp (Gbl.Hierarchy.Crs.Grps.GrpCod))
+ else if (!Grp_GetIfIBelongToGrp (Gbl.Crs.Grps.GrpCod))
Lay_ShowErrorAndExit ("You don't have access to the group.");
break;
}
/***** Get data of the current group *****/
- if (Gbl.Hierarchy.Crs.Grps.GrpCod > 0)
+ if (Gbl.Crs.Grps.GrpCod > 0)
{
- Gbl.Hierarchy.Crs.Grps.GrpTyp.GrpTypCod = GrpDat.GrpTypCod;
- Str_Copy (Gbl.Hierarchy.Crs.Grps.GrpTyp.GrpTypName,GrpDat.GrpTypName,
+ Gbl.Crs.Grps.GrpTyp.GrpTypCod = GrpDat.GrpTypCod;
+ Str_Copy (Gbl.Crs.Grps.GrpTyp.GrpTypName,GrpDat.GrpTypName,
Grp_MAX_BYTES_GROUP_TYPE_NAME);
- Str_Copy (Gbl.Hierarchy.Crs.Grps.GrpName,GrpDat.GrpName,
+ Str_Copy (Gbl.Crs.Grps.GrpName,GrpDat.GrpName,
Grp_MAX_BYTES_GROUP_NAME);
- Gbl.Hierarchy.Crs.Grps.MaxStudents = GrpDat.MaxStudents;
- Gbl.Hierarchy.Crs.Grps.Open = GrpDat.Open;
- Gbl.Hierarchy.Crs.Grps.FileZones = GrpDat.FileZones;
- Gbl.Hierarchy.Crs.Grps.GrpTyp.MultipleEnrolment = GrpDat.MultipleEnrolment;
+ Gbl.Crs.Grps.MaxStudents = GrpDat.MaxStudents;
+ Gbl.Crs.Grps.Open = GrpDat.Open;
+ Gbl.Crs.Grps.FileZones = GrpDat.FileZones;
+ Gbl.Crs.Grps.GrpTyp.MultipleEnrolment = GrpDat.MultipleEnrolment;
}
}
}
@@ -2275,7 +2275,7 @@ void Brw_PutParamsFileBrowser (Act_Action_t NextAction,
{
if (Brw_GetIfGroupFileBrowser ()) // This file browser needs specify a group
/***** Group code *****/
- Grp_PutParamGrpCod (Gbl.Hierarchy.Crs.Grps.GrpCod);
+ Grp_PutParamGrpCod (Gbl.Crs.Grps.GrpCod);
else if (Brw_GetIfProjectFileBrowser ()) // This file browser needs specify a project
/***** Project code *****/
Prj_PutParamPrjCod (Gbl.Prjs.PrjCod);
@@ -2487,7 +2487,7 @@ static void Brw_SetPathFileBrowser (void)
case Brw_ADMI_MRK_CRS:
/* Create path to the current course */
Str_Copy (Gbl.FileBrowser.Priv.PathAboveRootFolder,
- Gbl.Hierarchy.Crs.PathPriv,
+ Gbl.Crs.PathPriv,
PATH_MAX);
break;
case Brw_SHOW_DOC_GRP:
@@ -2499,14 +2499,14 @@ static void Brw_SetPathFileBrowser (void)
/* Create a directory for groups inside the current course */
snprintf (Path,sizeof (Path),
"%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_GRP);
+ Gbl.Crs.PathPriv,Cfg_FOLDER_GRP);
Fil_CreateDirIfNotExists (Path);
/* Create path to this group */
snprintf (Path,sizeof (Path),
"%s/%s/%ld",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_GRP,
- Gbl.Hierarchy.Crs.Grps.GrpCod);
+ Gbl.Crs.PathPriv,Cfg_FOLDER_GRP,
+ Gbl.Crs.Grps.GrpCod);
Str_Copy (Gbl.FileBrowser.Priv.PathAboveRootFolder,
Path,
PATH_MAX);
@@ -2516,21 +2516,21 @@ static void Brw_SetPathFileBrowser (void)
/* Create a directory for me inside the current course */
snprintf (Path,sizeof (Path),
"%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_USR);
+ Gbl.Crs.PathPriv,Cfg_FOLDER_USR);
Fil_CreateDirIfNotExists (Path);
/* Create a directory for all users whose codes end in
my-user-code mod 100 */
snprintf (Path,sizeof (Path),
"%s/%s/%02u",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_USR,
+ Gbl.Crs.PathPriv,Cfg_FOLDER_USR,
(unsigned) (Gbl.Usrs.Me.UsrDat.UsrCod % 100));
Fil_CreateDirIfNotExists (Path);
/* Create path to me */
snprintf (Path,sizeof (Path),
"%s/%s/%02u/%ld",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_USR,
+ Gbl.Crs.PathPriv,Cfg_FOLDER_USR,
(unsigned) (Gbl.Usrs.Me.UsrDat.UsrCod % 100),
Gbl.Usrs.Me.UsrDat.UsrCod);
Str_Copy (Gbl.FileBrowser.Priv.PathAboveRootFolder,
@@ -2544,21 +2544,21 @@ static void Brw_SetPathFileBrowser (void)
/* Create a directory for this user inside the current course */
snprintf (Path,sizeof (Path),
"%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_USR);
+ Gbl.Crs.PathPriv,Cfg_FOLDER_USR);
Fil_CreateDirIfNotExists (Path);
/* Create a directory for all users whose codes end in
user-code mod 100 */
snprintf (Path,sizeof (Path),
"%s/%s/%02u",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_USR,
+ Gbl.Crs.PathPriv,Cfg_FOLDER_USR,
(unsigned) (Gbl.Usrs.Other.UsrDat.UsrCod % 100));
Fil_CreateDirIfNotExists (Path);
/* Create path to user */
snprintf (Path,sizeof (Path),
"%s/%s/%02u/%ld",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_USR,
+ Gbl.Crs.PathPriv,Cfg_FOLDER_USR,
(unsigned) (Gbl.Usrs.Other.UsrDat.UsrCod % 100),
Gbl.Usrs.Other.UsrDat.UsrCod);
Str_Copy (Gbl.FileBrowser.Priv.PathAboveRootFolder,
@@ -2571,21 +2571,21 @@ static void Brw_SetPathFileBrowser (void)
/* Create a directory for projects inside the current course */
snprintf (Path,sizeof (Path),
"%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_PRJ);
+ Gbl.Crs.PathPriv,Cfg_FOLDER_PRJ);
Fil_CreateDirIfNotExists (Path);
/* Create a directory for all projects which codes end in
project-code mod 100 */
snprintf (Path,sizeof (Path),
"%s/%s/%02u",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_PRJ,
+ Gbl.Crs.PathPriv,Cfg_FOLDER_PRJ,
(unsigned) (Gbl.Prjs.PrjCod % 100));
Fil_CreateDirIfNotExists (Path);
/* Create path to the current project */
snprintf (Path,sizeof (Path),
"%s/%s/%02u/%ld",
- Gbl.Hierarchy.Crs.PathPriv,Cfg_FOLDER_PRJ,
+ Gbl.Crs.PathPriv,Cfg_FOLDER_PRJ,
(unsigned) (Gbl.Prjs.PrjCod % 100),
Gbl.Prjs.PrjCod);
Str_Copy (Gbl.FileBrowser.Priv.PathAboveRootFolder,
@@ -2643,7 +2643,7 @@ bool Brw_CheckIfExistsFolderAssigmentForAnyUsr (const char *FolderName)
" from current course",
"SELECT UsrCod FROM crs_usr"
" WHERE CrsCod=%ld",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
/***** Check folders *****/
for (NumUsr = 0;
@@ -2657,7 +2657,7 @@ bool Brw_CheckIfExistsFolderAssigmentForAnyUsr (const char *FolderName)
/* Check if folder exists */
snprintf (PathFolder,sizeof (PathFolder),
"%s/usr/%02u/%ld/%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,
+ Gbl.Crs.PathPriv,
(unsigned) (UsrCod % 100),
UsrCod, // User's code
Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
@@ -2696,7 +2696,7 @@ static void Brw_CreateFoldersAssignmentsIfNotExist (long ZoneUsrCod)
" AsgCod IN (SELECT asg_grp.AsgCod FROM asg_grp,crs_grp_usr"
" WHERE crs_grp_usr.UsrCod=%ld"
" AND asg_grp.GrpCod=crs_grp_usr.GrpCod))",
- Gbl.Hierarchy.Crs.Crs.CrsCod,ZoneUsrCod);
+ Gbl.Hierarchy.Crs.CrsCod,ZoneUsrCod);
/***** Create one folder for each assignment *****/
for (NumRow = 0;
@@ -2749,7 +2749,7 @@ bool Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (const char *OldFolderName,con
" from current course",
"SELECT UsrCod FROM crs_usr"
" WHERE CrsCod=%ld",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
/***** Check if there exist folders with the new name *****/
for (NumUsr = 0;
@@ -2763,14 +2763,14 @@ bool Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (const char *OldFolderName,con
/* Rename folder if exists */
snprintf (PathOldFolder,sizeof (PathOldFolder),
"%s/usr/%02u/%ld/%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,
+ Gbl.Crs.PathPriv,
(unsigned) (UsrCod % 100),
UsrCod, // User's code
Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
OldFolderName);
snprintf (PathNewFolder,sizeof (PathNewFolder),
"%s/usr/%02u/%ld/%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,
+ Gbl.Crs.PathPriv,
(unsigned) (UsrCod % 100),
UsrCod, // User's code
Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
@@ -2795,7 +2795,7 @@ bool Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (const char *OldFolderName,con
/* Rename folder if exists */
snprintf (PathOldFolder,sizeof (PathOldFolder),
"%s/usr/%02u/%ld/%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,
+ Gbl.Crs.PathPriv,
(unsigned) (UsrCod % 100),
UsrCod, // User's code
Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
@@ -2804,7 +2804,7 @@ bool Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (const char *OldFolderName,con
{
snprintf (PathNewFolder,sizeof (PathNewFolder),
"%s/usr/%02u/%ld/%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,
+ Gbl.Crs.PathPriv,
(unsigned) (UsrCod % 100),
UsrCod, // User's code
Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
@@ -2874,7 +2874,7 @@ void Brw_RemoveFoldersAssignmentsIfExistForAllUsrs (const char *FolderName)
" from current course",
"SELECT UsrCod FROM crs_usr"
" WHERE CrsCod=%ld",
- Gbl.Hierarchy.Crs.Crs.CrsCod);
+ Gbl.Hierarchy.Crs.CrsCod);
/***** Remove folders *****/
for (NumUsr = 0;
@@ -2888,7 +2888,7 @@ void Brw_RemoveFoldersAssignmentsIfExistForAllUsrs (const char *FolderName)
/* Remove tree if exists */
snprintf (PathFolder,sizeof (PathFolder),
"%s/usr/%02u/%ld/%s/%s",
- Gbl.Hierarchy.Crs.PathPriv,
+ Gbl.Crs.PathPriv,
(unsigned) (UsrCod % 100),
UsrCod, // User's code
Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS,
@@ -3309,7 +3309,7 @@ static void Brw_FormToChangeCrsGrpZone (void)
Gbl.FileBrowser.Type == Brw_ADMI_MRK_GRP;
/***** Get list of groups to show *****/
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // This course has groups?
+ if (Gbl.Crs.Grps.NumGrps) // This course has groups?
/* Get list of group with file zones which I belong to */
Grp_GetLstCodGrpsWithFileZonesIBelong (&LstMyGrps);
@@ -3333,10 +3333,10 @@ static void Brw_FormToChangeCrsGrpZone (void)
""
"
",
Gbl.Form.Id,
- Gbl.Hierarchy.Crs.Crs.FullName);
+ Gbl.Hierarchy.Crs.FullName);
/***** List my groups for unique selection *****/
- if (Gbl.Hierarchy.Crs.Grps.NumGrps) // This course has groups?
+ if (Gbl.Crs.Grps.NumGrps) // This course has groups?
{
for (NumGrp = 0;
NumGrp < LstMyGrps.NumGrps;
@@ -3355,13 +3355,13 @@ static void Brw_FormToChangeCrsGrpZone (void)
"