Version 15.64

This commit is contained in:
Antonio Cañas Vargas 2015-12-12 19:47:10 +01:00
parent ec1265c0ec
commit 40114fd0e1
19 changed files with 210 additions and 131 deletions

View File

@ -1749,11 +1749,25 @@ a:hover img.CENTRE_PHOTO_SHOW
}
/***************************** Public user's profile *************************/
#prf_fig_container
#prf_fig_left_container
{
text-align:center;
display:inline-block;
box-sizing:border-box;
width:50%;
padding-right:10px;
text-align:right;
vertical-align:top;
}
#prf_fig_list
#prf_fig_right_container
{
display:inline-block;
box-sizing:border-box;
width:50%;
padding-left:10px;
text-align:left;
vertical-align:top;
}
.PRF_FIG_LIST
{
display:inline-block;
list-style-type:none;
@ -1771,14 +1785,37 @@ a:hover img.CENTRE_PHOTO_SHOW
vertical-align:middle;
opacity:0.33;
}
#num_following
{
display:inline-block;
box-sizing:border-box;
width:50%;
padding-right:10px;
text-align:right;
}
#num_followers
{
display:inline-block;
box-sizing:border-box;
width:50%;
padding-left:10px;
text-align:left;
}
.FOLLOW
{
display:inline-block;
min-width:125px;
text-align:center;
}
.FOLLOW_NUM
{
color:#404040;
font-size:30pt;
font-weight:bold;
opacity:0.5;
}
.FOLLOW_B
.FOLLOW_NUM_B
{
color:#404040;
font-size:30pt;

BIN
icon/card64x64.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

BIN
icon/config64x64.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

BIN
icon/folder64x64.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

BIN
icon/qr64x64.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

BIN
icon/rollcall64x64.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 430 B

BIN
icon/unfollow64x64.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

View File

@ -34,7 +34,10 @@ var NumUsrsCon;
var ListSeconds = [];
var countClockConnected = 0;
// Write a date in client local time
/****************** Write a date in client local time ************************/
//id is the id of the HTML element in which date will be written
//TimeUTC is the date-time to write in UTC UNIX time format
function writeLocalDateFromUTC(id,TimeUTC) {
var d = new Date;
var Yea;
@ -53,9 +56,9 @@ function writeLocalDateFromUTC(id,TimeUTC) {
}
/*************** Write a date-time in client local time **********************/
// - id is the id of the HTML element in which date-time will be written
// - TimeUTC is the date-time to write in UTC UNIX time format
// - separator is HTML code to write between date and time
// id is the id of the HTML element in which date-time will be written
// TimeUTC is the date-time to write in UTC UNIX time format
// separator is HTML code to write between date and time
function writeLocalDateTimeFromUTC(id,TimeUTC,separator) {
var d = new Date;

View File

@ -80,7 +80,7 @@ void QR_PutLinkToPrintQRCode (struct UsrData *UsrDat,bool PrintText)
sprintf (NicknameWithArroba,"@%s",UsrDat->Nickname);
Par_PutHiddenParamString ("QRString",NicknameWithArroba);
Act_LinkFormSubmit (Txt_QR_code,The_ClassFormBold[Gbl.Prefs.Theme]);
Lay_PutIconWithText ("qr16x16.gif",Txt_QR_code,PrintText ? Txt_QR_code :
Lay_PutIconWithText ("qr64x64.gif",Txt_QR_code,PrintText ? Txt_QR_code :
NULL);
Act_FormEnd ();
}

View File

@ -117,12 +117,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.63 (2015/12/12)"
#define CSS_FILE "swad15.63.css"
#define Log_PLATFORM_VERSION "SWAD 15.64 (2015/12/12)"
#define CSS_FILE "swad15.64.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.64: Dec 12, 2015 Changes in layout of user's public profile.
Changes in some small icons. (187004 lines)
Version 15.63: Dec 12, 2015 New layout for user's public profile.
Fixed bug when removing user's account. (186932 lines)
2 changes necessary in database:

View File

@ -3872,7 +3872,7 @@ void Deg_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
switch (Sco_GetScopeFromUnsignedStr (row[0]))
{
case Sco_SCOPE_SYS: // System
fprintf (Gbl.F.Out,"<img src=\"%s/swad16x16.gif\""
fprintf (Gbl.F.Out,"<img src=\"%s/swad64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"&nbsp;%s",

View File

@ -44,7 +44,7 @@
/***************************** Private constants *****************************/
/*****************************************************************************/
#define Fol_NUM_COLUMNS_FOLLOW 5
#define Fol_NUM_COLUMNS_FOLLOW 3
/*****************************************************************************/
/****************************** Internal types *******************************/
@ -99,25 +99,25 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat)
extern const char *Txt_Following;
extern const char *Txt_Followers;
/***** Start table *****/
fprintf (Gbl.F.Out,"<section id=\"follow\">"
"<table style=\"margin:0 auto;\">"
"<tr>");
/***** Start section *****/
fprintf (Gbl.F.Out,"<section id=\"follow_section\">");
/***** Followed users *****/
fprintf (Gbl.F.Out,"<div id=\"num_following\">");
Fol_ShowNumberOfFollowingOrFollowers (UsrDat,
Fol_GetNumFollowing (UsrDat->UsrCod),
ActSeeFlg,Txt_Following);
fprintf (Gbl.F.Out,"</div>");
/***** Followers *****/
fprintf (Gbl.F.Out,"<div id=\"num_followers\">");
Fol_ShowNumberOfFollowingOrFollowers (UsrDat,
Fol_GetNumFollowers (UsrDat->UsrCod),
ActSeeFlr,Txt_Followers);
fprintf (Gbl.F.Out,"</div>");
/***** End table *****/
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</section>");
/***** End section *****/
fprintf (Gbl.F.Out,"</section>");
}
/*****************************************************************************/
@ -132,21 +132,21 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *The_ClassFormBold[The_NUM_THEMES];
/***** Start container *****/
fprintf (Gbl.F.Out,"<div class=\"FOLLOW\">");
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\""
" style=\"min-width:125px;\">");
/* Number */
/***** Number *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.CurrentAct == Action) ? "FOLLOW_B" :
"FOLLOW");
(Gbl.CurrentAct == Action) ? "FOLLOW_NUM_B" :
"FOLLOW_NUM");
if (NumUsrs)
{
/* Form to list users */
Act_FormStartAnchor (Action,"follow");
Act_FormStartAnchor (Action,"follow_section");
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Title,
(Gbl.CurrentAct == Action) ? "FOLLOW_B" :
"FOLLOW");
(Gbl.CurrentAct == Action) ? "FOLLOW_NUM_B" :
"FOLLOW_NUM");
}
fprintf (Gbl.F.Out,"%u",NumUsrs);
if (NumUsrs)
@ -156,14 +156,14 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
}
fprintf (Gbl.F.Out,"</div>");
/* Text */
fprintf (Gbl.F.Out,"<div class=\"%s CENTER_MIDDLE\">",
/***** Text *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.CurrentAct == Action) ? The_ClassFormBold[Gbl.Prefs.Theme] :
The_ClassForm[Gbl.Prefs.Theme]);
if (NumUsrs)
{
/* Form to list users */
Act_FormStartAnchor (Action,"follow");
Act_FormStartAnchor (Action,"follow_section");
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Title,
(Gbl.CurrentAct == Action) ? The_ClassFormBold[Gbl.Prefs.Theme] :
@ -175,8 +175,10 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</a>");
Act_FormEnd ();
}
fprintf (Gbl.F.Out,"</div>"
"</td>");
fprintf (Gbl.F.Out,"</div>");
/***** End container *****/
fprintf (Gbl.F.Out,"</div>");
}
/*****************************************************************************/
@ -385,7 +387,7 @@ static void Fol_ShowFollowedOrFollower (const struct UsrData *UsrDat)
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Unfollow,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\">"
"<img src=\"%s/unfollow16x16.gif\""
"<img src=\"%s/unfollow64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"
@ -400,7 +402,7 @@ static void Fol_ShowFollowedOrFollower (const struct UsrData *UsrDat)
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Follow,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\">"
"<img src=\"%s/follow16x16.gif\""
"<img src=\"%s/follow64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"

