From 1f43e35c9d03a1177c572b30a5953a0548537ea6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sat, 21 Mar 2015 19:55:00 +0100 Subject: [PATCH] Version 14.99 --- css/swad_desktop.css | 29 +++- css/swad_mobile.css | 27 +++- icon/500px320x320.png | Bin 0 -> 10712 bytes icon/click64x64.gif | Bin 0 -> 304 bytes icon/clock64x64.gif | Bin 0 -> 492 bytes icon/deviantart320x320.png | Bin 0 -> 4651 bytes icon/download64x64.gif | Bin 0 -> 361 bytes icon/follow320x320.png | Bin 0 -> 8179 bytes icon/forum64x64.gif | Bin 0 -> 365 bytes icon/iconset/awesome/action64x64/adm64x64.gif | Bin 0 -> 474 bytes .../iconset/awesome/action64x64/adms64x64.gif | Bin 0 -> 702 bytes .../awesome/action64x64/click64x64.gif | Bin 0 -> 304 bytes .../awesome/action64x64/deg_alt64x64.gif | Bin 433 -> 0 bytes icon/iconset/awesome/action64x64/tch64x64.gif | Bin 0 -> 555 bytes .../iconset/awesome/action64x64/tchs64x64.gif | Bin 0 -> 776 bytes .../iconset/awesome/action64x64/usrs64x64.gif | Bin 0 -> 578 bytes icon/iconset/nuvola/action64x64/adm64x64.gif | Bin 0 -> 2987 bytes icon/iconset/nuvola/action64x64/adms64x64.gif | Bin 0 -> 1960 bytes .../iconset/nuvola/action64x64/click64x64.gif | Bin 0 -> 2910 bytes icon/iconset/nuvola/action64x64/tch64x64.gif | Bin 0 -> 2987 bytes icon/iconset/nuvola/action64x64/tchs64x64.gif | Bin 0 -> 2987 bytes icon/iconset/nuvola/action64x64/usrs64x64.gif | Bin 0 -> 2990 bytes icon/msg64x64.gif | Bin 0 -> 441 bytes icon/std64x64.gif | Bin 0 -> 371 bytes icon/tch64x64.gif | Bin 0 -> 555 bytes icon/unfollow320x320.png | Bin 0 -> 7043 bytes icon/usr64x64.gif | Bin 0 -> 578 bytes swad_changelog.h | 4 +- swad_follow.c | 138 ++++++++++------- swad_profile.c | 137 ++++++++-------- swad_record.c | 146 ++++++++++-------- swad_record.h | 12 +- 32 files changed, 294 insertions(+), 199 deletions(-) create mode 100644 icon/500px320x320.png create mode 100644 icon/click64x64.gif create mode 100644 icon/clock64x64.gif create mode 100644 icon/deviantart320x320.png create mode 100644 icon/download64x64.gif create mode 100644 icon/follow320x320.png create mode 100644 icon/forum64x64.gif create mode 100644 icon/iconset/awesome/action64x64/adm64x64.gif create mode 100644 icon/iconset/awesome/action64x64/adms64x64.gif create mode 100644 icon/iconset/awesome/action64x64/click64x64.gif delete mode 100644 icon/iconset/awesome/action64x64/deg_alt64x64.gif create mode 100644 icon/iconset/awesome/action64x64/tch64x64.gif create mode 100644 icon/iconset/awesome/action64x64/tchs64x64.gif create mode 100644 icon/iconset/awesome/action64x64/usrs64x64.gif create mode 100644 icon/iconset/nuvola/action64x64/adm64x64.gif create mode 100644 icon/iconset/nuvola/action64x64/adms64x64.gif create mode 100644 icon/iconset/nuvola/action64x64/click64x64.gif create mode 100644 icon/iconset/nuvola/action64x64/tch64x64.gif create mode 100644 icon/iconset/nuvola/action64x64/tchs64x64.gif create mode 100644 icon/iconset/nuvola/action64x64/usrs64x64.gif create mode 100644 icon/msg64x64.gif create mode 100644 icon/std64x64.gif create mode 100644 icon/tch64x64.gif create mode 100644 icon/unfollow320x320.png create mode 100644 icon/usr64x64.gif diff --git a/css/swad_desktop.css b/css/swad_desktop.css index 05e742ea7..2f1142808 100644 --- a/css/swad_desktop.css +++ b/css/swad_desktop.css @@ -271,7 +271,7 @@ hr.YELLOW_SEPARA {height:0; border-top:0; border-bottom:#BD4815 dotted 1px;} /********************************* Frame 10 **********************************/ .FRAME10 { - margin:4px 0; + margin:0; padding:0; background-color:white; border-radius:4px; @@ -732,7 +732,7 @@ a:hover img.CENTRE_PHOTO_SHOW .HEAD_REC {font-family:Georgia, "DejaVu LGC Serif", "Bitstream Vera Serif", serif; color:#808080; font-size:10pt;} .HEAD_REC_SMALL {font-family:Georgia, "DejaVu LGC Serif", "Bitstream Vera Serif", serif; color:#808080; font-size:9pt;} .REC_NAME {color:#808080; font-size:16pt; font-weight:bold;} -.REC_NICK {color:#808080; font-size:14pt; font-weight:bold;} +.REC_NICK {color:#808080; font-size:12pt; font-weight:bold;} .DAT_REC {color:#404040; font-size:9pt; line-height:110%;} .DAT_REC_SMALL {color:#808080; font-size:9pt; line-height:110%;} .DAT_REC_SMALL_BOLD {color:#202020; font-size:9pt; line-height:110%;} @@ -823,10 +823,33 @@ a:hover img.CENTRE_PHOTO_SHOW /***************************** Public user's profile *************************/ .FOLLOW { - color:#808080; + color:#C0C0C0; font-size:24pt; font-weight:bold; } +.FOLLOW_B + { + color:#404040; + font-size:24pt; + font-weight:bold; + } +.PRF_ICON_CONTAINER + { + width:20px; + } +.PRF_ICON + { + margin:auto; + display:block; + width:16px; + height:16px; + opacity:0.33; + } +.PRF_FIG + { + text-align:left; + vertical-align:middle; + } .CON {color:#B8D070; font-size:9pt; line-height:110%; white-space:nowrap;} .CON_CRS {color:#398000; font-size:9pt; line-height:110%; white-space:nowrap;} diff --git a/css/swad_mobile.css b/css/swad_mobile.css index e0f9f343c..97aeaae41 100644 --- a/css/swad_mobile.css +++ b/css/swad_mobile.css @@ -235,7 +235,7 @@ p {margin:0;} /********************************* Frame 10 **********************************/ .FRAME10 { - margin:4px 0; + margin:0; padding:0; background-color:white; border-radius:8px; @@ -636,10 +636,33 @@ a:hover img.CENTRE_PHOTO_SHOW /***************************** Public user's profile *************************/ .FOLLOW { - color:#808080; + color:#C0C0C0; font-size:28pt; font-weight:bold; } +.FOLLOW_B + { + color:#000000; + font-size:28pt; + font-weight:bold; + } +.PRF_ICON_CONTAINER + { + width:20px; + } +.PRF_ICON + { + margin:auto; + display:block; + width:16px; + height:16px; + opacity:0.33; + } +.PRF_FIG + { + text-align:left; + vertical-align:middle; + } .CON {color:#B8D070; font-size:9pt; line-height:110%; white-space:nowrap;} .CON_CRS {color:#398000; font-size:9pt; line-height:110%; white-space:nowrap;} diff --git a/icon/500px320x320.png b/icon/500px320x320.png new file mode 100644 index 0000000000000000000000000000000000000000..0045a4f0ae831650cb3ad5213a049499c1a01a4a GIT binary patch literal 10712 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 UEQ;2{sZ1nEQCX29VLjjf0${1Hg8%>k literal 0 HcmV?d00001 diff --git a/icon/click64x64.gif b/icon/click64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..5cdf07fbbfcbf1705b7290b540e3a19f563afe11 GIT binary patch literal 304 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 OIH0VGOr;b!_M)j$~<` zXsWJk>%K6y7zAM7cQ7DJye$Qsa40nNe3C|x$ZP@(F^0fNZ4Ml*X?4pas1Dq4Q*j!I z&%{D0fNl#1BextU2(jmQxW|m|Lpch4f&dI0gMtAYV26E27>tM+3y^{t29$kd7k8L) ze-@p1UKgQrb)=1Ox>PAW#4g z2|6Z;kaS>BWt2igR2)6@<>b>u4eg3t>`;RUt&JPYa0EDz4 LoJsR#1ONa#+D($g literal 0 HcmV?d00001 diff --git a/icon/iconset/awesome/action64x64/adm64x64.gif b/icon/iconset/awesome/action64x64/adm64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..f97bb87f230a67845d6a19dfc47402562a541f76 GIT binary patch literal 474 zcmV<00VV!NNk%w1VL$*t0J8u9KtMoBN=i{tQC?nNV`F1%Y;1LPb$fezgoK2TkB^(1 zo2RFzwY9bX|Np_k!OP3bA^8LW000dDEC2ui06+jh000F3u*pfQy*TU5yZ>M)j$~<` zXsWJk>%K6j6aoMQg%X#B?f(G74#Wrmk2l6phHL^B%M8QmR7NdEDl%}b^t4T3R|2Mv z8;Y`1*Da`m)`6pZQ3JN_u&|LkpkK5<=Xf&gq?hX7{{2Z9HU4Rdc?l2dqAmvowv z4Mku9oly%0Mq(0=PLUHm0R~Vnpg^$_3I;U*0tSf<3zSJM2~HqR2`iXQ4jv9vqb0yV zi3kD(1_m_8wp5lU2wJEO13v>4Urq=pV1N^I6}e_6hFTSvqh-A!1ZB$M)j$~>@hBb%fG`D~tC<+!| zz_|hm%~EgJ0K%Frf3pXb2ci&Q2@DDraCmlT1``ehRtOY*h8$#DHVJ3~4-#LJ993Xl zkzfuDoM2344U}*I0hgaiW*Lf7Mx&{Ou}(`Ltt>V)sk{=qVIz7p1Uy>5IRX^Cp3k5n1fyB*NdHZFr{KP;a8WG6-E6bBmt+B0tzloSjbSS1P2P7CZVQa3jwPY zkUFu1fq_;X;UrKc!bm~_iftP_xaF$Z5CI1yN}!lTZ=M-H+KLsRPQrt?js^gtu$ILD zYj2*tupn~Sg}t5G?YR?>oy zDV#zY=WMu%NHyVQjtQWhNdJ%u+ghpQm2EddDmKui7j8t{6T$WIdO kBs{R9k4fy8#Q{U=7ytoA!sg_YP(~@`lvGwZK?DE*J2+1!qW}N^ literal 0 HcmV?d00001 diff --git a/icon/iconset/awesome/action64x64/click64x64.gif b/icon/iconset/awesome/action64x64/click64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..5cdf07fbbfcbf1705b7290b540e3a19f563afe11 GIT binary patch literal 304 zcmV-00nh$NNk%w1VL$*t0J8u9KtMoCOG{HzQ(IeGV`F1$Yio6Nb%TS0jEsz#nVF-b zqpPc{va+(gyuAPa|G~k*A^8LW000gEEC2ui06+jh000Et(8)=wy*TU5yZ>M)j$~<` zXsWJk>%MR-A94#A^$Og1x&wvY=?4^+hya3dgiJ0&O~By!iAt#*>lLff0tDQQ_Zz;9 z0fBPmj8;$BZ8tn#o}(LeJKz!4@901H%xI|@&Vi%X6>2}Y5ULU2lQaBdEB zG-^={1yPzrgbz`Sc|U{_0!?76hZG7?fLuSS6ah^^eE^dd2c&($W=#lT$r+R3q@<*&sj0TM zw!y)_|NsBV$;i>s&DPe|A^8LW000aCEC2ui06+jh000F3kjY7_y*TU5yZ>M)j$~<` zXsWJk>w3rWwgq4V#f;W>pX;FquSdiIJ;S2%cf2H(P-AmKh+2tE-Sf)LvbNl?R0S5B zy`!>uJr1eaaJ1$PueULDaUfvF;`;;$3m6LrRdxmx3UvVn4j>K&d~ga9d02xO4x0}d z4VO0oOb3%z0SOlh2Ln(929*{G0$hz2RsygT2&`rU2o?&ZMKTvq0l$ieb_AId3Bq?3 zJqI@xvVBAXs1!HE8a)ySOp@5f$P5ME8{ieQ<)$L+-0xTM)zb7<_BOWpQTqV;`BMT= z;6Ne;@f}1MLf(XhMH0?~cn^d_30wpW7(k$-#{pjg-05pr@nMev1`sq5(Exz~k^D%; zq(H#eqZJNz5s)~A#KoR60|NC~a;U|kMm_vY%3&$fZ%Cg)ohh|x)T+g(s7Z bF_a2B$A%oT&bFal%eJlCw{YXejQ{{Umk7Aa diff --git a/icon/iconset/awesome/action64x64/tch64x64.gif b/icon/iconset/awesome/action64x64/tch64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..dd04a0f4a123cc91f390826c78aa7f14b2c80dba GIT binary patch literal 555 zcmV+`0@VFSNk%w1VL$*t0J8u9KtMoBN=i~vQe0eIVq#)!Y;1RTcY}k2jEsz$nwqAj zrna`W|NsBP!^6tT%GK4?A^8LW000aCEC2ui06+jh000F3kjY7_y*TU5yZ>NVHHM*x zXu1>u;JU<_&Y4oYcrGLkJwFLTZb%d$8a|H$As{-Rfx{wsX&hS5tky84GKAW&*vnX4 z#b{hXMwU1Z>1=@8z9<0ExEfiye_b;0K)*F#>c0M0J6cZ zcd^F1r>ibEtd@nv*p$2r2;&dMdZxS-z-hwi6$^r0?iBE8-1BAYP66`i3I;9Ejmi>f z0;xIos4UP|i9!McvIG>M#Xx~Res#VL0r3O@nQ7Th_;8r?q#q52IA|S^Sb~K|2^xpA z^O5R_KxHr}m?Kh7nz}X82fa#(j3>V~}v`!X>kesE&5ZidaRwgWf t^^>z8_AWz{d4})dLuAhoj+}^KA8#%M)j$~?`W_*pJ0nZpa&q(E;}OY2O1~=0)(TYC_IUR#B}mV+=zxxk~c^+ zC|$yJ4Lxink1CP5Y4ikdh6C|s`vV4N6jnSPV*r8;2Sa|1N`OZUJ&_qi4-9IKnrjk0 z1sp_)28^4U1(7`ips9H&rE7o-6^8_?SP7R53IG8IuRH~U6AFhcpBu$I0un!X`Wsa6rKVSqxSn zu=r~k0~anA5TjY70y<8T0Qf7_NmGS&Y;3Y{qHy6Rm=aE2`9!bJuK-0I<&a=i2{~m= z0epI}X<}At8-azTvC9;NMzY3mR48Gnl3FVL$XbA)?*qH{&Nfn&H?Resjj*QOWK-}J z0)6{RSnx|0*;0hLIy#kWaw$r2q^`jyq3xOhohvLrOe6r*3J;jB`H1w%)}2Br*fq;w z2c!wLmAvNCut$#7ttllK#X`U-3Z{9umJl4rh`CBYtl4^k0p&F*HT)Fbof#WCDhS9B zvK9NI@(4#$klk|vVBRDWS0GiPYjzXvUALhc3&S}AQ3xY}R{;w?If7Sy22yZMN&yN; z!g%scz!7(V@etkz6|OW03#7%Q$$=ik2hIfi71juTABe_=Fg;9w;Tk1{;NKNYd`F-J zA&NKxYuHGj;zS)v2caf5(T5k2Pb_IvP&HCHr3kMyKo1WN+{gwAJMtJ^G(id}LXsUN zBSR@Ldf??10(2E;DIdld)-Ml|0Og%nlqVyfO5}J#3iJWmf*a)}s_3GOHtOi3kY*48 G0028I={xHH literal 0 HcmV?d00001 diff --git a/icon/iconset/awesome/action64x64/usrs64x64.gif b/icon/iconset/awesome/action64x64/usrs64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6f962072a3032b0712d96c560bc8a57d7bf2a9d GIT binary patch literal 578 zcmV-I0=@l5Nk%w1VL$*t0J8u9KtMoBN=i~vQe0eIWMpJ(Yio3Lbb5Mvf`WpJi;I(! zlboEKq@<*(s;aiOw*UYCA^8LW000jFEC2ui06+jh000F3@X1N5y*TU5yZ>M)j$~%PSf8or8m3@9+u=ZA1_6=rh%rI1jXEn%+7~E8r)3YPp$!c2yva z$(%FGd>*9F1dF1e0tgHYi`uY0eKb+ zH?A10w8$9_fi{;FM*;{94h{?{n9BfV4+9C}wmff>vW!}dr_hzB8Rf*5ZM=!0Y zdXQzz%$Q8>De~m2B?X653P9^uiJ*i9BwJDFG{vQbomTE$Z~*j(g^WUMJz!8kOhuZ4 z0NF7>(4Y{b!K&J75YI*cqYLPy!b5@Mjhkj!Fa&|M$Dd|U(3-FdrGQ`w43Y}bfm4Wp z0tXDpJ#*7U&3uSnU{)iQMBmL*4u7Z$8VWTLrR|lNm|9DT&#jM$=8!k`k-b1{gJh$- zFz?<+Oojjs#VH8lOe!BoF2wi;=0ZG%sEr)=2dK~im{8pNw1~FEosUr2ov{RAtqE8+ Q&%V9;_weJ(FA)I%JHCbZrT_o{ literal 0 HcmV?d00001 diff --git a/icon/iconset/nuvola/action64x64/adm64x64.gif b/icon/iconset/nuvola/action64x64/adm64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b95c3298e7e8e97d8a4f4854145c1f0e08ea90d GIT binary patch literal 2987 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 literal 0 HcmV?d00001 diff --git a/icon/iconset/nuvola/action64x64/adms64x64.gif b/icon/iconset/nuvola/action64x64/adms64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..89f43234f059486ac4bb1f65327aa79684ab2643 GIT binary patch literal 1960 zcmV;Z2Uqwu=D^|rQUfDEa$~kc2Fmm!nSf5H+q+M>P zeO-oTbf-su?mCDwK9Mm*nlMeMGFrMbY@{<$j8tBaVP2JBVwz-Qt65>ONoS{IXSHa3 zziVE=Gib{=bIVG0(MWyMQ+&i?IfM9kiivxef_{#_exrj|f!9oh=S-UWP=)GGq5N5_ z{$8;EZi~@yp6zL^{AIHKb*Jfey8fRgEwwKxn{_*`Y9OnAE2DfhnR`>UNKCL=bE11t zsA6riZF#^L7S{p-&MpGWI5^)eG3go?{ty8AA0Oj9Jls=1%tl4lN=x2URNH)2(qwGw zSXl8yMEO%w;d*-i|NnuUKd*%(qmMeWgebXj;)P`u#b?akdvvHn6-(gmW;KIm9n3+ zlcBn+nWv|xrKY*7wYk2ptiHIfx3{;7kHw#`)P$kuf~xU@y84%|;ghrOs;|VSxZSe5 z)ULbdmd1>g$&;VofSuQ&qT7h9+nTP~ps~-cvdFiy*{iwPw5H*St>coj<(seIvAgG` zg2dXG&fA8<{g%l6p4RD@(f_Hz>ZZu{uHEUT)Bd{1=D5)Ax7q!=;r+memE4$v+@6}q ztA)g^mCU!B)Ut%juDZ&#sL8gl+NYr8jg8@)nDw`Xe`^-KO>3yZ_*;{^YpA!oteT)5g`t+0M$?$EQ4F>GtO5 z^8Wnw=J)ycA^8LW003nGEC2ui06+jh000R70Lus*NU)&6g9sBUT*$DY!-o(fN}Ncs zqQ#3CGZL&v=F68q(KL!Acns0KeD}yD+Cpul#y{fx$;3x)+&4qWTwa70&fmX(`Dl&{ z=gkj2ofZF_lo_<W(tT%UGb8>kImh=00y>)O?uwnTyYz&ZR-(;;r$yskYI2+$IB zlpXqN6etm*L!1HiVFQF+XojMG0Z~V%4|YclJ{vZ!QjA$8$X^rIdkWnGHJ>Ly&R|M_!0AUb%=@GXca?C9UpM28YmtR3Q6ywW22KJ*57ga>@Q$PK% zL(C|q6vUu<54IN}e9u)#T|qz)^NT$4aF~u4Vt~=lK0p#kjDqK_xE^~EDhFS5^;uYu zIYI0~Ofkja*i0B&G$Bthz~r*aFTv!XB6=(u2cdfsHYXo_P0lzFDWQZCOfXXxQ%M(E zbTLdZyxl+By~tk*lk^IFZE^M%?h~ zutQAnnn4@v@Pn|!cESM>%ntDb29P{!PzE&k;KL8o4q>jgHE2JPuAcO?cSs!PRz`_X#iF)LjFRD2oqZbx* z&Lpv<5)U6sq;Wbediv`fHev>PelEh~p z!4ZTKEyzPHYJrVxc+edRR3J96aSK+=!T=96R0JV}KMF2SAd;AY9ZX1zTHNA>B)nlQ zXfcaf*uemaz6y;bRA2`@rN#C>c{Z3UCY#VkQP_G7Nb%6lW?KXgL>lDH?b+ zB1t|VTP!16HzaB*EpIs}bt)!$IW=cDICVK2M?o4_MjupA9%M!*Oh_e5S}9pbDp*u7 zR82QoRwQIjEM;3Ictt93QZ-^qJYrcnbVV|DT0&l1MRih1XJu1tYgun_RCHupcXVKV zYh`oNx4K+yhU@3 zMP!LqqfDp|)k zSU=WM|av+XV+tV#A0^bWPjg#e&JYO ziH2&0gkhYTcZr96l7oAclw+=~Uy0vQj^nti8Xewzs#MrQC?E?5noXuf6D>-+-ycji<$`ti`gi!n?lJzp3MjtK^fZ^@X+O zoVW6cw)U61=%u~&rH{w{y2ix1$lJfw!LQT%zu^DanwikCs_vGG^r@5cxTekhiO>77 z^vSp2|Ej{n!^+Il#?{Hm($dz=%hJ%#*xA{~+4$G>&e7)m_}9tv@6+MrEzkZCr5b+gUt{CzyXF0QKndl0!4!Y1qVRClb=zW5ilZTc z8{7h?Q3=5(VeH7YeX?VBd*H4B3@-kRfrPD{`Sa+}t5YY766z4v2Ku2upF+ZS=pyT9 zmyXuJVFffG-e%hrxZZ&XCOFG1v8a(i2;zw227OvEVP8VD=%*cj=nx}NGA#^n!4qSg zaRwrZG{Q!p4J8B)|kAfmo=JGWltT&vxmgLkd><+%SLzPh8;S z1sgQ6#fgwmBFmLn%Cg{$F~)LZ0$n^Jiz7ZJ1dT7~Y)51|=+yE_J*Qw2Km!&qAiw|u z5Fo&wUTpzKBb2}bODrt1*y4*WvN4D(w%l?^nFlp94kz@Sa}GL~)=~~A&Nvf}B?AO7 zKmjz+fe9u*@G!#!3?NX!6#j@%LMVeoQrpW9GaRJ>8I8=kC5$n~n5(W9_F9lWpzH(9Kf>-ajx*%kGY&uh z1pA3Q^AJ=mF1g^+OD~vsfPey4JmM{v;x;<&uI3W-X0ZIwtCPh4L_DlB&lI$;zq$O| ziw_bY5Jk7&+B$BokMe4e661^$?>_rPEHlja+@q`#8t>bSzaD4e!2u&1YO=z)8d7dS z?{K0lIZW5=bj?hYqbw3RSKG12|LW2K!IaEs^2tW4Owci)e50((QKwB#%j0}gL`?&2 z+{@Mf4$})B1IJ-#{-}Fo6}QzyLrPf-$NAj(E`HbOjN{1Vo02 zZq2H7;d&kSD6l_+Fe3sK;KCQUAO$HfK?4-1Kmrti6b4Ly1LVuW4>Yk0WV}Nl^WcGA zyikTXECNvet6-6qzLq}@9^``*FvFl!;Rr$if(>5S!W5d&1Px%I0t#>d0sz1O1`wbH z;5dalet;ANIKTlF&;S&y-~}H(LRQ+#RUnM$K@k378^f_jJG@b#Sg_&|icka`-arO1 zhye^S*uVn-V2M-EgBh9N0S;#10SN#P0S7q13cUw~E~sG;j0hzo%s|J2An^~gu!kyz zv&wb2QXAWdhAUXnhBt^I1`LS6Fb1Lzdd%Y;?m$K_bb*IC;GhN|_`m`X1Hk$)!9r9x zq8+yZnrepTGuU+HE8-xA3?QHcyJ$!+=@Cq0{2~u_a03oV5P}a-AOwr?U;`+C%5`|d zp7{R6=RLjQjabA13>5%C36g;kaxw!M$au{`j6nb<0Ad!~s1<{B2tGkDoZC-g-!<{1`Hs;1iPGR zNC`lJhuQ+CDAj2knt*@?1XZXBsVPZuYEoF}R27FHg9ZTL0+~XUAjV)oQIC4mE9F$D zhfstSFaQ9Le)S;3U;q;WaZ|Ha^{R(B1W(!O0%W|kAaUK%EJ}J-tmd^1JTpvS0)knlRg>8uqrh z6$Bf|5Q7Xnz)lT_00&Y~fB_7k1PurPX^o58 zLJ$B}gB8Lc0~Ac)0S#zC2}}Tk6AXX_#w~4ok;`28#`hGNKmZfWUdLj90t*509TsDT_ErT z1OU#E07DO~aK$U4agAbQ>vj>xIqp>c7Tawc-1D=Xh8_j z(1tdc*bs$igBqwHfg9xO6yv0a&QA_iW?(`GE@(jtgx-Q1=pYvt{;SfL&h(}`{pnDL IdO!dGI}u3%Hvj+t literal 0 HcmV?d00001 diff --git a/icon/iconset/nuvola/action64x64/tch64x64.gif b/icon/iconset/nuvola/action64x64/tch64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b95c3298e7e8e97d8a4f4854145c1f0e08ea90d GIT binary patch literal 2987 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 literal 0 HcmV?d00001 diff --git a/icon/iconset/nuvola/action64x64/tchs64x64.gif b/icon/iconset/nuvola/action64x64/tchs64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b95c3298e7e8e97d8a4f4854145c1f0e08ea90d GIT binary patch literal 2987 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 literal 0 HcmV?d00001 diff --git a/icon/iconset/nuvola/action64x64/usrs64x64.gif b/icon/iconset/nuvola/action64x64/usrs64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..ecf887e16fef1b0ad9a6a896509b7fef502d5d89 GIT binary patch literal 2990 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 literal 0 HcmV?d00001 diff --git a/icon/msg64x64.gif b/icon/msg64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..d96da85f1598a63d92a81b5e431b59268f6621cd GIT binary patch literal 441 zcmV;q0Y?5uNk%w1VL$*t0J8u9KtMoEO-)o(R9swKWo2b+YioCRcY=a~ii(Pql$4vB zo1&tktgNiEva-Cqy#N3IA^8LW000jFEC2ui06+jh000F3@X1N5y*TU5yZ>M)j$~<` zXsWJk>%MR-&)@;vc&_h!@8^NVX7DQ-k2^$WfowW`8RBy~HDIV%r{J3H76)9fcxS!X z#^@U(lST(LiMF`0Daf-*j`Z#rKQJ$V#NU8<}+ z$rC=Kj98x%4!Aqh5=E30aZigBtvc(U7`|mrM)j$~<` zXsWJk>%K6@7y$qT#S)i@?f-znE>r^=0gNHXaclw>6bCm2RWErzIukQ_IJ23X0k0|yPJqPkP~i`T4(E&r7}1Z2dlh}?3z6{$JQ5-NGX5J;uwsA|Aq^5>kzkp-0mMAX RoJq5$&6_xL>UNVHHM*x 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 literal 0 HcmV?d00001 diff --git a/icon/usr64x64.gif b/icon/usr64x64.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6f962072a3032b0712d96c560bc8a57d7bf2a9d GIT binary patch literal 578 zcmV-I0=@l5Nk%w1VL$*t0J8u9KtMoBN=i~vQe0eIWMpJ(Yio3Lbb5Mvf`WpJi;I(! zlboEKq@<*(s;aiOw*UYCA^8LW000jFEC2ui06+jh000F3@X1N5y*TU5yZ>M)j$~%PSf8or8m3@9+u=ZA1_6=rh%rI1jXEn%+7~E8r)3YPp$!c2yva z$(%FGd>*9F1dF1e0tgHYi`uY0eKb+ zH?A10w8$9_fi{;FM*;{94h{?{n9BfV4+9C}wmff>vW!}dr_hzB8Rf*5ZM=!0Y zdXQzz%$Q8>De~m2B?X653P9^uiJ*i9BwJDFG{vQbomTE$Z~*j(g^WUMJz!8kOhuZ4 z0NF7>(4Y{b!K&J75YI*cqYLPy!b5@Mjhkj!Fa&|M$Dd|U(3-FdrGQ`w43Y}bfm4Wp z0tXDpJ#*7U&3uSnU{)iQMBmL*4u7Z$8VWTLrR|lNm|9DT&#jM$=8!k`k-b1{gJh$- zFz?<+Oojjs#VH8lOe!BoF2wi;=0ZG%sEr)=2dK~im{8pNw1~FEosUr2ov{RAtqE8+ Q&%V9;_weJ(FA)I%JHCbZrT_o{ literal 0 HcmV?d00001 diff --git a/swad_changelog.h b/swad_changelog.h index 2daae2c9c..5d6ce738c 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -103,11 +103,13 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 14.98.5 (2015/03/21)" +#define Log_PLATFORM_VERSION "SWAD 14.99 (2015/03/21)" // 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 14.99: Mar 21, 2015 Icons instead of text in user's profile. + Lot of changes in layout of user's profile. (183519 lines) Version 14.98.5: Mar 21, 2015 New icons for some options. (183431 lines) Version 14.98.4: Mar 20, 2015 Fixed bugs in marks. (183430 lines) Version 14.98.3: Mar 19, 2015 Changes in user's profile to speedup page generation. (183397 lines) diff --git a/swad_follow.c b/swad_follow.c index f54f9e173..606b00c32 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -42,7 +42,7 @@ /***************************** Private constants *****************************/ /*****************************************************************************/ -#define Fol_NUM_COLUMNS_FOLLOW 3 +#define Fol_NUM_COLUMNS_FOLLOW 5 /*****************************************************************************/ /****************************** Internal types *******************************/ @@ -62,6 +62,10 @@ extern struct Globals Gbl; /***************************** Private prototypes ****************************/ /*****************************************************************************/ +static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat, + unsigned NumUsrs, + Act_Action_t Action, + const char *Title); static unsigned Fol_GetNumFollowing (long UsrCod); static unsigned Fol_GetNumFollowers (long UsrCod); static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat); @@ -90,69 +94,87 @@ bool Fol_CheckUsrIsFollowerOf (long FollowerCod,long FollowedCod) void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat) { - extern const char *The_ClassFormul[The_NUM_THEMES]; extern const char *Txt_Following; extern const char *Txt_Followers; - unsigned Following = Fol_GetNumFollowing (UsrDat->UsrCod); - unsigned Followers = Fol_GetNumFollowers (UsrDat->UsrCod); /***** Start table *****/ - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"
" ""); /***** Followed users *****/ - fprintf (Gbl.F.Out,"", - The_ClassFormul[Gbl.Prefs.Theme], - Txt_Following); + Fol_ShowNumberOfFollowingOrFollowers (UsrDat, + Fol_GetNumFollowing (UsrDat->UsrCod), + ActSeeFlg,Txt_Following); /***** Followers *****/ - fprintf (Gbl.F.Out,"", - The_ClassFormul[Gbl.Prefs.Theme], - Txt_Followers); + Fol_ShowNumberOfFollowingOrFollowers (UsrDat, + Fol_GetNumFollowers (UsrDat->UsrCod), + ActSeeFlr,Txt_Followers); /***** End table *****/ fprintf (Gbl.F.Out,"" "
" - "
"); - if (Following) - { - /* Form to list followed users */ - Act_FormStart (ActSeeFlg); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); - Act_LinkFormSubmit (Txt_Following,"FOLLOW"); - } - fprintf (Gbl.F.Out,"%u",Following); - if (Following) - { - fprintf (Gbl.F.Out,""); - Act_FormEnd (); - } - fprintf (Gbl.F.Out,"
" - "
" - "%s
" - "
" - "
"); - if (Followers) - { - /* Form to list followers */ - Act_FormStart (ActSeeFlr); - Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); - Act_LinkFormSubmit (Txt_Followers,"FOLLOW"); - } - fprintf (Gbl.F.Out,"%u",Followers); - if (Followers) - { - fprintf (Gbl.F.Out,""); - Act_FormEnd (); - } - fprintf (Gbl.F.Out,"
" - "
" - "%s
" - "
"); } +/*****************************************************************************/ +/**************** Show following and followers of a user *********************/ +/*****************************************************************************/ + +static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat, + unsigned NumUsrs, + Act_Action_t Action, + const char *Title) + { + extern const char *The_ClassFormul[The_NUM_THEMES]; + extern const char *The_ClassFormulB[The_NUM_THEMES]; + + + fprintf (Gbl.F.Out,""); + /* Number */ + fprintf (Gbl.F.Out,"
"); + + /* Text */ + fprintf (Gbl.F.Out,"
", + (Gbl.CurrentAct == Action) ? The_ClassFormulB[Gbl.Prefs.Theme] : + The_ClassFormul[Gbl.Prefs.Theme]); + if (NumUsrs) + { + /* Form to list followed users */ + Act_FormStart (Action); + Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); + Act_LinkFormSubmit (Title, + (Gbl.CurrentAct == Action) ? The_ClassFormulB[Gbl.Prefs.Theme] : + The_ClassFormul[Gbl.Prefs.Theme]); + } + fprintf (Gbl.F.Out,"%s",Title); + if (NumUsrs) + { + fprintf (Gbl.F.Out,""); + Act_FormEnd (); + } + fprintf (Gbl.F.Out,"
" + ""); + } + /*****************************************************************************/ /*************************** Get number of followed **************************/ /*****************************************************************************/ @@ -213,7 +235,8 @@ void Fol_ListFollowing (void) Usr_UsrDataConstructor (&UsrDat); /***** Start listing *****/ - Lay_StartRoundFrameTable10 (NULL,2,Txt_Following); + fprintf (Gbl.F.Out,""); for (NumUsr = 0; NumUsr < NumUsrs; @@ -236,7 +259,7 @@ void Fol_ListFollowing (void) } /***** End listing *****/ - Lay_EndRoundFrameTable10 (); + fprintf (Gbl.F.Out,"
"); /***** Free memory used for user's data *****/ Usr_UsrDataDestructor (&UsrDat); @@ -284,7 +307,8 @@ void Fol_ListFollowers (void) Usr_UsrDataConstructor (&UsrDat); /***** Start listing *****/ - Lay_StartRoundFrameTable10 (NULL,2,Txt_Followers); + fprintf (Gbl.F.Out,""); for (NumUsr = 0; NumUsr < NumUsrs; @@ -307,7 +331,7 @@ void Fol_ListFollowers (void) } /***** End listing *****/ - Lay_EndRoundFrameTable10 (); + fprintf (Gbl.F.Out,"
"); /***** Free memory used for user's data *****/ Usr_UsrDataDestructor (&UsrDat); @@ -337,7 +361,7 @@ static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat) bool Visible = Pri_ShowIsAllowed (UsrDat->ProfileVisibility,UsrDat->UsrCod); /***** Put form to follow / unfollow *****/ - fprintf (Gbl.F.Out,""); if (Visible && Gbl.Usrs.Me.Logged && @@ -350,7 +374,7 @@ static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat) Act_LinkFormSubmit (Txt_Unfollow,NULL); fprintf (Gbl.F.Out,"
" "\"%s\"" + " style=\"width:16px; height:16px;\" alt=\"%s\" />" "
" "", Gbl.Prefs.IconsURL, @@ -388,7 +412,7 @@ static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat) fprintf (Gbl.F.Out,""); /***** Put form to go to public profile *****/ - fprintf (Gbl.F.Out,""); if (Visible && UsrDat->Nickname[0]) @@ -396,7 +420,7 @@ static void Fol_ShowFollowedOrFollowed (const struct UsrData *UsrDat) Act_FormStart (ActSeePubPrf); Usr_PutParamOtherUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Txt_View_public_profile,"DAT"); - Usr_RestrictLengthAndWriteName (UsrDat,20); + Usr_RestrictLengthAndWriteName (UsrDat,8); fprintf (Gbl.F.Out,""); Act_FormEnd (); } diff --git a/swad_profile.c b/swad_profile.c index 3e728436a..b6f2b3024 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -232,22 +232,28 @@ bool Prf_ShowUserProfile (void) fprintf (Gbl.F.Out,"
" "" "" - "" "" + "" + "" + "" + "" "" "
"); /***** Common record *****/ Rec_ShowSharedUsrRecord (Rec_RECORD_PUBLIC,&Gbl.Usrs.Other.UsrDat); - /***** Show following and followers *****/ - Fol_ShowFollowingAndFollowers (&Gbl.Usrs.Other.UsrDat); - fprintf (Gbl.F.Out,""); + " vertical-align:top;\">"); /***** Show details of user's profile *****/ Prf_ShowDetailsUserProfile (&Gbl.Usrs.Other.UsrDat); + fprintf (Gbl.F.Out,"
"); + + /***** Show following and followers *****/ + Fol_ShowFollowingAndFollowers (&Gbl.Usrs.Other.UsrDat); + fprintf (Gbl.F.Out,"
" @@ -326,7 +332,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) // char StrTimeGenerationInMicroseconds[64]; /***** Start table *****/ - fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,"
"); /* if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) { @@ -341,18 +347,16 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) NumTchs = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_TEACHER,Rol_ROLE_TEACHER); NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_TEACHER,Rol_ROLE_STUDENT); fprintf (Gbl.F.Out,"" - "" - "" "", - The_ClassFormul[Gbl.Prefs.Theme], + Gbl.Prefs.IconsURL, Txt_ROLES_SINGUL_Abc[Rol_ROLE_TEACHER][UsrDat->Sex], NumCrssUsrIsTeacher, (NumCrssUsrIsTeacher == 1) ? Txt_course : @@ -367,18 +371,16 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) NumTchs = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_STUDENT,Rol_ROLE_TEACHER); NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_STUDENT,Rol_ROLE_STUDENT); fprintf (Gbl.F.Out,"" - "" - "" "", - The_ClassFormul[Gbl.Prefs.Theme], + Gbl.Prefs.IconsURL, Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][UsrDat->Sex], NumCrssUsrIsStudent, (NumCrssUsrIsStudent == 1) ? Txt_course : @@ -395,18 +397,16 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) else NumPublicFiles = 0; fprintf (Gbl.F.Out,"" - "" - "" "", - The_ClassFormul[Gbl.Prefs.Theme], + Gbl.Prefs.IconsURL, Txt_Files, NumFiles, (NumFiles == 1) ? Txt_file : @@ -418,20 +418,18 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) /* First click time */ fprintf (Gbl.F.Out,"" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" - "" diff --git a/swad_record.c b/swad_record.c index 17ed1fef0..8a57f88f7 100644 --- a/swad_record.c +++ b/swad_record.c @@ -1485,7 +1485,7 @@ void Rec_ShowCrsRecord (Rec_RecordViewType_t TypeOfView,struct UsrData *UsrDat) extern const char *The_ClassFormul[The_NUM_THEMES]; extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY]; extern const char *Txt_Send; - unsigned RecordWidth = Rec_WIDTH_SHARE_RECORD_BIG; + unsigned RecordWidth = Rec_RECORD_WIDTH_WIDE; char StrRecordWidth[10+1]; unsigned FrameWidth = 10; unsigned Col1Width = 140; @@ -2012,11 +2012,6 @@ void Rec_ShowCommonRecordUnmodifiable (struct UsrData *UsrDat) /*****************************************************************************/ // Show form or only data depending on TypeOfView -#define C1_WIDTH 52 -#define C2_WIDTH 144 -#define C3_WIDTH 210 -#define C4_WIDTH 154 - void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, struct UsrData *UsrDat) { @@ -2050,6 +2045,11 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, extern const char *Txt_Local_address; extern const char *Txt_Family_address; extern const char *Txt_USER_comments; + unsigned RecordWidth; + unsigned C1Width; + unsigned C2Width; + unsigned C3Width; + unsigned C4Width; char StrRecordWidth[10+1]; const char *ClassHead; const char *ClassForm; @@ -2172,15 +2172,33 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, break; } + switch (TypeOfView) + { + case Rec_RECORD_PUBLIC: + RecordWidth = Rec_RECORD_WIDTH_NARROW; + C1Width = Rec_C1_WIDTH_NARROW; + C2Width = Rec_C2_WIDTH_NARROW; + C3Width = Rec_C3_WIDTH_NARROW; + C4Width = Rec_C4_WIDTH_NARROW; + break; + default: + RecordWidth = Rec_RECORD_WIDTH_WIDE; + C1Width = Rec_C1_WIDTH_WIDE; + C2Width = Rec_C2_WIDTH_WIDE; + C3Width = Rec_C3_WIDTH_WIDE; + C4Width = Rec_C4_WIDTH_WIDE; + break; + } + /***** Start frame *****/ - sprintf (StrRecordWidth,"%upx",Rec_WIDTH_SHARE_RECORD_BIG); + sprintf (StrRecordWidth,"%upx",RecordWidth); Lay_StartRoundFrameTable10 (StrRecordWidth,2,NULL); /***** Institution *****/ fprintf (Gbl.F.Out,"" ""); @@ -2201,7 +2219,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL); fprintf (Gbl.F.Out,"" "" "", - C2_WIDTH + C3_WIDTH, + C2Width + C3Width, UsrDat->FirstName , UsrDat->Surname1, UsrDat->Surname2); @@ -2403,7 +2421,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, fprintf (Gbl.F.Out,"" "" "", - C2_WIDTH,C3_WIDTH,C4_WIDTH); + C2Width,C3Width,C4Width); /***** Country *****/ fprintf (Gbl.F.Out,"" "" @@ -2499,8 +2517,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "" "" "" ""); @@ -2537,7 +2555,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, fprintf (Gbl.F.Out,"" "" "" "", - ClassForm,C2_WIDTH, + ClassForm,C2Width, TypeOfView == Rec_MY_COMMON_RECORD_CHECK ? Txt_Sex : Txt_Role, - ClassData,C3_WIDTH + C4_WIDTH, + ClassData,C3Width + C4Width, TypeOfView == Rec_MY_COMMON_RECORD_CHECK ? Txt_SEX_SINGULAR_Abc[UsrDat->Sex] : Txt_ROLES_SINGUL_Abc[UsrDat->RoleInCurrentCrsDB][UsrDat->Sex]); @@ -2684,17 +2702,17 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" @@ -3028,8 +3046,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "" "" diff --git a/swad_record.h b/swad_record.h index 340962cd9..f845f38e2 100644 --- a/swad_record.h +++ b/swad_record.h @@ -35,7 +35,17 @@ /***************************** Public constants ******************************/ /*****************************************************************************/ -#define Rec_WIDTH_SHARE_RECORD_BIG 560 +#define Rec_RECORD_WIDTH_WIDE 560 +#define Rec_C1_WIDTH_WIDE 52 +#define Rec_C2_WIDTH_WIDE 144 +#define Rec_C3_WIDTH_WIDE 210 +#define Rec_C4_WIDTH_WIDE 154 + +#define Rec_RECORD_WIDTH_NARROW 460 +#define Rec_C1_WIDTH_NARROW 52 +#define Rec_C2_WIDTH_NARROW 94 +#define Rec_C3_WIDTH_NARROW 160 +#define Rec_C4_WIDTH_NARROW 154 #define Rec_MAX_LENGTH_NAME_FIELD 255 #define Rec_MIN_LINES_IN_EDITION_FIELD 1
" - "%s" + "" + "" "" - "%u %s
" - "%u %s + %u %s" + "
" + "%u %s (%u %s + %u %s)" "" "
" - "%s" + "" + "" "" - "%u %s
" - "%u %s + %u %s" + "
" + "%u %s (%u %s + %u %s)" "" "
" - "%s" + "" + "" "" - "%u %s
" - "%u %s" + "
" + "%u %s (%u %s)" "" "
" - "%s" + "" + "" "", - The_ClassFormul[Gbl.Prefs.Theme], + "", + Gbl.Prefs.IconsURL, Txt_From_TIME); if (UsrFigures.FirstClickTime.Date.Year) { Dat_WriteDate (UsrFigures.FirstClickTime.Date.YYYYMMDD); if (UsrFigures.NumDays >= 0) - fprintf (Gbl.F.Out,"
" - "%d %s", + fprintf (Gbl.F.Out," (%d %s)", UsrFigures.NumDays, (UsrFigures.NumDays == 1) ? Txt_day : Txt_days); @@ -452,13 +450,12 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) /* Number of clicks */ fprintf (Gbl.F.Out,"
" - "%s" + "" + "" "", - The_ClassFormul[Gbl.Prefs.Theme], + "", + Gbl.Prefs.IconsURL, Txt_Clicks); if (UsrFigures.NumClicks >= 0) { @@ -468,12 +465,13 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) Prf_GetNumUsrsWithFigure ("NumClicks")); if (UsrFigures.NumDays >= 0) { - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out," ("); Str_WriteFloatNum ((float) UsrFigures.NumClicks / (float) (UsrFigures.NumDays + 1)); fprintf (Gbl.F.Out," / %s ",Txt_day); Prf_ShowRanking (Prf_GetRankingNumClicksPerDay (UsrDat->UsrCod), Prf_GetNumUsrsWithNumClicksPerDay ()); + fprintf (Gbl.F.Out,")"); } } else // Number of clicks is unknown @@ -492,13 +490,12 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) /***** Number of file views *****/ fprintf (Gbl.F.Out,"
" - "%s" + "" + "" "", - The_ClassFormul[Gbl.Prefs.Theme], + "", + Gbl.Prefs.IconsURL, Txt_Downloads); if (UsrFigures.NumFileViews >= 0) { @@ -510,10 +507,10 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) Prf_GetNumUsrsWithFigure ("NumFileViews")); if (UsrFigures.NumDays >= 0) { - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out," ("); Str_WriteFloatNum ((float) UsrFigures.NumFileViews / (float) (UsrFigures.NumDays + 1)); - fprintf (Gbl.F.Out," / %s",Txt_day); + fprintf (Gbl.F.Out," / %s)",Txt_day); } } else // Number of file views is unknown @@ -532,13 +529,12 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) /***** Number of posts in forums *****/ fprintf (Gbl.F.Out,"
" - "%s" + "" + "" "", - The_ClassFormul[Gbl.Prefs.Theme], + "", + Gbl.Prefs.IconsURL, Txt_Forums); if (UsrFigures.NumForPst >= 0) { @@ -550,10 +546,10 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) Prf_GetNumUsrsWithFigure ("NumForPst")); if (UsrFigures.NumDays >= 0) { - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out," ("); Str_WriteFloatNum ((float) UsrFigures.NumForPst / (float) (UsrFigures.NumDays + 1)); - fprintf (Gbl.F.Out," / %s",Txt_day); + fprintf (Gbl.F.Out," / %s)",Txt_day); } } else // Number of forum posts is unknown @@ -572,13 +568,12 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) /***** Number of messages sent *****/ fprintf (Gbl.F.Out,"
" - "%s" + "" + "" "", - The_ClassFormul[Gbl.Prefs.Theme], + "", + Gbl.Prefs.IconsURL, Txt_Messages); if (UsrFigures.NumMsgSnt >= 0) { @@ -590,10 +585,10 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) Prf_GetNumUsrsWithFigure ("NumMsgSnt")); if (UsrFigures.NumDays >= 0) { - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out," ("); Str_WriteFloatNum ((float) UsrFigures.NumMsgSnt / (float) (UsrFigures.NumDays + 1)); - fprintf (Gbl.F.Out," / %s",Txt_day); + fprintf (Gbl.F.Out," / %s)",Txt_day); } } else // Number of clicks is unknown @@ -1459,7 +1454,7 @@ static void Prf_ShowUsrInRanking (const struct UsrData *UsrDat,unsigned Rank) " height:40px; background-color:%s;\">" "#%u" "
", Gbl.ColorRows[Gbl.RowEvenOdd], Rank, @@ -1472,7 +1467,7 @@ static void Prf_ShowUsrInRanking (const struct UsrData *UsrDat,unsigned Rank) ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL); Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : NULL, - "PHOTO18x24",Pho_ZOOM); + "PHOTO24x32",Pho_ZOOM); } fprintf (Gbl.F.Out,"
", - C1_WIDTH,C1_WIDTH); + C1Width,C1Width); if (UsrDat->InsCod > 0) { Ins.InsCod = UsrDat->InsCod; @@ -2192,7 +2210,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassHead,C2_WIDTH + C3_WIDTH,C1_WIDTH); + ClassHead,C2Width + C3Width,C1Width); if (UsrDat->InsCod > 0) fprintf (Gbl.F.Out,"%s",Ins.FullName); fprintf (Gbl.F.Out,"", - C4_WIDTH); + C4Width); Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : NULL, "PHOTO150x200",Pho_NO_ZOOM); @@ -2219,7 +2237,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, CommandsRowspan += 5; // Institution, Centre, Department, Office, Phone fprintf (Gbl.F.Out,"
", - CommandsRowspan,C1_WIDTH); + CommandsRowspan,C1Width); if (CommandForms) { @@ -2394,7 +2412,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "%s
%s
%s" "
" "
", - C2_WIDTH + C3_WIDTH); + C2Width + C3Width); if (UsrDat->Nickname[0]) { if (GoToPublicProfileForm) @@ -2434,13 +2452,13 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "
", - ClassData,C2_WIDTH + C3_WIDTH); + ClassData,C2Width + C3Width); if (ShowData) { if (CountryForm) @@ -2455,7 +2473,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, fprintf (Gbl.F.Out,"" "
", - C4_WIDTH); + C4Width); Net_ShowWebsAndSocialNets (UsrDat); fprintf (Gbl.F.Out,"
" "
", - ClassForm,C2_WIDTH,Txt_Email, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Email, + ClassData,C3Width + C4Width); if (UsrDat->Email[0]) { if (ShowEmail) @@ -2525,8 +2543,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_ID, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_ID, + ClassData,C3Width + C4Width); ID_WriteUsrIDs (UsrDat,ShowID); fprintf (Gbl.F.Out,"
", - ClassForm,C2_WIDTH); + ClassForm,C2Width); if (TypeOfView == Rec_FORM_MY_COMMON_RECORD) fprintf (Gbl.F.Out,"%s*",Txt_Sex); else @@ -2545,7 +2563,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, fprintf (Gbl.F.Out,":", - ClassData,C3_WIDTH + C4_WIDTH); + ClassData,C3Width + C4Width); switch (TypeOfView) { case Rec_FORM_SIGN_UP: // I want to apply for enrollment @@ -2671,10 +2689,10 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "%s" "
" "%s", - ClassForm,C2_WIDTH,Txt_Surname_1); + ClassForm,C2Width,Txt_Surname_1); if (TypeOfView == Rec_FORM_MY_COMMON_RECORD) fprintf (Gbl.F.Out,"*"); fprintf (Gbl.F.Out,":", - ClassData,C3_WIDTH + C4_WIDTH); + ClassData,C3Width + C4Width); if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Usr_MAX_LENGTH_USR_NAME_OR_SURNAME, UsrDat->Surname1); else if (UsrDat->Surname1[0]) @@ -2710,13 +2728,13 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH, + ClassForm,C2Width, Txt_Surname_2, - ClassData,C3_WIDTH + C4_WIDTH); + ClassData,C3Width + C4Width); if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Usr_MAX_LENGTH_USR_NAME_OR_SURNAME, UsrDat->Surname2); else if (UsrDat->Surname2[0]) @@ -2730,17 +2748,17 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "" "%s", - ClassForm,C2_WIDTH,Txt_First_name); + ClassForm,C2Width,Txt_First_name); if (TypeOfView == Rec_FORM_MY_COMMON_RECORD) fprintf (Gbl.F.Out,"*"); fprintf (Gbl.F.Out,":", - ClassData,C3_WIDTH + C4_WIDTH); + ClassData,C3Width + C4Width); if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Usr_MAX_LENGTH_USR_NAME_OR_SURNAME, UsrDat->FirstName); else if (UsrDat->FirstName[0]) @@ -2759,14 +2777,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Place_of_origin, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Place_of_origin, + ClassData,C3Width + C4Width); if (ShowData) { if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Cns_MAX_LENGTH_STRING, UsrDat->OriginPlace); else if (UsrDat->OriginPlace[0]) @@ -2783,8 +2801,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Date_of_birth, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Date_of_birth, + ClassData,C3Width + C4Width); if (ShowData) { if (DataForm) @@ -2807,14 +2825,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Local_address, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Local_address, + ClassData,C3Width + C4Width); if (ShowData) { if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Cns_MAX_LENGTH_STRING, UsrDat->LocalAddress); else if (UsrDat->LocalAddress[0]) @@ -2831,14 +2849,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Phone, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Phone, + ClassData,C3Width + C4Width); if (ShowData) { if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Usr_MAX_LENGTH_PHONE, UsrDat->LocalPhone); else if (UsrDat->LocalPhone[0]) @@ -2855,14 +2873,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Family_address, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Family_address, + ClassData,C3Width + C4Width); if (ShowData) { if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Cns_MAX_LENGTH_STRING, UsrDat->FamilyAddress); else if (UsrDat->FamilyAddress[0]) @@ -2879,14 +2897,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Phone, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Phone, + ClassData,C3Width + C4Width); if (ShowData) { if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, Usr_MAX_LENGTH_PHONE, UsrDat->FamilyPhone); else if (UsrDat->FamilyPhone[0]) @@ -2903,14 +2921,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_USER_comments, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_USER_comments, + ClassData,C3Width + C4Width); if (ShowData) { if (DataForm) fprintf (Gbl.F.Out,"", - C3_WIDTH + C4_WIDTH - 60, + C3Width + C4Width - 60, UsrDat->Comments); else if (UsrDat->Comments[0]) { @@ -2934,8 +2952,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Institution, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Institution, + ClassData,C3Width + C4Width); if (ShowData) { if (UsrDat->InsCod > 0) @@ -2959,8 +2977,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Centre, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Centre, + ClassData,C3Width + C4Width); if (ShowData) { if (UsrDat->Tch.CtrCod > 0) @@ -2986,8 +3004,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Department, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Department, + ClassData,C3Width + C4Width); if (ShowData) { if (UsrDat->Tch.DptCod > 0) @@ -3013,8 +3031,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, "", - ClassForm,C2_WIDTH,Txt_Office, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Office, + ClassData,C3Width + C4Width); if (ShowData) fprintf (Gbl.F.Out,"%s",UsrDat->Tch.Office); fprintf (Gbl.F.Out,"", - ClassForm,C2_WIDTH,Txt_Phone, - ClassData,C3_WIDTH + C4_WIDTH); + ClassForm,C2Width,Txt_Phone, + ClassData,C3Width + C4Width); if (ShowData) fprintf (Gbl.F.Out,"%s",UsrDat->Tch.OfficePhone); fprintf (Gbl.F.Out,"