mirror of https://github.com/acanas/swad-core.git
Version 17.2.2
This commit is contained in:
parent
e8fa04ae43
commit
44d65b3b91
|
@ -259,6 +259,7 @@
|
|||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 17.2.2: Sep 17, 2017 New option for projects. Not finished. (? lines)
|
||||
Version 17.2.1: Sep 17, 2017 New option for projects. Not finished. (229884 lines)
|
||||
Version 17.2: Sep 17, 2017 New option for projects. Not finished. (229575 lines)
|
||||
12 changes necessary in database:
|
||||
|
|
|
@ -74,7 +74,7 @@ static void Prj_PutFormToSelectWhichGroupsToShow (void);
|
|||
static void Prj_ParamsWhichGroupsToShow (void);
|
||||
static void Prj_ShowOneProject (long PrjCod,bool PrintView);
|
||||
static void Prj_WritePrjAuthor (struct Project *Prj);
|
||||
static void Prj_WriteAssignmentFolder (struct Project *Prj,bool PrintView);
|
||||
static void Prj_WriteProjectFolder (struct Project *Prj,bool PrintView);
|
||||
static void Prj_GetParamPrjOrder (void);
|
||||
|
||||
static void Prj_PutFormsToRemEditOnePrj (long PrjCod,bool Hidden);
|
||||
|
@ -190,7 +190,7 @@ static void Prj_PutHeadForSeeing (bool PrintView)
|
|||
{
|
||||
extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME];
|
||||
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
|
||||
extern const char *Txt_Assignment;
|
||||
extern const char *Txt_Project;
|
||||
extern const char *Txt_Upload_files_QUESTION;
|
||||
extern const char *Txt_Folder;
|
||||
Dat_StartEndTime_t Order;
|
||||
|
@ -234,7 +234,7 @@ static void Prj_PutHeadForSeeing (bool PrintView)
|
|||
"%s"
|
||||
"</th>"
|
||||
"</tr>",
|
||||
Txt_Assignment,
|
||||
Txt_Project,
|
||||
Txt_Upload_files_QUESTION,
|
||||
Txt_Folder);
|
||||
}
|
||||
|
@ -446,7 +446,7 @@ static void Prj_ShowOneProject (long PrjCod,bool PrintView)
|
|||
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
|
||||
fprintf (Gbl.F.Out,"\">");
|
||||
if (Prj.SendWork == Prj_SEND_WORK)
|
||||
Prj_WriteAssignmentFolder (&Prj,PrintView);
|
||||
Prj_WriteProjectFolder (&Prj,PrintView);
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
||||
|
@ -500,7 +500,7 @@ static void Prj_WritePrjAuthor (struct Project *Prj)
|
|||
/*********************** Write the folder of a project ***********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Prj_WriteAssignmentFolder (struct Project *Prj,bool PrintView)
|
||||
static void Prj_WriteProjectFolder (struct Project *Prj,bool PrintView)
|
||||
{
|
||||
extern const char *Txt_Upload_file_or_create_folder_in_FOLDER;
|
||||
extern const char *Txt_Folder;
|
||||
|
@ -940,7 +940,7 @@ void Prj_ReqRemProject (void)
|
|||
|
||||
void Prj_RemoveProject (void)
|
||||
{
|
||||
extern const char *Txt_Assignment_X_removed;
|
||||
extern const char *Txt_Project_X_removed;
|
||||
char Query[512];
|
||||
struct Project Prj;
|
||||
|
||||
|
@ -965,7 +965,7 @@ void Prj_RemoveProject (void)
|
|||
DB_QueryDELETE (Query,"can not remove project");
|
||||
|
||||
/***** Write message to show the change made *****/
|
||||
sprintf (Gbl.Alert.Txt,Txt_Assignment_X_removed,
|
||||
sprintf (Gbl.Alert.Txt,Txt_Project_X_removed,
|
||||
Prj.Title);
|
||||
Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt);
|
||||
|
||||
|
@ -979,7 +979,7 @@ void Prj_RemoveProject (void)
|
|||
|
||||
void Prj_HideProject (void)
|
||||
{
|
||||
extern const char *Txt_Assignment_X_is_now_hidden;
|
||||
extern const char *Txt_Project_X_is_now_hidden;
|
||||
char Query[512];
|
||||
struct Project Prj;
|
||||
|
||||
|
@ -997,7 +997,7 @@ void Prj_HideProject (void)
|
|||
DB_QueryUPDATE (Query,"can not hide project");
|
||||
|
||||
/***** Write message to show the change made *****/
|
||||
sprintf (Gbl.Alert.Txt,Txt_Assignment_X_is_now_hidden,
|
||||
sprintf (Gbl.Alert.Txt,Txt_Project_X_is_now_hidden,
|
||||
Prj.Title);
|
||||
Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt);
|
||||
|
||||
|
@ -1011,7 +1011,7 @@ void Prj_HideProject (void)
|
|||
|
||||
void Prj_ShowProject (void)
|
||||
{
|
||||
extern const char *Txt_Assignment_X_is_now_visible;
|
||||
extern const char *Txt_Project_X_is_now_visible;
|
||||
char Query[512];
|
||||
struct Project Prj;
|
||||
|
||||
|
@ -1029,7 +1029,7 @@ void Prj_ShowProject (void)
|
|||
DB_QueryUPDATE (Query,"can not show project");
|
||||
|
||||
/***** Write message to show the change made *****/
|
||||
sprintf (Gbl.Alert.Txt,Txt_Assignment_X_is_now_visible,
|
||||
sprintf (Gbl.Alert.Txt,Txt_Project_X_is_now_visible,
|
||||
Prj.Title);
|
||||
Ale_ShowAlert (Ale_SUCCESS,Gbl.Alert.Txt);
|
||||
|
||||
|
@ -1070,7 +1070,7 @@ void Prj_RequestCreatOrEditPrj (void)
|
|||
extern const char *Txt_Create_project;
|
||||
extern const char *Txt_Save;
|
||||
struct Project Prj;
|
||||
bool ItsANewAssignment;
|
||||
bool ItsANewProject;
|
||||
char Txt[Cns_MAX_BYTES_TEXT + 1];
|
||||
|
||||
/***** Get parameters *****/
|
||||
|
@ -1079,10 +1079,10 @@ void Prj_RequestCreatOrEditPrj (void)
|
|||
Gbl.Prjs.CurrentPage = Pag_GetParamPagNum (Pag_PROJECTS);
|
||||
|
||||
/***** Get the code of the project *****/
|
||||
ItsANewAssignment = ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L);
|
||||
ItsANewProject = ((Prj.PrjCod = Prj_GetParamPrjCod ()) == -1L);
|
||||
|
||||
/***** Get from the database the data of the project *****/
|
||||
if (ItsANewAssignment)
|
||||
if (ItsANewProject)
|
||||
{
|
||||
/* Initialize to empty project */
|
||||
Prj.PrjCod = -1L;
|
||||
|
@ -1104,7 +1104,7 @@ void Prj_RequestCreatOrEditPrj (void)
|
|||
}
|
||||
|
||||
/***** Start form *****/
|
||||
if (ItsANewAssignment)
|
||||
if (ItsANewProject)
|
||||
{
|
||||
Act_FormStart (ActNewPrj);
|
||||
Gbl.Prjs.PrjCodToEdit = -1L;
|
||||
|
@ -1117,7 +1117,7 @@ void Prj_RequestCreatOrEditPrj (void)
|
|||
Prj_PutParams ();
|
||||
|
||||
/***** Start box and table *****/
|
||||
if (ItsANewAssignment)
|
||||
if (ItsANewProject)
|
||||
Box_StartBoxTable (NULL,Txt_New_project,NULL,
|
||||
Hlp_ASSESSMENT_Projects_new_project,Box_NOT_CLOSABLE,2);
|
||||
else
|
||||
|
@ -1167,7 +1167,7 @@ void Prj_RequestCreatOrEditPrj (void)
|
|||
"<textarea id=\"Txt\" name=\"Txt\""
|
||||
" cols=\"60\" rows=\"10\">",
|
||||
The_ClassForm[Gbl.Prefs.Theme],Txt_Description);
|
||||
if (!ItsANewAssignment)
|
||||
if (!ItsANewProject)
|
||||
fprintf (Gbl.F.Out,"%s",Txt);
|
||||
fprintf (Gbl.F.Out,"</textarea>"
|
||||
"</td>"
|
||||
|
@ -1177,7 +1177,7 @@ void Prj_RequestCreatOrEditPrj (void)
|
|||
Prj_ShowLstGrpsToEditProject (Prj.PrjCod);
|
||||
|
||||
/***** End table, send button and end box *****/
|
||||
if (ItsANewAssignment)
|
||||
if (ItsANewProject)
|
||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_project);
|
||||
else
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
|
@ -1263,15 +1263,15 @@ void Prj_RecFormProject (void)
|
|||
extern const char *Txt_You_can_not_disable_file_uploading_once_folders_have_been_created;
|
||||
struct Project OldPrj; // Current assigment data in database
|
||||
struct Project NewPrj; // Project data received from form
|
||||
bool ItsANewAssignment;
|
||||
bool NewAssignmentIsCorrect = true;
|
||||
bool ItsANewProject;
|
||||
bool NewProjectIsCorrect = true;
|
||||
char Txt[Cns_MAX_BYTES_TEXT + 1];
|
||||
|
||||
/***** Get the code of the project *****/
|
||||
NewPrj.PrjCod = Prj_GetParamPrjCod ();
|
||||
ItsANewAssignment = (NewPrj.PrjCod < 0);
|
||||
ItsANewProject = (NewPrj.PrjCod < 0);
|
||||
|
||||
if (ItsANewAssignment)
|
||||
if (ItsANewProject)
|
||||
{
|
||||
/***** Reset old (current, not existing) project data *****/
|
||||
OldPrj.PrjCod = -1L;
|
||||
|
@ -1311,7 +1311,7 @@ void Prj_RecFormProject (void)
|
|||
/* If title of project was in database... */
|
||||
if (Prj_CheckIfSimilarProjectsExists ("Title",NewPrj.Title,NewPrj.PrjCod))
|
||||
{
|
||||
NewAssignmentIsCorrect = false;
|
||||
NewProjectIsCorrect = false;
|
||||
sprintf (Gbl.Alert.Txt,Txt_Already_existed_a_project_with_the_title_X,
|
||||
NewPrj.Title);
|
||||
Ale_ShowAlert (Ale_WARNING,Gbl.Alert.Txt);
|
||||
|
@ -1324,7 +1324,7 @@ void Prj_RecFormProject (void)
|
|||
{
|
||||
if (Prj_CheckIfSimilarProjectsExists ("Folder",NewPrj.Folder,NewPrj.PrjCod)) // If folder of project was in database...
|
||||
{
|
||||
NewAssignmentIsCorrect = false;
|
||||
NewProjectIsCorrect = false;
|
||||
sprintf (Gbl.Alert.Txt,Txt_Already_existed_a_project_with_the_folder_X,
|
||||
NewPrj.Folder);
|
||||
Ale_ShowAlert (Ale_WARNING,Gbl.Alert.Txt);
|
||||
|
@ -1332,7 +1332,7 @@ void Prj_RecFormProject (void)
|
|||
}
|
||||
else // Folder name not valid
|
||||
{
|
||||
NewAssignmentIsCorrect = false;
|
||||
NewProjectIsCorrect = false;
|
||||
Ale_ShowAlert (Ale_WARNING,Gbl.Alert.Txt);
|
||||
}
|
||||
}
|
||||
|
@ -1342,7 +1342,7 @@ void Prj_RecFormProject (void)
|
|||
{
|
||||
if (Brw_CheckIfExistsFolderAssigmentForAnyUsr (OldPrj.Folder))
|
||||
{
|
||||
NewAssignmentIsCorrect = false;
|
||||
NewProjectIsCorrect = false;
|
||||
Ale_ShowAlert (Ale_WARNING,Txt_You_can_not_disable_file_uploading_once_folders_have_been_created);
|
||||
}
|
||||
}
|
||||
|
@ -1351,17 +1351,17 @@ void Prj_RecFormProject (void)
|
|||
}
|
||||
else // If there is not a project title
|
||||
{
|
||||
NewAssignmentIsCorrect = false;
|
||||
NewProjectIsCorrect = false;
|
||||
Ale_ShowAlert (Ale_WARNING,Txt_You_must_specify_the_title_of_the_project);
|
||||
}
|
||||
|
||||
/***** Create a new project or update an existing one *****/
|
||||
if (NewAssignmentIsCorrect)
|
||||
if (NewProjectIsCorrect)
|
||||
{
|
||||
/* Get groups for this projects */
|
||||
Grp_GetParCodsSeveralGrps ();
|
||||
|
||||
if (ItsANewAssignment)
|
||||
if (ItsANewProject)
|
||||
{
|
||||
Prj_CreateProject (&NewPrj,Txt); // Add new project to database
|
||||
|
||||
|
@ -1373,8 +1373,8 @@ void Prj_RecFormProject (void)
|
|||
{
|
||||
if (OldPrj.Folder[0] && NewPrj.Folder[0])
|
||||
if (strcmp (OldPrj.Folder,NewPrj.Folder)) // Folder name has changed
|
||||
NewAssignmentIsCorrect = Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (OldPrj.Folder,NewPrj.Folder);
|
||||
if (NewAssignmentIsCorrect)
|
||||
NewProjectIsCorrect = Brw_UpdateFoldersAssigmentsIfExistForAllUsrs (OldPrj.Folder,NewPrj.Folder);
|
||||
if (NewProjectIsCorrect)
|
||||
{
|
||||
Prj_UpdateProject (&NewPrj,Txt);
|
||||
|
||||
|
@ -1777,8 +1777,7 @@ unsigned Prj_GetNumCoursesWithProjects (Sco_Scope_t Scope)
|
|||
/*****************************************************************************/
|
||||
/************************** Get number of projects ***************************/
|
||||
/*****************************************************************************/
|
||||
// Returns the number of projects
|
||||
// in this location (all the platform, current degree or current course)
|
||||
// Returns the number of projects in this location
|
||||
|
||||
unsigned Prj_GetNumProjects (Sco_Scope_t Scope)
|
||||
{
|
||||
|
|
88
swad_text.c
88
swad_text.c
|
@ -3858,7 +3858,7 @@ const char *Txt_Banner =
|
|||
|
||||
const char *Txt_Banner_X_removed = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Banner <strong>%s</strong> eliminado."; // Necessita traduccio
|
||||
"Banner <strong>%s</strong> eliminat.";
|
||||
#elif L==2
|
||||
"Werbebanner <strong>%s</strong> entfernt.";
|
||||
#elif L==3
|
||||
|
@ -3874,7 +3874,7 @@ const char *Txt_Banner_X_removed = // Warning: it is very important to include %
|
|||
#elif L==8
|
||||
"Banner <strong>%s</strong> usuniety.";
|
||||
#elif L==9
|
||||
"Banner <strong>%s</strong> removed."; // Necessita de tradução
|
||||
"Banner <strong>%s</strong> removido.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Banners =
|
||||
|
@ -30638,6 +30638,90 @@ const char *Txt_Private_available_to_certain_users_identified =
|
|||
"Privado, disponível para alguns usuários identificados";
|
||||
#endif
|
||||
|
||||
const char *Txt_Project =
|
||||
#if L==1
|
||||
"Projecte";
|
||||
#elif L==2
|
||||
"Projekt";
|
||||
#elif L==3
|
||||
"Project";
|
||||
#elif L==4
|
||||
"Proyecto";
|
||||
#elif L==5
|
||||
"Projet";
|
||||
#elif L==6
|
||||
"Proyecto"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetto";
|
||||
#elif L==8
|
||||
"Projekt";
|
||||
#elif L==9
|
||||
"Projeto";
|
||||
#endif
|
||||
|
||||
const char *Txt_Project_X_is_now_hidden = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"El projecte <strong>%s</strong> ara està ocult.";
|
||||
#elif L==2
|
||||
"Die Projekt <strong>%s</strong> ist jetzt ausgeblendet.";
|
||||
#elif L==3
|
||||
"Project <strong>%s</strong> is now hidden.";
|
||||
#elif L==4
|
||||
"El proyecto <strong>%s</strong> ahora está oculto.";
|
||||
#elif L==5
|
||||
"Le project <strong>%s</strong> est maintenant caché.";
|
||||
#elif L==6
|
||||
"El proyecto <strong>%s</strong> ahora está oculto."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Il progetto <strong>%s</strong> è ora nascosto.";
|
||||
#elif L==8
|
||||
"Projekt <strong>%s</strong> jest ukryte.";
|
||||
#elif L==9
|
||||
"O projeto <strong>%s</strong> é agora oculto.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Project_X_is_now_visible = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"El projecte <strong>%s</strong> ara està visible.";
|
||||
#elif L==2
|
||||
"Die Projekt <strong>%s</strong> ist jetzt sichtbar.";
|
||||
#elif L==3
|
||||
"Project <strong>%s</strong> is now visible.";
|
||||
#elif L==4
|
||||
"El proyecto <strong>%s</strong> ahora está visible.";
|
||||
#elif L==5
|
||||
"Le project <strong>%s</strong> est maintenant visible.";
|
||||
#elif L==6
|
||||
"El proyecto <strong>%s</strong> ahora está visible."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Il progetto <strong>%s</strong> è ora nascosto.";
|
||||
#elif L==8
|
||||
"Projekt <strong>%s</strong> jest teraz widoczne.";
|
||||
#elif L==9
|
||||
"O projeto <strong>%s</strong> é agora visível.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Project_X_removed = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1
|
||||
"Projecte <strong>%s</strong> eliminat.";
|
||||
#elif L==2
|
||||
"Projekt <strong>%s</strong> entfernt.";
|
||||
#elif L==3
|
||||
"Project <strong>%s</strong> removed.";
|
||||
#elif L==4
|
||||
"Proyecto <strong>%s</strong> eliminado.";
|
||||
#elif L==5
|
||||
"Projet <strong>%s</strong> supprimé.";
|
||||
#elif L==6
|
||||
"Proyecto <strong>%s</strong> eliminado."; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Progetto <strong>%s</strong> rimosso.";
|
||||
#elif L==8
|
||||
"Projekt <strong>%s</strong> usuniety.";
|
||||
#elif L==9
|
||||
"Projeto <strong>%s</strong> removido.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Projects =
|
||||
#if L==1
|
||||
"Projectes";
|
||||
|
|
Loading…
Reference in New Issue