View File

@ -968,7 +968,7 @@ void Lay_PutIconWithText (const char *Icon,const char *Alt,const char *Text)
void Lay_PutCalculateIconWithText (const char *Alt,const char *Text)
{
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"margin:0 6px; display:inline;\">"
" style=\"margin:0 6px 0 0; display:inline;\">"
"<img id=\"update_%d\" src=\"%s/recycle16x16.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"

View File

@ -110,7 +110,40 @@ const char *Net_WebsAndSocialNetworksDB[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] =
"youtube", // Net_YOUTUBE
};
const char *Net_TitleWebsAndSocialNetworks[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] =
const char *Net_WebsAndSocialNetworksIcons[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] =
{
"www16x16.gif", // Net_WWW
"500px16x16.gif", // Net_500PX
"delicious16x16.gif", // Net_DELICIOUS
"deviantart16x16.gif", // Net_DEVIANTART
"diaspora16x16.gif", // Net_DIASPORA
"edmodo16x16.gif", // Net_EDMODO
"facebook16x16.gif", // Net_FACEBOOK
"flickr16x16.gif", // Net_FLICKR
"foursquare16x16.gif", // Net_FOURSQUAREhub
"github16x16.gif", // Net_GITHUB
"gnusocial16x16.gif", // Net_GNU_SOCIAL
"googleplus16x16.gif", // Net_GOOGLE_PLUS
"googlescholar16x16.gif", // Net_GOOGLE_SCHOLAR
"identica16x16.gif", // Net_IDENTICA
"instagram16x16.gif", // Net_INSTAGRAM
"linkedin16x16.gif", // Net_LINKEDIN
"orcid16x16.gif", // Net_ORCID
"paperli16x16.gif", // Net_PAPERLI
"pinterest16x16.gif", // Net_PINTEREST
"quitter16x16.gif", // Net_QUITTER
"researchgate16x16.gif", // Net_RESEARCH_GATE
"researcherid16x16.gif", // Net_RESEARCHERID
"scoopit16x16.gif", // Net_SCOOPIT
"slideshare16x16.gif", // Net_SLIDESHARE
"storify16x16.gif", // Net_STORIFY
"tumblr16x16.gif", // Net_TUMBLR
"twitter16x16.gif", // Net_TWITTER
"wikipedia16x16.gif", // Net_WIKIPEDIA
"youtube16x16.gif", // Net_YOUTUBE
};
const char *Net_WebsAndSocialNetworksTitle[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] =
{
"WWW", // Net_WWW
"500px", // Net_500PX
@ -168,7 +201,7 @@ void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat)
/***** Show link to public profile *****/
Net_ShowAWebOrSocialNet (Prf_GetURLPublicProfile (URL,UsrDat->Nickname),
"swad",Cfg_PLATFORM_PAGE_TITLE);
"swad64x64.gif",Cfg_PLATFORM_PAGE_TITLE);
/***** Show the rest of webs / social networks *****/
for (NumURL = (Net_WebsAndSocialNetworks_t) 0;
@ -190,8 +223,8 @@ void Net_ShowWebsAndSocialNets (const struct UsrData *UsrDat)
/* Show the web / social network */
Net_ShowAWebOrSocialNet (URL,
Net_WebsAndSocialNetworksDB[NumURL],
Net_TitleWebsAndSocialNetworks[NumURL]);
Net_WebsAndSocialNetworksIcons[NumURL],
Net_WebsAndSocialNetworksTitle[NumURL]);
}
/***** Free structure that stores the query result *****/
@ -213,7 +246,7 @@ static void Net_ShowAWebOrSocialNet (const char *URL,
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\">"
"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
"<img src=\"%s/%s16x16.gif\""
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</a>"
@ -271,17 +304,17 @@ void Net_ShowFormMyWebsAndSocialNets (void)
/***** Row for this web / social network *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_MIDDLE\">"
"<img src=\"%s/%s16x16.gif\""
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\""
" style=\"margin-right:12px;\" />"
"%s:</td>"
"<td class=\"LEFT_MIDDLE\" style=\"width:%upx;\">",
The_ClassForm[Gbl.Prefs.Theme],
Gbl.Prefs.IconsURL,Net_WebsAndSocialNetworksDB[NumURL],
Net_TitleWebsAndSocialNetworks[NumURL],
Net_TitleWebsAndSocialNetworks[NumURL],
Net_TitleWebsAndSocialNetworks[NumURL],
Gbl.Prefs.IconsURL,Net_WebsAndSocialNetworksIcons[NumURL],
Net_WebsAndSocialNetworksTitle[NumURL],
Net_WebsAndSocialNetworksTitle[NumURL],
Net_WebsAndSocialNetworksTitle[NumURL],
Net_COL2_WIDTH);
Act_FormStart (ActChgMyNet);
Par_PutHiddenParamUnsigned ("Web",(unsigned) NumURL);
@ -489,7 +522,7 @@ void Net_ShowWebAndSocialNetworksStats (void)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
"<img src=\"%s/%s16x16.gif\""
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\""
" style=\"margin-right:12px;\" />"
@ -501,10 +534,10 @@ void Net_ShowWebAndSocialNetworksStats (void)
"%.2f%%"
"</td>"
"</tr>",
Gbl.Prefs.IconsURL,Net_WebsAndSocialNetworksDB[Web],
Net_TitleWebsAndSocialNetworks[Web],
Net_TitleWebsAndSocialNetworks[Web],
Net_TitleWebsAndSocialNetworks[Web],
Gbl.Prefs.IconsURL,Net_WebsAndSocialNetworksIcons[Web],
Net_WebsAndSocialNetworksTitle[Web],
Net_WebsAndSocialNetworksTitle[Web],
Net_WebsAndSocialNetworksTitle[Web],
NumUsrs,
NumUsrsTotalInPlatform ? 100.0 * (float) NumUsrs / (float) NumUsrsTotalInPlatform :
0.0);

View File

@ -215,7 +215,8 @@ static void Prf_GetUsrDatAndShowUserProfile (void)
bool Prf_ShowUserProfile (void)
{
/***** Check if I can see the public profile *****/
if (Pri_ShowIsAllowed (Gbl.Usrs.Other.UsrDat.ProfileVisibility,Gbl.Usrs.Other.UsrDat.UsrCod))
if (Pri_ShowIsAllowed (Gbl.Usrs.Other.UsrDat.ProfileVisibility,
Gbl.Usrs.Other.UsrDat.UsrCod))
{
if (Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected
{
@ -275,7 +276,7 @@ void Prf_ChangeProfileVisibility (void)
static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
{
extern const char *The_ClassFormBold[The_NUM_THEMES];
extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_teachers_ABBREVIATION;
extern const char *Txt_students_ABBREVIATION;
@ -304,61 +305,54 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
struct UsrFigures UsrFigures;
unsigned NumCrssUsrIsTeacher;
unsigned NumCrssUsrIsStudent;
unsigned NumStds;
unsigned NumTchs;
unsigned NumFiles;
unsigned NumPublicFiles;
// char StrTimeGenerationInMicroseconds[64];
/***** Start table *****/
fprintf (Gbl.F.Out,"<div id=\"prf_fig_container\">"
"<ul id=\"prf_fig_list\" class=\"DAT\">");
/***** Start left list *****/
fprintf (Gbl.F.Out,"<div id=\"prf_fig_left_container\">"
"<ul class=\"PRF_FIG_LIST DAT\">");
/***** Number of courses in which the user is teacher or student *****/
if ((NumCrssUsrIsTeacher = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_TEACHER)))
{
NumTchs = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TEACHER,Rol_TEACHER);
NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TEACHER,Rol_STUDENT);
fprintf (Gbl.F.Out,"<li>"
"<img src=\"%s/tch64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">"
"%u&nbsp;%s&nbsp;(%u&nbsp;%s&nbsp;+&nbsp;%u&nbsp;%s)"
"</li>",
Gbl.Prefs.IconsURL,
Txt_ROLES_SINGUL_Abc[Rol_TEACHER][UsrDat->Sex],
Txt_ROLES_SINGUL_Abc[Rol_TEACHER][UsrDat->Sex],
NumCrssUsrIsTeacher,
(NumCrssUsrIsTeacher == 1) ? Txt_course :
Txt_courses,
NumTchs,
/***** Number of courses in which the user is teacher *****/
NumCrssUsrIsTeacher = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_TEACHER);
fprintf (Gbl.F.Out,"<li>"
"<img src=\"%s/tch64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"%u&nbsp;%s&nbsp;",
Gbl.Prefs.IconsURL,
Txt_ROLES_SINGUL_Abc[Rol_TEACHER][UsrDat->Sex],
Txt_ROLES_SINGUL_Abc[Rol_TEACHER][UsrDat->Sex],
NumCrssUsrIsTeacher,
(NumCrssUsrIsTeacher == 1) ? Txt_course :
Txt_courses);
if (NumCrssUsrIsTeacher)
fprintf (Gbl.F.Out,"(%u&nbsp;%s&nbsp;+&nbsp;%u&nbsp;%s)",
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TEACHER,Rol_TEACHER),
Txt_teachers_ABBREVIATION,
NumStds,
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TEACHER,Rol_STUDENT),
Txt_students_ABBREVIATION);
}
if ((NumCrssUsrIsStudent = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_STUDENT)))
{
NumTchs = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STUDENT,Rol_TEACHER);
NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STUDENT,Rol_STUDENT);
fprintf (Gbl.F.Out,"<li>"
"<img src=\"%s/std64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"%u&nbsp;%s&nbsp;(%u&nbsp;%s&nbsp;+&nbsp;%u&nbsp;%s)"
"</li>",
Gbl.Prefs.IconsURL,
Txt_ROLES_SINGUL_Abc[Rol_STUDENT][UsrDat->Sex],
Txt_ROLES_SINGUL_Abc[Rol_STUDENT][UsrDat->Sex],
NumCrssUsrIsStudent,
(NumCrssUsrIsStudent == 1) ? Txt_course :
Txt_courses,
NumTchs,
fprintf (Gbl.F.Out,"</li>");
/***** Number of courses in which the user is student *****/
NumCrssUsrIsStudent = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_STUDENT);
fprintf (Gbl.F.Out,"<li>"
"<img src=\"%s/std64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"%u&nbsp;%s&nbsp;",
Gbl.Prefs.IconsURL,
Txt_ROLES_SINGUL_Abc[Rol_STUDENT][UsrDat->Sex],
Txt_ROLES_SINGUL_Abc[Rol_STUDENT][UsrDat->Sex],
NumCrssUsrIsStudent,
(NumCrssUsrIsStudent == 1) ? Txt_course :
Txt_courses);
if (NumCrssUsrIsStudent)
fprintf (Gbl.F.Out,"(%u&nbsp;%s&nbsp;+&nbsp;%u&nbsp;%s)",
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STUDENT,Rol_TEACHER),
Txt_teachers_ABBREVIATION,
NumStds,
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STUDENT,Rol_STUDENT),
Txt_students_ABBREVIATION);
}
fprintf (Gbl.F.Out,"</li>");
/***** Number of files currently published *****/
if ((NumFiles = Brw_GetNumFilesUsr (UsrDat->UsrCod)))
@ -392,14 +386,14 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
Txt_From_TIME);
if (UsrFigures.FirstClickTimeUTC)
{
fprintf (Gbl.F.Out,"<span id=\"first_click_time\"></span>");
fprintf (Gbl.F.Out,"<span id=\"first_click_date\"></span>");
if (UsrFigures.NumDays > 0)
fprintf (Gbl.F.Out,"&nbsp;(%d&nbsp;%s)",
UsrFigures.NumDays,
(UsrFigures.NumDays == 1) ? Txt_day :
Txt_days);
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateTimeFromUTC('first_click_time',%ld,'&nbsp;');"
"writeLocalDateFromUTC('first_click_date',%ld,'&nbsp;');"
"</script>",
(long) UsrFigures.FirstClickTimeUTC);
}
@ -408,12 +402,20 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Button to fetch and store first click time *****/
Act_FormStart (ActCal1stClkTim);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormBold[Gbl.Prefs.Theme]);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassForm[Gbl.Prefs.Theme]);
Lay_PutCalculateIconWithText (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
}
fprintf (Gbl.F.Out,"</li>");
/***** End of right list *****/
fprintf (Gbl.F.Out,"</ul>"
"</div>");
/***** Start left list *****/
fprintf (Gbl.F.Out,"<div id=\"prf_fig_right_container\">"
"<ul class=\"PRF_FIG_LIST DAT\">");
UsrIsBannedFromRanking = Usr_CheckIfUsrBanned (UsrDat->UsrCod);
if (!UsrIsBannedFromRanking)
{
@ -448,7 +450,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Button to fetch and store number of clicks *****/
Act_FormStart (ActCalNumClk);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormBold[Gbl.Prefs.Theme]);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassForm[Gbl.Prefs.Theme]);
Lay_PutCalculateIconWithText (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
}
@ -483,7 +485,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Button to fetch and store number of file views *****/
Act_FormStart (ActCalNumFilVie);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormBold[Gbl.Prefs.Theme]);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassForm[Gbl.Prefs.Theme]);
Lay_PutCalculateIconWithText (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
}
@ -518,7 +520,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Button to fetch and store number of forum posts *****/
Act_FormStart (ActCalNumForPst);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormBold[Gbl.Prefs.Theme]);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassForm[Gbl.Prefs.Theme]);
Lay_PutCalculateIconWithText (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
}
@ -553,14 +555,14 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Button to fetch and store number of messages sent *****/
Act_FormStart (ActCalNumMsgSnt);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassFormBold[Gbl.Prefs.Theme]);
Act_LinkFormSubmitAnimated (Txt_Calculate,The_ClassForm[Gbl.Prefs.Theme]);
Lay_PutCalculateIconWithText (Txt_Calculate,Txt_Calculate);
Act_FormEnd ();
}
fprintf (Gbl.F.Out,"</li>");
}
/***** End of table *****/
/***** End of right list *****/
fprintf (Gbl.F.Out,"</ul>"
"</div>");
}

