mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-08 01:35:32 +02:00
Version 15.198
This commit is contained in:
parent
b35c57e82c
commit
b0581608be
|
@ -1743,13 +1743,87 @@ a:hover img.CENTRE_PHOTO_SHOW
|
|||
.TEST_EXA_LIGHT {color:#A0A0A0; font-size:12pt;}
|
||||
.TEST_EDI {color:#404040; font-size:12pt;}
|
||||
.TEST_EDI_LIGHT {color:#A0A0A0; font-size:12pt;}
|
||||
.TEST_IMG_SHOW_STEM {width:100%; border-radius:4px; margin:10px 0;}
|
||||
.TEST_IMG_SHOW_ANS {width:100%; border-radius:4px; margin:10px 0;}
|
||||
.TEST_IMG_EDIT_LIST_STEM {width:100%; border-radius:2px; margin:5px 0;}
|
||||
.TEST_IMG_EDIT_LIST_ANS {width:100%; border-radius:2px; margin:5px 0;}
|
||||
.TEST_IMG_EDIT_ONE_CONTAINER {margin:15px 0; text-align:left; vertical-align:top;}
|
||||
.TEST_IMG_EDIT_ONE_STEM {width:100%; border-radius:4px;}
|
||||
.TEST_IMG_EDIT_ONE_ANS {width:100%; border-radius:4px;}
|
||||
|
||||
.TEST_IMG_SHOW_STEM_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
margin:10px 0;
|
||||
}
|
||||
.TEST_IMG_SHOW_STEM
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:4px;
|
||||
}
|
||||
.TEST_IMG_SHOW_ANS_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
margin:10px 0;
|
||||
}
|
||||
.TEST_IMG_SHOW_ANS
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:4px;
|
||||
}
|
||||
.TEST_IMG_EDIT_LIST_STEM_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
margin:5px 0;
|
||||
}
|
||||
.TEST_IMG_EDIT_LIST_STEM
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:2px;
|
||||
}
|
||||
.TEST_IMG_EDIT_LIST_ANS_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
margin:5px 0;
|
||||
}
|
||||
.TEST_IMG_EDIT_LIST_ANS
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:2px;
|
||||
}
|
||||
|
||||
.TEST_FORM_EDIT_IMG
|
||||
{
|
||||
box-sizing:border-box;
|
||||
margin:15px 0;
|
||||
text-align:left;
|
||||
vertical-align:top;
|
||||
}
|
||||
|
||||
.TEST_IMG_EDIT_ONE_STEM_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
}
|
||||
.TEST_IMG_EDIT_ONE_STEM
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:4px;
|
||||
}
|
||||
.TEST_IMG_EDIT_ONE_ANS_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
}
|
||||
.TEST_IMG_EDIT_ONE_ANS
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:4px;
|
||||
}
|
||||
|
||||
.TEST_EDI_ANS_LEFT_COL
|
||||
{
|
||||
box-sizing:border-box;
|
||||
|
@ -1970,22 +2044,28 @@ a:hover img.CENTRE_PHOTO_SHOW
|
|||
margin:0;
|
||||
resize:none;
|
||||
}
|
||||
.SOCIAL_IMG_TIT_POST
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:440px;
|
||||
}
|
||||
.SOCIAL_TXT
|
||||
{
|
||||
padding:5px 0;
|
||||
color:#404040;
|
||||
font-size:13pt;
|
||||
}
|
||||
.SOCIAL_IMG_POST
|
||||
.SOCIAL_POST_IMG_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:480px;
|
||||
margin:10px 0;
|
||||
}
|
||||
.SOCIAL_POST_IMG
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:480px;
|
||||
border-radius:4px;
|
||||
margin:10px 0;
|
||||
}
|
||||
.SOCIAL_POST_IMG_TIT_URL
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:440px;
|
||||
}
|
||||
.SOCIAL_ICON_COMMENT
|
||||
{
|
||||
|
@ -2085,29 +2165,41 @@ a:hover img.CENTRE_PHOTO_SHOW
|
|||
margin:0;
|
||||
resize:none;
|
||||
}
|
||||
.SOCIAL_IMG_COMMENT
|
||||
.SOCIAL_COMMENT_IMG_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:440px;
|
||||
border-radius:4px;
|
||||
margin:10px 0;
|
||||
}
|
||||
.SOCIAL_IMG_TIT_COMMENT
|
||||
.SOCIAL_COMMENT_IMG
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:440px;
|
||||
border-radius:4px;
|
||||
}
|
||||
.SOCIAL_COMMENT_IMG_TIT_URL
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:440px;
|
||||
}
|
||||
|
||||
/************************************ Forum **********************************/
|
||||
.FOR_IMG_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
margin:10px 0;
|
||||
}
|
||||
.FOR_IMG
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:4px;
|
||||
margin:20px 0;
|
||||
}
|
||||
.FOR_IMG_TIT
|
||||
.FOR_IMG_TIT_URL
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:480px;
|
||||
margin-bottom:10px;
|
||||
}
|
||||
|
||||
/*********************************** Messages ********************************/
|
||||
|
@ -2118,16 +2210,22 @@ a:hover img.CENTRE_PHOTO_SHOW
|
|||
text-align:left;
|
||||
vertical-align:middle;
|
||||
}
|
||||
.MSG_IMG
|
||||
.MSG_IMG_CONTAINER
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:4px;
|
||||
margin:10px 0;
|
||||
}
|
||||
.MSG_IMG_TIT
|
||||
.MSG_IMG
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:100%;
|
||||
border-radius:4px;
|
||||
}
|
||||
.MSG_IMG_TIT_URL
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:480px;
|
||||
margin-bottom:10px;
|
||||
}
|
||||
.MSG_TXT {color:#404040; font-size:13pt;}
|
||||
.MSG_TIT {color:#4D88A1; font-size:13pt;}
|
|
@ -136,13 +136,14 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.197 (2016-04-15)"
|
||||
#define CSS_FILE "swad15.193.css"
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.198 (2016-04-15)"
|
||||
#define CSS_FILE "swad15.198.css"
|
||||
#define JS_FILE "swad15.197.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.198: Apr 15, 2016 Changes in layout related to image URL. (199646 lines)
|
||||
Version 15.197: Apr 15, 2016 Input field to enter image URL. (199518 lines)
|
||||
Version 15.196: Apr 15, 2016 Changes related to image URL. (199467 lines)
|
||||
Version 15.195.1: Apr 15, 2016 New fields in images to store URL when a user click in the image. (199390 lines)
|
||||
|
|
|
@ -1307,7 +1307,7 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst
|
|||
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||
|
||||
/***** Show image *****/
|
||||
Img_ShowImage (&Image,"FOR_IMG");
|
||||
Img_ShowImage (&Image,"FOR_IMG_CONTAINER","FOR_IMG");
|
||||
}
|
||||
else
|
||||
fprintf (Gbl.F.Out,"%s",Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums);
|
||||
|
@ -3838,7 +3838,7 @@ static void For_WriteFormForumPst (bool IsReply,long ThrCod,const char *Subject)
|
|||
Lay_HelpPlainEditor ();
|
||||
|
||||
/***** Attached image (optional) *****/
|
||||
Img_PutImageUploader (-1,"FOR_IMG_TIT");
|
||||
Img_PutImageUploader (-1,"FOR_IMG_TIT_URL");
|
||||
|
||||
/***** Send button *****/
|
||||
Lay_PutCreateButton (Txt_Send_message);
|
||||
|
|
32
swad_image.c
32
swad_image.c
|
@ -527,12 +527,14 @@ void Img_MoveImageToDefinitiveDirectory (struct Image *Image)
|
|||
/******************** Write the image of a test question *********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Img_ShowImage (struct Image *Image,const char *ClassImg)
|
||||
void Img_ShowImage (struct Image *Image,
|
||||
const char *ClassContainer,const char *ClassImg)
|
||||
{
|
||||
extern const char *Txt_Image_not_found;
|
||||
char FileNameImgPriv[PATH_MAX+1];
|
||||
char FullPathImgPriv[PATH_MAX+1];
|
||||
char URL[PATH_MAX+1];
|
||||
bool PutLink;
|
||||
|
||||
/***** If no image to show ==> nothing to do *****/
|
||||
if (!Image->Name)
|
||||
|
@ -567,14 +569,32 @@ void Img_ShowImage (struct Image *Image,const char *ClassImg)
|
|||
FileNameImgPriv);
|
||||
|
||||
/***** Show image *****/
|
||||
fprintf (Gbl.F.Out,"<div>"
|
||||
"<img src=\"%s\" class=\"%s\" alt=\"\"",
|
||||
URL,ClassImg);
|
||||
/* Check if optional link is present */
|
||||
PutLink = false;
|
||||
if (Image->URL)
|
||||
if (Image->URL[0])
|
||||
PutLink = true;
|
||||
|
||||
/* Start image container */
|
||||
fprintf (Gbl.F.Out,"<div class=\"%s\">",ClassContainer);
|
||||
|
||||
/* Start optional link to external URL */
|
||||
if (PutLink)
|
||||
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\">",Image->URL);
|
||||
|
||||
/* Image */
|
||||
fprintf (Gbl.F.Out,"<img src=\"%s\" class=\"%s\" alt=\"\"",URL,ClassImg);
|
||||
if (Image->Title)
|
||||
if (Image->Title[0])
|
||||
fprintf (Gbl.F.Out," title=\"%s\"",Image->Title);
|
||||
fprintf (Gbl.F.Out," />"
|
||||
"</div>");
|
||||
fprintf (Gbl.F.Out," />");
|
||||
|
||||
/* End optional link to external URL */
|
||||
if (PutLink)
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
|
||||
/* End image container */
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
else
|
||||
Lay_ShowAlert (Lay_WARNING,Txt_Image_not_found);
|
||||
|
|
|
@ -130,7 +130,8 @@ Img_Action_t Img_GetImageActionFromForm (const char *ParamAction);
|
|||
void Img_GetAndProcessImageFileFromForm (struct Image *Image,const char *ParamFile);
|
||||
|
||||
void Img_MoveImageToDefinitiveDirectory (struct Image *Image);
|
||||
void Img_ShowImage (struct Image *Image,const char *ClassImg);
|
||||
void Img_ShowImage (struct Image *Image,
|
||||
const char *ClassContainer,const char *ClassImg);
|
||||
void Img_RemoveImageFile (const char *ImageName);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -418,7 +418,7 @@ static void Msg_PutFormMsgUsrs (const char *Content)
|
|||
Lay_HelpPlainEditor ();
|
||||
|
||||
/***** Attached image (optional) *****/
|
||||
Img_PutImageUploader (-1,"MSG_IMG_TIT");
|
||||
Img_PutImageUploader (-1,"MSG_IMG_TIT_URL");
|
||||
|
||||
/***** Send button *****/
|
||||
Lay_PutCreateButton (Txt_Send_message);
|
||||
|
@ -2960,7 +2960,7 @@ static void Msg_ShowASentOrReceivedMessage (Msg_TypeOfMessages_t TypeOfMessages,
|
|||
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||
// fprintf (Gbl.F.Out,"<br /> ");
|
||||
}
|
||||
Img_ShowImage (&Image,"MSG_IMG");
|
||||
Img_ShowImage (&Image,"MSG_IMG_CONTAINER","MSG_IMG");
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
||||
|
|
|
@ -1480,12 +1480,15 @@ static void Soc_GetAndWriteSocialPost (long PstCod)
|
|||
DB_FreeMySQLResult (&mysql_res);
|
||||
|
||||
/***** Write content *****/
|
||||
if (Content[0])
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_TXT\">");
|
||||
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/***** Show image *****/
|
||||
Img_ShowImage (&Image,"SOCIAL_IMG_POST");
|
||||
Img_ShowImage (&Image,"SOCIAL_POST_IMG_CONTAINER","SOCIAL_POST_IMG");
|
||||
|
||||
/***** Free image *****/
|
||||
Img_ImageDestructor (&Image);
|
||||
|
@ -1976,7 +1979,7 @@ static void Soc_PutFormToWriteNewPost (void)
|
|||
|
||||
/***** Textarea and button *****/
|
||||
Soc_PutTextarea (Txt_New_SOCIAL_post,
|
||||
"SOCIAL_TEXTAREA_POST","SOCIAL_IMG_TIT_POST");
|
||||
"SOCIAL_TEXTAREA_POST","SOCIAL_POST_IMG_TIT_URL");
|
||||
|
||||
/***** End form *****/
|
||||
Act_FormEnd ();
|
||||
|
@ -2220,7 +2223,7 @@ static void Soc_PutHiddenFormToWriteNewCommentToSocialNote (long NotCod,
|
|||
|
||||
/***** Textarea and button *****/
|
||||
Soc_PutTextarea (Txt_New_SOCIAL_comment,
|
||||
"SOCIAL_TEXTAREA_COMMENT","SOCIAL_IMG_TIT_COMMENT");
|
||||
"SOCIAL_TEXTAREA_COMMENT","SOCIAL_COMMENT_IMG_TIT_URL");
|
||||
|
||||
/***** End form *****/
|
||||
Act_FormEnd ();
|
||||
|
@ -2389,7 +2392,7 @@ static void Soc_WriteSocialComment (struct SocialComment *SocCom,
|
|||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/* Show image */
|
||||
Img_ShowImage (&SocCom->Image,"SOCIAL_IMG_COMMENT");
|
||||
Img_ShowImage (&SocCom->Image,"SOCIAL_COMMENT_IMG_CONTAINER","SOCIAL_COMMENT_IMG");
|
||||
|
||||
/* Put icon to mark this social comment as favourite */
|
||||
if (IAmTheAuthor) // I am the author
|
||||
|
|
28
swad_test.c
28
swad_test.c
|
@ -155,6 +155,7 @@ static void Tst_ShowTstResultAfterAssess (long TstCod,unsigned *NumQstsNotBlank,
|
|||
static void Tst_WriteQstAndAnsExam (unsigned NumQst,long QstCod,MYSQL_ROW row,
|
||||
double *ScoreThisQst,bool *AnswerIsNotBlank);
|
||||
static void Tst_PutFormToEditQstImage (struct Image *Image,int NumImgInForm,
|
||||
const char *ClassContainer,
|
||||
const char *ClassImg,
|
||||
const char *ClassImgTitURL,
|
||||
bool OptionsDisabled);
|
||||
|
@ -1003,7 +1004,9 @@ static void Tst_WriteQstAndAnsExam (unsigned NumQst,long QstCod,MYSQL_ROW row,
|
|||
Gbl.RowEvenOdd);
|
||||
Tst_WriteQstStem (row[4],"TEST_EXA");
|
||||
Img_GetImageNameTitleAndURLFromRow (row[6],row[7],row[8],&Gbl.Test.Image);
|
||||
Img_ShowImage (&Gbl.Test.Image,"TEST_IMG_SHOW_STEM");
|
||||
Img_ShowImage (&Gbl.Test.Image,
|
||||
"TEST_IMG_SHOW_STEM_CONTAINER",
|
||||
"TEST_IMG_SHOW_STEM");
|
||||
|
||||
if (Gbl.Action.Act == ActSeeTst)
|
||||
Tst_WriteAnswersOfAQstSeeExam (NumQst,QstCod,(Str_ConvertToUpperLetter (row[3][0]) == 'Y'));
|
||||
|
@ -1055,6 +1058,7 @@ void Tst_WriteQstStem (const char *Stem,const char *ClassStem)
|
|||
/*****************************************************************************/
|
||||
|
||||
static void Tst_PutFormToEditQstImage (struct Image *Image,int NumImgInForm,
|
||||
const char *ClassContainer,
|
||||
const char *ClassImg,
|
||||
const char *ClassImgTitURL,
|
||||
bool OptionsDisabled)
|
||||
|
@ -1075,7 +1079,7 @@ static void Tst_PutFormToEditQstImage (struct Image *Image,int NumImgInForm,
|
|||
Img_SetParamNames (&ParamUploadImg,NumImgInForm);
|
||||
|
||||
/***** Start container *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"TEST_IMG_EDIT_ONE_CONTAINER\">");
|
||||
fprintf (Gbl.F.Out,"<div class=\"TEST_FORM_EDIT_IMG\">");
|
||||
|
||||
/***** Choice 1: No image *****/
|
||||
fprintf (Gbl.F.Out,"<input type=\"radio\" name=\"%s\" value=\"%u\"",
|
||||
|
@ -1101,7 +1105,7 @@ static void Tst_PutFormToEditQstImage (struct Image *Image,int NumImgInForm,
|
|||
"</label>",
|
||||
The_ClassForm[Gbl.Prefs.Theme],
|
||||
Txt_Current_image);
|
||||
Img_ShowImage (Image,ClassImg);
|
||||
Img_ShowImage (Image,ClassContainer,ClassImg);
|
||||
|
||||
/***** Choice 3: Change/new image *****/
|
||||
UniqueId++;
|
||||
|
@ -2798,7 +2802,9 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m
|
|||
Gbl.RowEvenOdd);
|
||||
Tst_WriteQstStem (row[4],"TEST_EDI");
|
||||
Img_GetImageNameTitleAndURLFromRow (row[6],row[7],row[8],&Gbl.Test.Image);
|
||||
Img_ShowImage (&Gbl.Test.Image,"TEST_IMG_EDIT_LIST_STEM");
|
||||
Img_ShowImage (&Gbl.Test.Image,
|
||||
"TEST_IMG_EDIT_LIST_STEM_CONTAINER",
|
||||
"TEST_IMG_EDIT_LIST_STEM");
|
||||
Tst_WriteQstFeedback (row[5],"TEST_EDI_LIGHT");
|
||||
Tst_WriteAnswersOfAQstEdit (Gbl.Test.QstCod);
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
|
@ -3027,7 +3033,9 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
|
|||
"<div class=\"TEST_EDI\">"
|
||||
"%s",
|
||||
Answer);
|
||||
Img_ShowImage (&Gbl.Test.Answer.Options[NumOpt].Image,"TEST_IMG_EDIT_LIST_ANS");
|
||||
Img_ShowImage (&Gbl.Test.Answer.Options[NumOpt].Image,
|
||||
"TEST_IMG_EDIT_LIST_ANS_CONTAINER",
|
||||
"TEST_IMG_EDIT_LIST_ANS");
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/* Write the text of the feedback */
|
||||
|
@ -3344,7 +3352,9 @@ static void Tst_WriteChoiceAnsSeeExam (unsigned NumQst,long QstCod,bool Shuffle)
|
|||
fprintf (Gbl.F.Out,"<td class=\"TEST_EXA LEFT_TOP\">"
|
||||
"%s",
|
||||
Gbl.Test.Answer.Options[NumOpt].Text);
|
||||
Img_ShowImage (&Gbl.Test.Answer.Options[NumOpt].Image,"TEST_IMG_SHOW_ANS");
|
||||
Img_ShowImage (&Gbl.Test.Answer.Options[NumOpt].Image,
|
||||
"TEST_IMG_SHOW_ANS_CONTAINER",
|
||||
"TEST_IMG_SHOW_ANS");
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
}
|
||||
|
@ -3514,7 +3524,9 @@ static void Tst_WriteChoiceAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
|
|||
"<div class=\"TEST_EXA\">"
|
||||
"%s",
|
||||
Gbl.Test.Answer.Options[Indexes[NumOpt]].Text);
|
||||
Img_ShowImage (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Image,"TEST_IMG_SHOW_ANS");
|
||||
Img_ShowImage (&Gbl.Test.Answer.Options[Indexes[NumOpt]].Image,
|
||||
"TEST_IMG_SHOW_ANS_CONTAINER",
|
||||
"TEST_IMG_SHOW_ANS");
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
if (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK)
|
||||
if (Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback)
|
||||
|
@ -4499,6 +4511,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
|
|||
Txt_Stem,
|
||||
Stem);
|
||||
Tst_PutFormToEditQstImage (&Gbl.Test.Image,-1,
|
||||
"TEST_IMG_EDIT_ONE_STEM_CONTAINER",
|
||||
"TEST_IMG_EDIT_ONE_STEM",
|
||||
"STEM", // Title / attribution
|
||||
false);
|
||||
|
@ -4719,6 +4732,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback)
|
|||
/* Image */
|
||||
Tst_PutFormToEditQstImage (&Gbl.Test.Answer.Options[NumOpt].Image,
|
||||
(int) NumOpt,
|
||||
"TEST_IMG_EDIT_ONE_ANS_CONTAINER",
|
||||
"TEST_IMG_EDIT_ONE_ANS",
|
||||
"ANS_STR", // Title / attribution
|
||||
OptionsDisabled);
|
||||
|
|
Loading…
Reference in New Issue
Block a user