diff --git a/swad_changelog.h b/swad_changelog.h
index 4d556814d..458c2439a 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -140,13 +140,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 15.175.6 (2016-04-03)"
+#define Log_PLATFORM_VERSION "SWAD 15.175.7 (2016-04-04)"
#define CSS_FILE "swad15.173.1.css"
#define JS_FILE "swad15.131.3.js"
// 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 15.175.7: Apr 03, 2016 Code refactoring related to image associated to a test question. (? lines)
Version 15.175.6: Apr 03, 2016 Remove image associated to a test question. (197926 lines)
Version 15.175.5: Apr 03, 2016 Changes in reception of form to edit one test question. (197930 lines)
Version 15.175.4: Apr 03, 2016 Changes in form to edit one test question. (197897 lines)
diff --git a/swad_global.h b/swad_global.h
index 2ffa19cc7..76f034d16 100644
--- a/swad_global.h
+++ b/swad_global.h
@@ -721,6 +721,7 @@ struct Globals
} Stat;
struct
{
+ Img_Action_t Action;
Img_Status_t Status;
} Image;
};
diff --git a/swad_image.h b/swad_image.h
index 86ebbab39..45118eac0 100644
--- a/swad_image.h
+++ b/swad_image.h
@@ -70,9 +70,9 @@ typedef enum
#define Img_NUM_ACTIONS 3
typedef enum
{
- Img_ACTION_NONE, // Do not use image (remove current image if exists)
- Img_ACTION_KEEP, // Keep current image unchanged
- Img_ACTION_CHANGE, // Upload new image (remove current image if exists)
+ Img_ACTION_NO_IMAGE, // Do not use image (remove current image if exists)
+ Img_ACTION_KEEP_IMAGE, // Keep current image unchanged
+ Img_ACTION_CHANGE_IMAGE, // Upload new image (remove current image if exists)
} Img_Action_t;
/*****************************************************************************/
diff --git a/swad_test.c b/swad_test.c
index e9749334e..9c56a6600 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -1037,7 +1037,7 @@ static void Tst_PutFormToEditQstImage (void)
/***** No image *****/
fprintf (Gbl.F.Out,""
@@ -1054,7 +1054,7 @@ static void Tst_PutFormToEditQstImage (void)
" ",
- Img_ACTION_KEEP,
+ Img_ACTION_KEEP_IMAGE,
The_ClassForm[Gbl.Prefs.Theme],
Txt_Current_image);
Img_ShowImage (Gbl.Test.Image,"TEST_IMG_EDIT_ONE");
@@ -1062,7 +1062,7 @@ static void Tst_PutFormToEditQstImage (void)
/***** New image *****/
fprintf (Gbl.F.Out,"",
- Img_ACTION_CHANGE);
+ Img_ACTION_CHANGE_IMAGE);
fprintf (Gbl.F.Out,"",
@@ -4804,25 +4804,18 @@ void Tst_ReceiveQst (void)
/***** Make sure that tags, text and answer are not empty *****/
if (Tst_CheckIfQstFormatIsCorrectAndCountNumOptions ())
{
- switch (Gbl.Image.Status)
- {
- case Img_NONE:
- case Img_FILE_PROCESSED:
- case Img_FILE_MOVED:
- /* Remove possible file with the old image
- (the new image file is already processed
- and moved to the definitive directory) */
- Tst_RemoveImageFilesFromQstsInCrs (Gbl.CurrentCrs.Crs.CrsCod,Gbl.Test.QstCod);
+ if (Gbl.Image.Action != Img_ACTION_KEEP_IMAGE) // Don't keep the current image
+ /* Remove possible file with the old image
+ (the new image file is already processed
+ and moved to the definitive directory) */
+ Tst_RemoveImageFilesFromQstsInCrs (Gbl.CurrentCrs.Crs.CrsCod,Gbl.Test.QstCod);
- if (Gbl.Image.Status == Img_FILE_PROCESSED) // A new image has been received and processed
- /* Move processed image to definitive directory */
- Img_MoveImageToDefinitiveDirectory ();
- break;
- case Img_NAME_STORED_IN_DB: // Keep image unchanged
- break;
- }
+ if (Gbl.Image.Action == Img_ACTION_CHANGE_IMAGE && // Upload new image (remove current image if exists)
+ Gbl.Image.Status == Img_FILE_PROCESSED) // The new image received has been processed
+ /* Move processed image to definitive directory */
+ Img_MoveImageToDefinitiveDirectory ();
- /* Insert or update question, tags and answer in the database */
+ /***** Insert or update question, tags and answer in the database *****/
Tst_InsertOrUpdateQstTagsAnsIntoDB ();
/***** Show the question just inserted in the database *****/
@@ -4843,7 +4836,6 @@ void Tst_ReceiveQst (void)
static void Tst_GetQstFromForm (char *Stem,char *Feedback)
{
char UnsignedStr[10+1];
- Img_Action_t ImageAction;
char YN[1+1];
unsigned NumTag;
unsigned NumTagRead;
@@ -4893,21 +4885,21 @@ static void Tst_GetQstFromForm (char *Stem,char *Feedback)
Par_GetParToHTML ("Feedback",Feedback,Cns_MAX_BYTES_TEXT);
/***** Get type of image *****/
- ImageAction = Img_GetImageActionFromForm ();
- switch (ImageAction)
+ Gbl.Image.Action = Img_GetImageActionFromForm ();
+ switch (Gbl.Image.Action)
{
- case Img_ACTION_NONE: // Do not use image (remove current image if exists)
+ case Img_ACTION_NO_IMAGE: // Do not use image (remove current image if exists)
/***** Reset image name *****/
Gbl.Test.Image[0] = '\0';
Gbl.Image.Status = Img_NONE;
break;
- case Img_ACTION_KEEP: // Keep current image unchanged
+ case Img_ACTION_KEEP_IMAGE: // Keep current image unchanged
/***** Get image from database *****/
Tst_GetImageNameFromDB ();
Gbl.Image.Status = (Gbl.Test.Image[0] ? Img_NAME_STORED_IN_DB :
Img_NONE);
break;
- case Img_ACTION_CHANGE: // Upload new image (remove current image if exists)
+ case Img_ACTION_CHANGE_IMAGE: // Upload new image (remove current image if exists)
/***** Get new image (if present ==> process and create temporary file) *****/
Img_GetImageFromForm (Tst_PHOTO_SAVED_MAX_WIDTH,
Tst_PHOTO_SAVED_MAX_HEIGHT,