View File

@ -2219,7 +2219,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_LinkFormSubmit (Txt_View_record_for_this_course,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/card16x16.gif\""
"<img src=\"%s/card64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"
@ -2245,7 +2245,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_LinkFormSubmit (Txt_Admin_user,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/config16x16.gif\""
"<img src=\"%s/config64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"
@ -2273,7 +2273,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_LinkFormSubmit (Txt_View_works,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/folder16x16.gif\""
"<img src=\"%s/folder64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"
@ -2295,7 +2295,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_LinkFormSubmit (Txt_See_exams,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/file16x16.gif\""
"<img src=\"%s/file64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"
@ -2323,7 +2323,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_LinkFormSubmit (Txt_Attendance,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/rollcall16x16.gif\""
"<img src=\"%s/rollcall64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"
@ -2366,7 +2366,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_LinkFormSubmit (Txt_Unfollow,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/unfollow16x16.gif\""
"<img src=\"%s/unfollow64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"
@ -2383,7 +2383,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_LinkFormSubmit (Txt_Follow,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/follow16x16.gif\""
"<img src=\"%s/follow64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</div>"

View File

@ -320,7 +320,7 @@ static void Tst_PutFormToSeeResultsOfUsersTests (void)
Act_PutContextualLink (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT ? ActReqSeeMyTstExa :
ActReqSeeUsrTstExa,
NULL,"file16x16.gif",Txt_Results_tests);
NULL,"file64x64.gif",Txt_Results_tests);
}
/*****************************************************************************/
@ -6348,7 +6348,7 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
Act_FormStart (Gbl.CurrentAct == ActSeeMyTstExa ? ActSeeOneTstExaMe :
ActSeeOneTstExaOth);
Tst_PutParamTstCod (TstCod);
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/file16x16.gif\""
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/file64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16B\" />",
Gbl.Prefs.IconsURL,

View File

@ -269,7 +269,7 @@ void TsI_CreateXML (unsigned long NumRows,MYSQL_RES *mysql_res)
Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_FILE_BROWSER_TMP,
Gbl.FileBrowser.TmpPubDir,
The_ClassFormBold[Gbl.Prefs.Theme]);
Lay_PutIconWithText ("file16x16.gif",
Lay_PutIconWithText ("file64x64.gif",
Txt_XML_file,
Txt_XML_file);
}

View File

@ -36901,15 +36901,15 @@ const char *Txt_Student_comment =
const char *Txt_Students_ABBREVIATION = // Abbreviation of "Students"
#if L==1
"Estud.";
"Estu.";
#elif L==2
"Stud.";
#elif L==3
"Stud.";
#elif L==4
"Estud.";
"Estu.";
#elif L==5
"&Eacute;tud.";
"&Eacute;tu.";
#elif L==6
"Temi.";
#elif L==7
@ -36922,15 +36922,15 @@ const char *Txt_Students_ABBREVIATION = // Abbreviation of "Students"
const char *Txt_students_ABBREVIATION = // Abbreviation of "students"
#if L==1
"estud.";
"estu.";
#elif L==2
"Stud.";
#elif L==3
"stud.";
#elif L==4
"estud.";
"estu.";
#elif L==5
"&eacute;tud.";
"&eacute;tu.";
#elif L==6
"Temi.";
#elif L==7
@ -38261,17 +38261,17 @@ const char *Txt_Teachers_ABBREVIATION = // Abbreviation of "Teachers"
#elif L==2
"Lehr.";
#elif L==3
"Teach.";
"Teac.";
#elif L==4
"Prof.";
#elif L==5
"Enseig.";
"Ense.";
#elif L==6
"Prof."; // Okoteve traducción
#elif L==7
"Prof.";
#elif L==8
"Naucz.";
"Nauc.";
#elif L==9
"Prof.";
#endif
@ -38282,17 +38282,17 @@ const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
#elif L==2
"Lehr.";
#elif L==3
"teach.";
"teac.";
#elif L==4
"prof.";
#elif L==5
"enseig.";
"ense.";
#elif L==6
"prof."; // Okoteve traducción
#elif L==7
"prof.";
#elif L==8
"naucz.";
"nauc.";
#elif L==9
"prof.";
#endif