mirror of https://github.com/acanas/swad-core.git
Version 15.74.7
This commit is contained in:
parent
76d9302e13
commit
5d97fd9d92
|
@ -1154,8 +1154,9 @@ a:hover /* Default ==> underlined */
|
|||
max-width:90%;
|
||||
margin:8px auto 0 auto;
|
||||
background-color:#FFF9E0;
|
||||
background-repeat:no-repeat;
|
||||
background-position:12px 12px;
|
||||
background-size:20px 20px;
|
||||
background-repeat:no-repeat;
|
||||
padding:12px 12px 12px 45px;
|
||||
border-radius:4px;
|
||||
box-shadow:1px 1px 3px #CCC7B4;
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 560 B |
Binary file not shown.
After Width: | Height: | Size: 372 B |
Binary file not shown.
Before Width: | Height: | Size: 328 B After Width: | Height: | Size: 369 B |
Binary file not shown.
After Width: | Height: | Size: 369 B |
Binary file not shown.
After Width: | Height: | Size: 380 B |
|
@ -468,7 +468,7 @@ static void Att_PutFormToListMyAttendance (void)
|
|||
extern const char *Txt_Attendance_list;
|
||||
|
||||
Lay_PutContextualLink (ActSeeLstMyAtt,NULL,
|
||||
"list16x16.gif",
|
||||
"list64x64.gif",
|
||||
Txt_Attendance_list,Txt_Attendance_list);
|
||||
}
|
||||
|
||||
|
@ -481,7 +481,7 @@ static void Att_PutFormToListStdsAttendance (void)
|
|||
extern const char *Txt_Attendance_list;
|
||||
|
||||
Lay_PutContextualLink (ActReqLstStdAtt,Att_PutFormToListStdsParams,
|
||||
"list16x16.gif",
|
||||
"list64x64.gif",
|
||||
Txt_Attendance_list,Txt_Attendance_list);
|
||||
}
|
||||
|
||||
|
|
|
@ -102,26 +102,26 @@
|
|||
// TODO: Show nicknames of users in lists?
|
||||
// TODO: Form to register and remove system admins
|
||||
// TODO: Fix this bug: when an admin clicks on "Use this email" in the email of another user the email was confirmed, the email becomes unconfirmed
|
||||
// TODO: When error ("Ya existía un evento con el título") creating a new event, the data f the event is empty
|
||||
// TODO: When error ("Ya existía un evento con el título") creating a new event, the data of the event is empty
|
||||
// TODO: When teacher clicks in attendance of a student (button in her/his record),
|
||||
// only (the groups he/she should have attend) union (the groups he/she really attended)
|
||||
// should be shown.
|
||||
// TODO: By default, profile and photo should be visible by users who share course
|
||||
// TODO: When page is refreshed in course works, prevent users to be duplicated
|
||||
// TODO: Fix bug at the end of ranking (number too low) when a course is selected
|
||||
// TODO: Reply to all
|
||||
// TODO: Reply icons should appear without text
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.74.5 (2015-12-26)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.74.7 (2015-12-26)"
|
||||
#define CSS_FILE "swad15.74.3.css"
|
||||
|
||||
// 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.74.7: Dec 26, 2015 Changes in small icons. (187563 lines)
|
||||
Version 15.74.6: Dec 26, 2015 Reply icon is shown without text. (187562 lines)
|
||||
Version 15.74.5: Dec 26, 2015 Text in link to remove messages is now shorter.
|
||||
Fixed bug in messages. (187563 lines)
|
||||
Version 15.74.4: Dec 26, 2015 Change in text when no course is selected. (187757 lines)
|
||||
|
|
|
@ -1374,9 +1374,9 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg)
|
|||
Deg->NumCrss ? "ok_green" :
|
||||
"tr",
|
||||
Deg->NumCrss ? Txt_DEGREE_With_courses :
|
||||
Txt_DEGREE_Without_courses,
|
||||
Txt_DEGREE_Without_courses,
|
||||
Deg->NumCrss ? Txt_DEGREE_With_courses :
|
||||
Txt_DEGREE_Without_courses);
|
||||
Txt_DEGREE_Without_courses);
|
||||
|
||||
/***** Number of degree in this list *****/
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
|
||||
|
|
12
swad_forum.c
12
swad_forum.c
|
@ -1161,12 +1161,12 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst
|
|||
sprintf (Gbl.Title,Enabled ? Txt_Post_X_allowed_Click_to_ban_it :
|
||||
Txt_Post_X_banned_Click_to_unban_it,
|
||||
PstNum);
|
||||
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s_on16x16.gif\""
|
||||
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s-on64x64.png\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />",
|
||||
Gbl.Prefs.IconsURL,
|
||||
Enabled ? "visible" :
|
||||
"hidden",
|
||||
Enabled ? "eye" :
|
||||
"eye-slash",
|
||||
Gbl.Title,
|
||||
Gbl.Title);
|
||||
Act_FormEnd ();
|
||||
|
@ -1177,14 +1177,14 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst
|
|||
Txt_Post_X_banned,
|
||||
PstNum);
|
||||
fprintf (Gbl.F.Out,"<span title=\"%s\">"
|
||||
"<img src=\"%s/%s_off16x16.gif\""
|
||||
"<img src=\"%s/%s-off64x64.png\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
"</span>",
|
||||
Gbl.Title,
|
||||
Gbl.Prefs.IconsURL,
|
||||
Enabled ? "visible" :
|
||||
"hidden",
|
||||
Enabled ? "eye" :
|
||||
"eye-slash",
|
||||
Gbl.Title,
|
||||
Gbl.Title);
|
||||
}
|
||||
|
|
|
@ -1345,8 +1345,7 @@ void Lay_ShowAlert (Lay_AlertType_t MsgType,const char *Message)
|
|||
if (Message)
|
||||
fprintf (Gbl.F.Out,"<div class=\"CENTER_MIDDLE\">"
|
||||
"<div class=\"ALERT\""
|
||||
" style=\"background-image:url('%s/%s16x16.gif');"
|
||||
" background-size:20px 20px;\">"
|
||||
" style=\"background-image:url('%s/%s16x16.gif');\">"
|
||||
"%s"
|
||||
"</div>"
|
||||
"</div>",
|
||||
|
|
|
@ -190,19 +190,19 @@ void Log_PutFormToChangeLogo (Sco_Scope_t Scope)
|
|||
Action = ActReqInsLog;
|
||||
Cod = Gbl.CurrentIns.Ins.InsCod;
|
||||
Folder = Cfg_FOLDER_INS;
|
||||
Icon = "ins16x16.gif";
|
||||
Icon = "ins64x64.gif";
|
||||
break;
|
||||
case Sco_SCOPE_CTR:
|
||||
Action = ActReqCtrLog;
|
||||
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
|
||||
Folder = Cfg_FOLDER_CTR;
|
||||
Icon = "ctr16x16.gif";
|
||||
Icon = "ctr64x64.gif";
|
||||
break;
|
||||
case Sco_SCOPE_DEG:
|
||||
Action = ActReqDegLog;
|
||||
Cod = Gbl.CurrentDeg.Deg.DegCod;
|
||||
Folder = Cfg_FOLDER_DEG;
|
||||
Icon = "deg16x16.gif";
|
||||
Icon = "deg64x64.gif";
|
||||
break;
|
||||
default:
|
||||
return; // Nothing to do
|
||||
|
|
|
@ -3089,10 +3089,10 @@ static void Msg_WriteFormToReply (long MsgCod,long CrsCod,const char *Subject,
|
|||
(Replied ? Txt_Go_to_course_and_reply_again :
|
||||
Txt_Go_to_course_and_reply),
|
||||
The_ClassFormBold[Gbl.Prefs.Theme]);
|
||||
Lay_PutIconWithText ("reply16x16.gif",Replied ? Txt_Reply_again :
|
||||
Txt_Reply,
|
||||
Replied ? Txt_Reply_again :
|
||||
Txt_Reply);
|
||||
Lay_PutIconWithText ("reply16x16.gif",
|
||||
Replied ? Txt_Reply_again :
|
||||
Txt_Reply,
|
||||
NULL);
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Act_FormEnd ();
|
||||
}
|
||||
|
|
|
@ -187,33 +187,33 @@ static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
|
|||
// Icons for notification events
|
||||
static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] =
|
||||
{
|
||||
"faq", // Ntf_EVENT_UNKNOWN
|
||||
"faq16x16.gif", // Ntf_EVENT_UNKNOWN
|
||||
|
||||
/* Course tab */
|
||||
"folder", // Ntf_EVENT_DOCUMENT_FILE // TODO: Change icon to "file"
|
||||
"folderusers", // Ntf_EVENT_SHARED_FILE // TODO: Change icon to "file"
|
||||
"file64x64.gif", // Ntf_EVENT_DOCUMENT_FILE
|
||||
"file64x64.gif", // Ntf_EVENT_SHARED_FILE
|
||||
|
||||
/* Assessment tab */
|
||||
"desk", // Ntf_EVENT_ASSIGNMENT
|
||||
"announce", // Ntf_EVENT_EXAM_ANNOUNCEMENT
|
||||
"grades", // Ntf_EVENT_MARKS_FILE
|
||||
"desk16x16.gif", // Ntf_EVENT_ASSIGNMENT
|
||||
"announce16x16.gif", // Ntf_EVENT_EXAM_ANNOUNCEMENT
|
||||
"grades16x16.gif", // Ntf_EVENT_MARKS_FILE
|
||||
|
||||
/* Enrollment tab */
|
||||
"adduser", // Ntf_EVENT_ENROLLMENT_STUDENT
|
||||
"adduser", // Ntf_EVENT_ENROLLMENT_TEACHER
|
||||
"enrollmentrequest", // Ntf_EVENT_ENROLLMENT_REQUEST
|
||||
"adduser16x16.gif", // Ntf_EVENT_ENROLLMENT_STUDENT
|
||||
"adduser16x16.gif", // Ntf_EVENT_ENROLLMENT_TEACHER
|
||||
"enrollmentrequest16x16.gif", // Ntf_EVENT_ENROLLMENT_REQUEST
|
||||
|
||||
/* Messages tab */
|
||||
"note", // Ntf_EVENT_NOTICE
|
||||
"forum", // Ntf_EVENT_FORUM_POST_COURSE
|
||||
"forum", // Ntf_EVENT_FORUM_REPLY
|
||||
"recmsg", // Ntf_EVENT_MESSAGE
|
||||
"note16x16.gif", // Ntf_EVENT_NOTICE
|
||||
"forum16x16.gif", // Ntf_EVENT_FORUM_POST_COURSE
|
||||
"forum16x16.gif", // Ntf_EVENT_FORUM_REPLY
|
||||
"msg64x64.gif", // Ntf_EVENT_MESSAGE
|
||||
|
||||
/* Statistics tab */
|
||||
"survey", // Ntf_EVENT_SURVEY
|
||||
"survey16x16.gif", // Ntf_EVENT_SURVEY
|
||||
|
||||
/* Profile tab */
|
||||
"follow", // Ntf_EVENT_FOLLOWER
|
||||
"follow64x64.gif", // Ntf_EVENT_FOLLOWER
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -302,7 +302,7 @@ void Ntf_ShowMyNotifications (void)
|
|||
/***** Buttons to change preferences and to mark all notifications as seen *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
// Put form to change notification preferences
|
||||
Lay_PutContextualLink (ActEdiPrf,NULL,"heart16x16.gif",
|
||||
Lay_PutContextualLink (ActEdiPrf,NULL,"heart64x64.gif",
|
||||
Txt_Change_preferences,Txt_Change_preferences);
|
||||
if (NumNotifications)
|
||||
// Put form to change notification preferences
|
||||
|
@ -437,7 +437,7 @@ void Ntf_ShowMyNotifications (void)
|
|||
if (PutLink)
|
||||
{
|
||||
Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,Cod);
|
||||
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s16x16.gif\""
|
||||
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />",
|
||||
Gbl.Prefs.IconsURL,
|
||||
|
@ -447,7 +447,7 @@ void Ntf_ShowMyNotifications (void)
|
|||
Act_FormEnd ();
|
||||
}
|
||||
else
|
||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s16x16.gif\""
|
||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />",
|
||||
Gbl.Prefs.IconsURL,
|
||||
|
|
|
@ -1379,7 +1379,7 @@ static void Rec_WriteFormShowOfficeHours (bool ShowOfficeHours,const char *ListU
|
|||
fprintf (Gbl.F.Out," checked=\"checked\"");
|
||||
fprintf (Gbl.F.Out," class=\"LEFT_MIDDLE\""
|
||||
" onclick=\"document.getElementById('%s').submit();\" />"
|
||||
"<img src=\"%s/clock16x16.gif\""
|
||||
"<img src=\"%s/clock64x64.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
"<span class=\"%s\"> %s</span>"
|
||||
|
|
|
@ -4210,7 +4210,7 @@ static void Sta_GetAndShowNumCtysInSWAD (void)
|
|||
/***** Write number of countries *****/
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||
"<img src=\"%s/cty16x16.gif\""
|
||||
"<img src=\"%s/cty64x64.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
" %s:"
|
||||
|
@ -4335,7 +4335,7 @@ static void Sta_GetAndShowNumInssInSWAD (void)
|
|||
/***** Write number of institutions *****/
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||
"<img src=\"%s/ins16x16.gif\""
|
||||
"<img src=\"%s/ins64x64.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
" %s:"
|
||||
|
@ -4450,7 +4450,7 @@ static void Sta_GetAndShowNumCtrsInSWAD (void)
|
|||
/***** Write number of centres *****/
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||
"<img src=\"%s/ctr16x16.gif\""
|
||||
"<img src=\"%s/ctr64x64.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
" %s:"
|
||||
|
@ -4555,7 +4555,7 @@ static void Sta_GetAndShowNumDegsInSWAD (void)
|
|||
/***** Write number of degrees *****/
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||
"<img src=\"%s/deg16x16.gif\""
|
||||
"<img src=\"%s/deg64x64.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
" %s:"
|
||||
|
@ -4650,7 +4650,7 @@ static void Sta_GetAndShowNumCrssInSWAD (void)
|
|||
/***** Write number of courses *****/
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||
"<img src=\"%s/crs16x16.gif\""
|
||||
"<img src=\"%s/crs64x64.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
" %s:"
|
||||
|
|
|
@ -1440,7 +1440,7 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,bool
|
|||
"<img src=\"%s/",
|
||||
Gbl.Prefs.IconsURL);
|
||||
if (TagHidden)
|
||||
fprintf (Gbl.F.Out,"eye-slash-off16x16.gif\" alt=\"%s\" title=\"%s",
|
||||
fprintf (Gbl.F.Out,"eye-slash-off64x64.png\" alt=\"%s\" title=\"%s",
|
||||
Txt_Tag_not_allowed,
|
||||
Txt_Tag_not_allowed);
|
||||
else
|
||||
|
|
|
@ -342,7 +342,7 @@ void TT_EditCrsTimeTable (void)
|
|||
|
||||
/***** Link (form) to see my timetable *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Lay_PutContextualLink (ActSeeCrsTT,NULL,"clock16x16.gif",
|
||||
Lay_PutContextualLink (ActSeeCrsTT,NULL,"clock64x64.gif",
|
||||
Txt_Show_timetable,Txt_Show_timetable);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
|
@ -363,7 +363,7 @@ void TT_ShowMyTutTimeTable (void)
|
|||
|
||||
/***** Link (form) to see my timetable *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Lay_PutContextualLink (ActSeeMyTT,NULL,"clock16x16.gif",
|
||||
Lay_PutContextualLink (ActSeeMyTT,NULL,"clock64x64.gif",
|
||||
Txt_Show_timetable,Txt_Show_timetable);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
|
|
14
swad_user.c
14
swad_user.c
|
@ -78,8 +78,8 @@ const char *Usr_StringsUsrListTypeInDB[Usr_NUM_USR_LIST_TYPES] =
|
|||
};
|
||||
const char *Usr_IconsClassPhotoOrList[Usr_NUM_USR_LIST_TYPES] =
|
||||
{
|
||||
"classphoto",
|
||||
"list"
|
||||
"classphoto16x16.gif",
|
||||
"list64x64.gif"
|
||||
};
|
||||
|
||||
#define Usr_NUM_MAIN_FIELDS_DATA_USR 9
|
||||
|
@ -4990,7 +4990,7 @@ static void Usr_FormToSelectUsrListType (Act_Action_t NextAction,Usr_ShowUsrsTyp
|
|||
Usr_PutParamUsrListType (ListType);
|
||||
Usr_PutExtraParamsUsrList (NextAction);
|
||||
Act_LinkFormSubmit (Txt_USR_LIST_TYPES[ListType],The_ClassFormNoWrap[Gbl.Prefs.Theme]);
|
||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s16x16.gif\""
|
||||
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20\" />"
|
||||
" %s</a>",
|
||||
|
@ -6622,7 +6622,7 @@ void Usr_SeeGuests (void)
|
|||
case Usr_LIST:
|
||||
/****** Link to show all the data ******/
|
||||
Lay_PutContextualLink (ActLstGstAll,Usr_PutLinkToShowGuestsAllDataParams,
|
||||
"table16x16.gif",
|
||||
"table64x64.gif",
|
||||
Txt_Show_all_data,Txt_Show_all_data);
|
||||
break;
|
||||
}
|
||||
|
@ -6813,7 +6813,7 @@ void Usr_SeeStudents (void)
|
|||
/****** Link to show all the data ******/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Lay_PutContextualLink (ActLstStdAll,Usr_PutLinkToShowStdsAllDataParams,
|
||||
"table16x16.gif",
|
||||
"table64x64.gif",
|
||||
Txt_Show_all_data,Txt_Show_all_data);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
@ -6982,7 +6982,7 @@ void Usr_SeeTeachers (void)
|
|||
/****** Link to show all the data ******/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Lay_PutContextualLink (ActLstTchAll,Usr_PutLinkToShowTchsAllDataParams,
|
||||
"table16x16.gif",
|
||||
"table64x64.gif",
|
||||
Txt_Show_all_data,Txt_Show_all_data);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
@ -7070,7 +7070,7 @@ static void Usr_PutLinkToListOfficialStudents (void)
|
|||
Gbl.Imported.ExternalSesId[0] &&
|
||||
Gbl.Imported.ExternalRole == Rol_TEACHER) // ...as a teacher
|
||||
/***** Link to list official students *****/
|
||||
Lay_PutContextualLink (ActGetExtLstStd,NULL,"list16x16.gif",
|
||||
Lay_PutContextualLink (ActGetExtLstStd,NULL,"list64x64.gif",
|
||||
Txt_Official_students,Txt_Official_students);
|
||||
}
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ void ZIP_PutButtonToCreateZIPAsgWrk (void)
|
|||
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Lay_PutContextualLink (ActAdmAsgWrkCrs,ZIP_PutButtonToCreateZIPAsgWrkParams,
|
||||
"download16x16.gif",
|
||||
"download64x64.gif",
|
||||
Txt_Create_ZIP_file,Txt_Create_ZIP_file);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
@ -331,7 +331,7 @@ void ZIP_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *Fil
|
|||
}
|
||||
Brw_ParamListFiles (Brw_IS_FOLDER,PathInTree,FileName);
|
||||
Act_LinkFormSubmit (Txt_Create_ZIP_file,The_ClassForm[Gbl.Prefs.Theme]);
|
||||
fprintf (Gbl.F.Out,"<img src=\"%s/download16x16.gif\""
|
||||
fprintf (Gbl.F.Out,"<img src=\"%s/download64x64.gif\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"ICON20x20B\" />"
|
||||
"</a>",
|
||||
|
|
Loading…
Reference in New Issue