From a91210046b6a3dfbeb613229428776cb33b88de5 Mon Sep 17 00:00:00 2001 From: acanas Date: Thu, 23 Dec 2021 00:28:29 +0100 Subject: [PATCH] Version 21.73: Dec 23, 2021 Working on design of dark theme. --- css/{swad21.72.1.css => swad21.73.css} | 15 +- icon/edmodo64x64.png | Bin 2278 -> 1790 bytes icon/first-day-of-week-0.png | Bin 1210 -> 1030 bytes icon/first-day-of-week-6.png | Bin 1230 -> 1029 bytes icon/gnusocial64x64.png | Bin 1348 -> 1125 bytes icon/identica64x64.png | Bin 1526 -> 1272 bytes icon/orcid64x64.png | Bin 1409 -> 1248 bytes icon/paperli64x64.png | Bin 1458 -> 1154 bytes icon/researcherid64x64.png | Bin 4650 -> 3467 bytes icon/scoopit64x64.png | Bin 661 -> 549 bytes icon/storify64x64.png | Bin 1686 -> 1217 bytes swad_MFU.c | 4 +- swad_calendar.c | 2 +- swad_changelog.h | 17 +- swad_figure.c | 83 --------- swad_icon.c | 223 +++++++------------------ swad_layout.c | 19 ++- swad_menu.c | 2 +- swad_network.c | 10 +- swad_photo.c | 12 +- swad_photo_shape.c | 95 ++++++++++- swad_photo_shape.h | 2 + swad_theme.c | 11 ++ swad_timetable.c | 4 +- swad_user.c | 10 +- 25 files changed, 235 insertions(+), 274 deletions(-) rename css/{swad21.72.1.css => swad21.73.css} (99%) diff --git a/css/swad21.72.1.css b/css/swad21.73.css similarity index 99% rename from css/swad21.72.1.css rename to css/swad21.73.css index 599a7f35..70f9ea29 100644 --- a/css/swad21.72.1.css +++ b/css/swad21.73.css @@ -1327,7 +1327,7 @@ a:hover /* Default ==> underlined */ { width:40px; height:40px; - margin:1px 4px 1px 0; + margin:2px 4px 2px 0; vertical-align:middle; } @@ -2371,7 +2371,7 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .FORM_IN_BLUE {color:#4d88a1; font-size:13pt;} .FORM_IN_YELLOW {color:#7c4d2a; font-size:13pt;} .FORM_IN_PINK {color:#4d88a1; font-size:13pt;} -.FORM_IN_DARK {color:#c0e0ff; font-size:13pt;} +.FORM_IN_DARK {color:#a6c4d0; font-size:13pt;} /* Outside white box */ .FORM_OUT_WHITE {color:#4d88a1; font-size:13pt;} @@ -2380,7 +2380,7 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .FORM_OUT_BLUE {color:#4d88a1; font-size:13pt;} .FORM_OUT_YELLOW {color:#7c4d2a; font-size:13pt;} .FORM_OUT_PINK {color:#63474e; font-size:13pt;} -.FORM_OUT_DARK {color:#c0e0ff; font-size:13pt;} +.FORM_OUT_DARK {color:#a6c4d0; font-size:13pt;} /****************************** Placing of objects ***************************/ .LT {text-align:left; vertical-align:top; } /* Left Top */ @@ -2720,13 +2720,11 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} /******************************** Class photo ********************************/ .CLASSPHOTO_TITLE { - color:#404040; font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; font-size:13pt; } .CLASSPHOTO { - color:#404040; font-size:10pt; line-height:110%; white-space:nowrap; @@ -2741,6 +2739,13 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} text-overflow:ellipsis; margin:0 auto; } +.CLASSPHOTO_WHITE {color:#404040;} +.CLASSPHOTO_GREY {color:#404040;} +.CLASSPHOTO_PURPLE {color:#404040;} +.CLASSPHOTO_BLUE {color:#404040;} +.CLASSPHOTO_YELLOW {color:#404040;} +.CLASSPHOTO_PINK {color:#404040;} +.CLASSPHOTO_DARK {color:#d0d0d0;} /************************** Left column menu *********************************/ .LINK_TITLE, .MFU_TITLE {color:#4D88A1;} diff --git a/icon/edmodo64x64.png b/icon/edmodo64x64.png index 0dd5d305ff4ca72dd583b802966bd1f91df438fc..13798940b44a990506b9674aa463e09f5c2c1234 100644 GIT binary patch delta 1775 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 diff --git a/icon/first-day-of-week-0.png b/icon/first-day-of-week-0.png index 383a5824118e8312a118c84652339290bfd969db..25fc8502148d6678297ef91bfe21c4bef722b184 100644 GIT binary patch literal 1030 zcmeAS@N?(olHy`uVBq!ia0vp^1wh=u!3HER7rg}vFrW2waSW-r^>*&=yekeO4*h!- z85KXWab_rpDoCkh3A}viB)md%L1RZ>8(UPy59S3999&sSA6Y{*7B%EnWHk$UG@2dZ zY?b{OAQyK&?XBQ*kIQRqA6srKPg}R1xA~#O2c8-1)66wKAGn+}dznD>?`Hme!H*97 z*Oh&+*%fq;tQPv>(&EaqB9jzLSE2`vyo~-?!3T;Lmj3eEv($bmw~dzGvY_xMEQyLDr=Lx+ zd~m6%{4C217O}T$j!koYa4bqlUrS%AQ~bZ|5gFDvMr+v_?gz~uh+N1M6?)IS{O$CN z8(cCB^VE*MNZa-7=d>^9mUOyT zH;*>&$K&BXS^}G<+-~`m$++FA?1SVb+X=bNCNCeJ`W@6V`ImsWjknyTO7D4E*R=w_ zF-~v1-SXW1T2%f0OQ(5WTnpa+v$4;~6&OIQT}-G{YO$fc!KYtm`AzIE{BbzL&$BCc zro6uS>nTye;s}52X;@rx_zopr0Jv7j5He>>95s#2evyOiF@|zulRx2?lazBf4>{(LrhqpvGn_*wOid) zbiH;h+5Y^&^3DIdC-D`^9zGIwRAt@&rAu->`Bm;t{&L8&+`x=+%~o~QwVt~UX&4m> zc}h>ZHn-Tnn~h!7>i_OF2StC@OPT8~{vqipe#qdBd*GLp6sCym_g=enUn+l!v$mVE zMXK%LMvX4Ha6N~z=l9c2tpA%)V8?Sf?%u=$Pu~2QJW0;e%CT>6LinYud6tgK?$6Js z3fo!Tm-q9CIvtkf{GM6neA@2^;^CikPJiYonE8C)bdxV-{b?DD`xK|&E857#=r`Ft z|K}<$MzNENx7Wn9G8jA+W_4h|gfn8-Y~AzKTb>CR#|#YK95d$GnON>qQ0@KqXijy$ z{AOW`#|jKg*x><@%POpk)jflcW^N4rdO*UoXC@cpH`TkQ$L`#`bLWq~zr*s&Grcc= zXziEpn&WVb;Wq&=-yr0cc+yBgKi+A~@yFdD^H@Ekg)b^g~&!aiJLsb-B zuaIA}b<&r;>))zpt_t?{{;hrbH22?w2V_({@9o~db<-Xl<-NCV-Hw)c>S6H7vcd4# zbH$|hKkn4cS!M+^`ge1q<|hUZ)vxT#b91*hFY52R#W|t;##*awdT-@Yr2ki`V{nGPLPJzXv38OLrHpzUkw8@Lay> z>|c9t_cja4bM`+r`7mp1n6u3Bs@rvkCEk9i`s`L!y6r*Xhi9A9Kg#dD_h-d@&INV{ zBxXF}R&2k@{-Ae3q0g3MU&{DbV~Gq%^i;6>F&}66%D95xp|(MZ@d`Uo|No63s^R|I zV0nfJHYSt^IgrEQP|NU&IY7SQ7Xw%|k8^E9%koB30w3sr_ZT6yl%w}-Krva zhe;`GP0#IoJ!#!1ixqD-)L*p>f5Ec(%G{i_f1NHxeLJ4_=*jzEy>Djz-;z=Aa^an* zYL`okmT*tnH|@*PCEF|#WlWhp&#S)msG70%>;J-YQ-8@mmOlQH_3FLzzh8sWsi&)- J%Q~loCIHNJAsaSW-r^>*&wem+N;hWU5D z-x2K07cz-y%}~jDR3*!s#mc+raz;kxA9f8FjVpQ|#aFn9?CCu(v(s7e{m#;^yPv22 zzH#?vb-DUH^_lO=((hH4Ju7>*eSfS3-|vR@1K|mEt)E0I0%R_WCgs+t>uD_Z>rd%Nl zGy+6cI0Qnd&JL~LC3~d~xl3m}&glMoIqY{mL*z{Rn9TWkG8UXN%KW`KYcDP^ZIu16 z_i1;{jkohz?HKhNJRitiP`@vue^%}RpTUBEetVYAG-7xs*1YmchmC6l$I(qzscaUT z@2r{0FulRjdiCa1z8!m}9Jzd|+wIZI`uwDCO#Y3%_hz^sOn)G7;k~F(K4bga=@}8+ zZy4lMj@~`{dD`{ppt+F`9HQ2Io+2*4_&}$~j1BsWQk59vn0LSJ)~K8;qFuZEf`z0? z==U2-q9y!-P`nhlfTvsVR(*~?lLtrryFeEZh;j3XVM>47wuALoK=6?r;;X>^Z(M{z zU8gH^7Q>h~d4J$~p4lhve=n7d5HJ2K z-Jm?-ZA0ApCx(&+tT%;U)N=m$=zD}&pUFI1u9|U&VDaDMinnL(KfA-|y+U=!=Nrpd z&N1%(#Jx)FcH?$NW5?BB`$Z31EcsZ@wEXgg*)x7}UA~rdh9%Bn?X~$rW;Ip393S+q zq_!YO*3W(xwI|YtOK+YzCI8@6&flf>hTB*o3;WDi`#u~GcgYgiH1$T+U*=CMobEne zuE5Q!{k36r<8uoyxl5Iv^HyEc4&26=-k9C;Tzy;A|7wrz4%_%HEje`JcRU!_#N% zT}+}HTq3Mm0U}^(gU~Z}wvfEK1wR{~u_x6%(C2v(Hlyk+zsP$hQH{9*FU(6Gr%nj^ zU&xX6!+a_AaMWn0lDcHwOMz)=Fz+*1W*}?za5JLiviV8-8yVui(nr z62ItyaRJ8*{WZ+L4_F>DyPj&1a^UBooAD|KRO{YrM(qlJ)^J)!n8~{#_`sIAS9cmY z%l*?5{c^*3-dp1hkE8UNALMO}iYPgvd)%UcX$Aw|q~jNl{W0IN>vr;i<4Kv{C3b}W f*&l6^^+kAdhvdnaBqbP0l+XkK>1Wh+ literal 1230 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSoCO|{#X$M%Ak65bF}s3+fu+II z#WAGf*4sJfvt?2xj_-ee&g||CEw`eGRgIP}E(UGf_T^h%o~4KGwfzenUu?b9ozWe} zeQ&b;qAl%B><9N;ztONT+?Ge=G266j&Aic@jUO*87CLio{hKqhYwRXCC(N&HfByH3 z_51#t$5*gMWZ$3qW$BXDlg|14{BeJhoX4)WbAHc#y}m8e@zcG@Up6l(=W6?>nE7DN z@7~w?{>xd-FPN)NQuoYH-x#z1Ia5uT;y0=5@Aosr*&nLeUw5CCfdvybtekSMd)u{n zleTEQ4Bl(SzJJ2s_$gZsm46Vqu`BA^A%*j^__w+s3%W&6E-E#kyE%ht!zn{m~ z6gO|i^g^3^Qhbl+Ud*VQq!Q}Bvexr^k72pFx%vN-!UhsN&n}tlReiZ^$#t9j{g#ZA zOs@W1y7ceVr%ziyrX=xAQh9&(espBqw25&!Z{O;M$Z+l}KX+G8XhP|g>(`<@f2~TA znw7VIr=`Q3WxKAtFF!uHQ}Yvphib37aO|7!&5Qc`{wMYPT<7%W?kdZSU4M_MH!g2p z5WbB2vd*@w-<9omcO~DxWVf2Z0S(URWzc_I5tF8VKV@U+ZFwHHV&5a%mi~2P<>~6zyIK32&F9{mOsDBV$;vT21rG2c=$5S3j3^P6tv{QPeC-stXs2g<8QcnpR4|wot3oG!;Q4O^r2m zrZaO~OlIc2%$v-eQcb-2tz+}8}Z4nwk|*b)Wl`tm5p`^ zATjgxc{kqNQ$yoC{bZc>>Mht_Bygw0EBkC6V>NV^+kRS{D6F**fh9FxIBd@X2Wx0G z>m$3u-3|njgntOsmTf|-9X!>ql%3{v*KJ)1ylqnkYaBF1BiL)MN$pDD4FHxp5h!HW zt8N=NI1$>FXY@CB^j|XOL@1(af=u2eRcC{CQwK z$G}dgkA808GkZ%Inx>aYGKT)OP7Sh&3%qaBV5qIGvVWwJ8nt_WpllM=&1SFFZ0p1I zg`iI@3V79`Lp1YAXe~XSbAZw4CSIk;{NTF|!0o*2tb3GI{t2A1ovt}x9sJ>+z$3vN z;1&()8=cc7Wp!2K`h+b-5{BUMI-7INQ*bUcJMN6s`B)10!SNKh66g--Cacf9fqLBG z^BCqh5`T#L?y7nZ>Xp)=Jnl0GGGwhBf=B1j+*PUu#+Uv|agKa&=$J$EMvY?R$daYq zAAx*`Kypsq&ic|nLH!~;N`oV$=4`L&D#oRJ5lD~-1R-CszKOFDVe939F9Io&Gh;^K zOw5+|Y)gdOR`|<-CFQZ*;AqAAU6F~g(Pt8F4}aQQvD&12BU0pHp9FRXdfm5NtXLmW zqnfosB~K~Etv(6dq*j$DpFI`ptxR)?iDDHHZ17zNUMd%38(<{zs7}~-rA&F+Z#y=b z+Jl!0dZA+dm!gKybv1Vzu5T;{_|!TI^~ex5#E`afAFD}`W{g8NTC7%v-tj$<6rKaK zkAGYAXr>1o_8P7?2LQI~Fo__nRlpl+Sy`SV5F8zL_wURh;-g>&HhSm6&A z;L9O^X8w+mz#1D1C81$cY>f@R+oG@gw0~LYMZYD!s{4bLBs}5%&Vcf?u(HPFJ3q;A zk|FD1+~JCA9;5PwNPEX)3#%p~3G9dm98flrz)Hnr|Bguby)oIZq^?B3Uv~Kul~_0d zgU4u$`1ua!+sXxcpe@q!TvUyELVZdrubk5QLQg8SFlg0lJIiP!O@_3keVFt= XJBb#4B@XxG00000NkvXXu0mjfhvg-W delta 1330 zcmV-21~6(;!;EbIqFf|`gC6#dfv2{OwR5-KZ@%P^2c zQ*Yk~wY)3De>6f8Pfsc+yF5MZ&b@v6Y1f8vjW(w`- zciBieWKLsD5(P`3p@~D3PaH&YOP~?>m~zSvDVTv_T&27+K~DKe_@Ysx-_*20EY7o> zUZcJi=)7IxwEjR}T zm4zBT+F+)Z>zI3*w@kY=1@OLf35+qYR8)byX-aBC0Fie9xWfoQ|IS)(6+kMv5Kw*o zD*8wjlmI+{xp2-Z0L31_>&jMaRzoXe+{p<(P(vzX)PL|()-(ypG!Sb5ym0_>lBMib z$9YB8MS2c;>Y7@hUQ@jXy-2rAWeY#jOp{!L!_Z*XbA=%ZUuGG^Ni@?85T^xj;bOl! zfrGm?6YyF9mf76}OP%3U$c8XqDI=~glrpugi+VrUJ_q1|D_c!X zlWmN&4}aiSS(VFU<^emCv5!Wh6~LwuRsjeGTKCelD1)p-0toBEKW4ldxL zVF^d=&cHc2dp*r@a8_}aHOyiRwM40)fv3D9`itSp0YH#r9JYH9J)h(F{HPbsh83NM z-0U*&s!afW-tpPlkM2za=e&AdW>Z$5unC}-WPeM#xCkD=ri()ndDy423UV8=@T+9}L2oYb( zkqYRia3*Bg7I(6NAGjn(Gbx*T+BSgoy0M>V`_RZzUJBlwnLIN+eqHUY zwVjZ_H}2#(2|$RG*v@u6j~R?6Mi1>Al7H4&=`19H-eTHm=7FM_#Rk^9WwC>w?@fWc zBTfSCgrv=d@|CP8ZV3Pu=@udo&sG$=*CdG78@Mll1L*;JolZl-2O;0R;JlDJUrIE* zV%(y}yP!{|mV`#&W%`WwiQ%CB%jdu|d|q@U{h3o-ppzuSxSR3lqULk8e3TdHwSPx> zWu*L-&w*oQb$_7Wz5k`OhRbCHFh<(*NGM1b^UCHvF6|-PQ1&z3@R9LWB*{#1bx5|E zA>->j$wLP3hQ&)SzwoWRJy5!v;X>a38Rnups1K>`kb8;>MpF9thKAO@Vf!c^;0Ok4 zLsfgV#c({J2zq7ceQB#)GQaZN%76HyT%{_Y=$2|d=%Pk!jGre$+&w%^Ss4{hb3jlQg&*g#_!B(cpvjg0g?E%mL zQN0n@H~JgwV~RXNTXDx(NgU7>#Q8q^*~vxTlP}Z%KNcyf=&?sw%uZr>Br7@0E}G>= oX|78HP(dwK^w3L>^k6~$2T%EB5krIa-2eap07*qoM6N<$g64vY_5c6? diff --git a/icon/identica64x64.png b/icon/identica64x64.png index 70aef0fe58ee6068ef22a7477e8adbd218fc0a15..42284b715c900eac4328d22719b02391d4e54423 100644 GIT binary patch delta 1253 zcmVQ2|kFC2oFYyifByyh#x`XgFcXwh$L8}1jK~+Akoke6fww`+LRyxLaks+u@-14 zrBK@CULV-boxOKkc6)EznDp$+o|!r4{AcFunKNgl5gMTp>VK06*p?n;`I~lx6cKt< zWtys}+EuTE+N0}=IYTjX3VDtniKje=d4pMlvlgy#B(Z{KALG5xWi}5I1SBz@o&6Z^ zeXg*$7j9gX=&Yg|<8j)E7DmR$s!=Rs zv!B3U)(pF-;(sx6tT7Wn$?IChkZ;aLrdz&o$!2xxir_u^{rR5o`!#{`~++>p!-63OJoIVnsq}VlfxH z0=~QG&SW9&9z~t(WD{FBl4PLLwy39E$1Kx^yAK%bTl{Zo0&)$ozS*sal#J>^cX|gL>q*p@4uTxHwZ@8(lz>Jb~ zkIS5K4{`h0k4BVd285+Q`e;94y+Qlt$$jXsY)~8r!3ZMmCNkVcGc*-(`puQj0%*m z87fqV8r7mUwK!G^>iE}JmTH^(+U68k`X#AT9V*Z$lSM2N`#8%c%KU3UB*g?I8K?ER znj(q)rhhZJob1Pmzmjyb;1cHiVyPAJi<83^Ptu(@*eLJE{1-&r`#uU&c%n!LjDO=c ztJFDf^)1#9hB>17`dCFettK@nTkCa~rRD{F=EMegonf_SCTm#0Scx3gdD@>&k*i<> zU-K!;)4xrA=`nScPbBiK%UYaw`>!yjb)zN=CDlrrC}xr2x_Nuh3VDf7ln;_NVuv{e zA0MJJF86W90En6D+3Z0qWcq+ul3tYS93*!LjC&x=v*sV?^C+TNHh|om?(%G5^0Koa3~0f zPzOX>Ktx12trSYJlt4u&wYJ^$kNx%SZ?{{zN0FFx{@FM4`+v=w?{D6`nR#!aks7Iy z>LdwK79BZ)n^pvzxERJDx)8?|^2sHK3fy|L0SJmDlgTp-t@Us}>)E77y>HzF00Jm7 zp0{aJr_NP2=(vW0;HdTONqol0diBb9Om}+WHW&awkuGefb4Z$1EYR1Y_dtxF`EHyf z(e|{ON{+LOgMXYOj^=)Von)jY6>Jp>8o~pDBCW}zlX+4>7Hi4TN&~Sqqj;JTe)^Mj zadfd@2e5~SjC?PnDN%P|sELa-zNVE;l&%M&f#CH1DDsNU{8|QTF>Y!HS(WamGe6iQ zo1|Goc%Ul>%y%u)DL2ZGio~O&8PQDM(`Wz)z>*c%cz2R_3HEcp^=_ed2;uwRU~at- zi%C(RMj{7E4S3@@{j{bU-e-j4y|^UkG0ZwOWH2Kj9c^VPSseD0wq>EMY8m&xNJj!QAusG=ze+$j$-i}rqP`xISbpjGQWNn#HVnEEh8vp_o8%;$2MRC-%n zGNW9!1^AP%K*lkNp4<)$V;GkxrJQPFX@5ZyaRFcOxh@gZ@{%HGwTvZ?Wb66!WC63x z`_HmktE3gn7+upzIOI0AF&Kb9Si?(UrLlHe6eLWSF~QVK2gq-9@g8h-faR<1oUmRf zaS~5Qi%AL7{7Eeen(>y|z%&69eg&p)@|FEKC-FhzGc-Cc=wLG{1zxbm&6x*G=PHRbF&X4b z7iko+g)H42xbH!)%XQA_5xB@@)`2*^!z}ME{al-eI~;K31~>^fGybM1M-z&+3}f zq$9E&C@UFfW6N2gQzd~j#2eWhogY|5gYl7hz=4OYes?A3Nv8)p&4!(;Z-ut7F_8c$ zpn%j3xNRFQo@-=U=c5aZ)#ZeEcNFOocyszaY&MD9W6f2?z4~hyJz+F=$qLA5-t|l7 zc?_jI^j+nQ9Dp}1={lYQJYGh;PRqmD)KLKNCSpMk@VN1$$98LQ^8uJPWTQ#HOSDY* z&q)ATB_8oeVpNyaQNq|v6Gk-j{|VvvAYOV2x0r4@fJSPh{~`SgQq{$u#*9ZT00000 LNkvXXu0mjfG;+Hr diff --git a/icon/orcid64x64.png b/icon/orcid64x64.png index 91986363876280a3d21a061e2400e36329b0bac3..cd64876fbe38b4562def89c47219acd5a9f1e533 100644 GIT binary patch delta 1229 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 diff --git a/icon/paperli64x64.png b/icon/paperli64x64.png index 6148f201417da32254d81179246b6a224906f1c3..8dcb85ed8079f665b702a3298c3d2e0e1e724504 100644 GIT binary patch delta 1134 zcmV-!1d;o)3xWxdBYy-*Nkl6vuz(JSenKF=!N1lF|-sXsxDdEZPPe z8zovJ3!^bnQ*@zGV$`J{3pFuas0%fw3m0`EJB_Alj4^1awxq;bYHQ*Lv5K`3EFu&T zC~%L9`QXhAnRzq3nRo8yzB!Y7{_ouXIp^N#dNDYnLOMg2%sUS@Gl3uzQwW*|~ zWknv9KCu#xetB$p!w6C(N5z%Ye0+Q_4U%adWV_6k!FYU(%C&K;OAxM;^JOz{VlpOe z3Cn^ZRh;88$}7X{u(N_1z*l8A4-LFcJR0PIvQTfiu@6L6@d@ojBSXYQ)-i+^5rAph zmD?gS4>jyoI)8{#wkVq;1#rEHMG7Er#hYhT&f8yd!G`3FZKErZ#|G%NlNfM-+M*By zh*l@tK|~Q0#X~pggqR-HCeXw>y0f@k5CDL_kWn}QeO(_1QURoZ-Y@@@2EcvUe$y)O zvS3N0c83pOPMbC0b}AtC`b{CJJ^$KMj5~rsa0oW$+JEGggh#&MvoJ{bo$e@<+S(9mIh*F@4w?7q{?iRU-J4=^QE$;_S588|GmsrhphkUNU0Ab@Pl__4}T zTVjV8DJcL$F1IIh{^iqB0B}AZ?58fLkA5iu0Ezh?zRpt5$U=PL#r0>xIuH2MhQIuN zlo8QC=$gXUEsz7ccWE!|K{=7p0hmb=RG$d*M1SPR`+Qm)cs|{XHu+ZlJ?M&sc0qQt zKNSbqqTWd}j(?e@$4x2@#i9FbU0?^~KNZV6jB~eb0gxfrb z(2g<3&+drFViM6P2f2i`G!t79g8Vl_?eIK5;e6Dq&}yyMYxH#SeWLsT`nA@}b2QN_ z<AXi`{|z0Cve9mw&&FG+sImn3y)^TEVN-yH?QX4N#1_Xmt;# zTy}?Dv2;X}X4}SAnpj=51A-(Xam-nT9H5&IY(1fh$VDonY*J};et+v7wA_KSs>PQ`OM0VcO^~oB5N(Y+SNB9yRh(S)Bi(tjTVFCxL8|9+@c7XFMlk z(kqSW#xwk2fV6NEEo=?7NX;_Hj~ubV%#Zi~1O83|i`YmBU;qFB07*qoM6N<$f>w(j AdH?_b delta 1441 zcmV;S1z!4s39<{2BYyx1a7bBm001r{001r{0eGc9b^rhcWJyFpRA}DCnQKs#RT#&A z@4LG!S3v|Jp+wQf3u9(^K{8)KU6nM3sAh!0{LqY|RE{6Ari;y_(>OVF8#J4mv2mPA zGnmjZyuEl!jFh1oEtFBz3Bq)dW!YsfZy)x;E{W{IUjAS9oPYD2d7u9|&+Y6v0&Ymi zfD}VIMJ#46Y66L4$n4>^Y;b9EK=7U=z07K|2_DY#rM$~?Kya-d&~lvY{*;1%CUms9 z_CR!R{&YH-8v^w(jo+E(T(o-!9;cQhLWjFNE1v=oBxEElw-`le(Z($KhJ+{s91ppA zNaZt-5kXoRRDZu87%QYw5TpoxWHI5vbuvYg$s=4yVz$UaRAD0!!+enygcFlR9t|sj z8G@vQm4L4mPi?W@j_5G|J@Q`H^~e@umQn@^YE&21vau0GK~rgs4Hf}~8Alr>L8F*R zqL;Poo~SRejEFrutN7h(tJn>|nyZ)245g6xV1mfE4u5a)tl$8;4>eb6c0v^e0KCao z@?SJoDv3cLknlp)zW!rH+WqF8eAACsUb^^!z1ZqkNgb4c*sGeFb)~|mk1gT|PbQ{T z8*+T-APzdgkgTs@y-y!If<(ient3DN7XXonTJcZ-OdwpCyLQWY|16tdW*irBD*90O z+r94$n|}Z(L}6}KtCI`&*1N_QQ%kmxywFx^drCQ>`Mjon8Ls6%Bh)y*TKY=s$HO#% z2WiKbKnE@qW?S@aC?G!pYy`{FP#t8S!Hv*Oi?hgsj zjPDmKTC3Y6$EsEBK_wuQo7B6$f3Vs;_oF5V1QZVq30sx;{=w>bw#)oW2|R(=Opg_w z{C{7z=n<`s);XZ?xR1p;@b_r<{V1?oQzBrILV|#3AMtR1% z5i8>h<3@jbtpL~r=t@Zo(KB_<^MbRIxO&=Q3mcNbi2BC#q{8SvgQe;S=VI{;2oc2gIiPC1qH{r$EuRf9vg& zg7U}26$QOJUF~&3Td^^(XV-~(!M-83b{9euxRy1cn5)&*oP!#jSF6xASUFBLa%3EC4G*hYtiqTjYV>b5=8d{&2d24bIVq z+uEaAf;9&vo5SH`x9iEkYwBjTD!M04+-uGX8UgXVIF#jliH`s94O_#(xJMP2l@>ZNpG^U~mFC59e;?++fr6K_dV+4sJ@H z^8k6ZrYPT>A2c6;n6l{E`(ASOmMk%icD3#Hv34A;OMXQAbpc+S9h* zGS*u*-0O8g>P6%0WEHl6Us8!Q`93-D>NzU%TUc-DT1BeEO5lRXFLZ}ZeSa7AB5l-! zjX<;9Aj&pA2^)dcAWFz**%ub|AIVLUBacX0>X;p3^^Hh$%1#21%2~#RQ2iY;Wxcx? z$;fTYqdtVI&y@9&XEl_NZ;{7)AyL1X99i!=UG;ywp2!Yn5*L&wTm?N%l*l&+d_8wQ v;7?)>lbGUrk@5j1nz_Vjxf(O|vuzxS+UzfGh$! z(Ls$SaYV%t9mklsOfZV$_Hm0QqN5QrBkHsvg5nmz1ssg<86_(27?LofHi||>q#J2y zXsWvI{PAu*s+hT^{huFp`~9mt)_;LK!vA)*V&9Ij*Ckp1 zUrKEH_` z_{bixibx6;@NFuGklsv8l}i$Xa5&alPl+iwHrZv84Q3UNkNJUTax{bVEs`IN!?6@3 z`m>!JDw7wScl zFfJp9W3d%WB$&icZD>c|CnRO&m6RsEi-^@TgTF-*eSesXqmAqKRS8{iI2^5 zfJDF%tl)Y{;%L5P8yCisi&^1&exFs0?VM8B*<^*nig=LTCGdfj0ajnhGeBo5+%l~QSFBUr{Oe78Wr z%cx)&H*=}=w?ny;YZ+iE8^vUb=)x2(VT6>Hg)!|^v~5=#X@^qX!6L4}(aibY+Dqw8 znM5(unagM?6%?%Q#{D$&1}89zOeB}c9vI+F`}a1?uPw9Db~NQAVmUB`)i@llQ-8Nh zI8^Zfw~^0?vvAx~ptedI!$e9XM3R#HEceAh{6-1mY8*Knj$ca>hp;qah|&4HXRM7a zbfqU=K@CAc;;H7X!Z=`++=Ih0N1_YU`4uNg65W~OciO@~OZ4T@c<&|DP|dt}{Jhmi z4D1(AIkMJIq8ksfobd$)n&KSZu zl_lOe2il2NE=gu~77j zIKJe^{%voD&{MMhJivO^^M9!A-@(D@Nzcx(AzjJP!oT{NgLt2hdCICf3FZ5-A_~kB z{aJ{^(ZUsy#3UMVth6H}$!h%JVmBQX-(#Dv}lKPf=$% z9ph+jw4st@Wz1wdJ9&%mN>*d{da>UfNzJ;@m9lgYDd13UW*+x5$$!!k)vUnrTB`Ib z1Zuc}Uq--!Jy(k5{&Z=kaTiB<=gdckTP0FVVGfUQ1H%)c*q=}R%XTi5I4=6%CQFDk z_4EZP71(GTS^iKhbN5P=gr{kS28MskwdQu_mggQ1%R*(dD7Tvv zM&rb0?a*4y$!#GSb_>H?ThyjVY*DCMJ)wqNYpyX|u1#vx0^O2r+}&LgobSzJo_GV;z&cNA#p7X0$)!7|$S!sf%&E>5Hq8l4Lz3 zOOlp2iY6Q_%#kF+PGU8`CT%4Qqpu_-0(#I(@=XlKv%bbSoe!96^^(MR9%i;3?u)e- zqS}dLynk0)x&RUVk1P4s*^0xl(MHE*_R~DV1*CnvYr>J` zRx4)-4#zqh#^F4`Pb_6s42uOGdC{#nwlPy;GJhY$v_9qs(Ta?m@>zXHka4EV6@koZ zca4rC)KPj|l5~o;>Oo06^`R>Dg&JL2UHz9mvP(5xvPxZ~shX#oZM?%8iE%1*?`HEo zu(|eUR}sFHAgI;W>=(g$J?KnNW?Ll54c4^^xih;WiU-+dex;N~OIj7o&TOP0kN5Q@ zRGoEEz-(S+h0RG8)0_U*mnE!YJ&SD!XMeB-$8T+@M2e9NFA60q;xraR(8;bCs(Ac?;8l9ApVRRo7YFEt&+>>Nk^iG#cOgeHE+1jezHHC#sruxi6?c*i!Zm2e6(sj@Pg#NZBKt$}tNTe&*P9@=z? zfGe2G&*&d%(fXByOywf>vm`I!aO~h@Nn$YdUs2$Jj7kL7hiCaBNY25+S2$;4!AhkbD&m$2QKD_zp{X!cLSd$q1$~L}CC-d53X{kQ2E)pD!up z?|6g;Chy}diBz)ZI!I1|OcV90lx<~})_$I_5K9Lj(NhOljX{NgBnK%PPS2lfAC8t1j zZnzrv<#MW&KSy^2HrdDY-Ua={aV(^PQ4&QQ&n<l)_jY+4o8KJDQ8GVkjQmClu5V%rppj6Xzpgos) zIwQ%7RGev&KqGT!uv!mgH!JkK^^C6WvMt~63a>;~$78(Cb(ZvfLdQFnl<319+`&MJ zS{C8hz_AilT*^x3+ke<^@vhX0ZB(4Lx8ZojN+pZhQk literal 4650 zcmV+_64mXAP)QJ#26(3q`3(jI|t@^616IF0T5v!ur3W7`txk>IxKt#kMD1stMm_;B1Np9|N&ff2j zdlMp}(ti5h=kwM-_ndv#*=z4L?X`Xz{%tZ(`u#tlao-VdVqyaM9XQ7Si!&Ohvr{Yf zG@JR1M+rwnl%)VS{Yl`XGIG#`CJYR@nj(r%`tHX_J3a9xd149k0hO+vSG&dC01RWB zSXDR;gokUXQLo4}C}uL_#8|A;GR{vfzyeH-o+@`;3P30$Jk!bMmVz^YG(Z#G!JVz$ zMJ4ugbSBF%8gdJ&59f?+_T3#x(u+d*%Yi`3yu$+))_c zBRntsfv7U4{o6k9UF&J_{6Yc@W&oe}-}B7{O~XQKAdj*p76W+k9V(n{tkQR_`2>PJ zF@f%43U7QjW~|d)fQ1Prv_8xd%vWs0{QUO3dajXJL>v$WAD8|(+ zYn@)ysZHP&(ohBp+pXUcnLow((nQ-Dx|aqIX*ROZzP-l(z>Sh7v&AFTO;A`qKXAiTMjoZGvK6 z74;t5P?De}FH33sCGO-kD|f||*@*@EvGSQY-L)kg=jT@QePUgmSE;Tq+t|D@wP<{u{-;B3rYx zXMA6sQUm#hTJB5)puXpTH@}UJPSGOgM~XrVY1D?e!lhe|&?UxyF5OZXq~fWxLWAg} z;}Nz&*ej+RANP8$dL*lH16#Sy+6INg>;-Z#2(-UPZmbHPA`dtk6Jw8w$0if={f1-~ zFhc9@znzbufG+$@U@VJ3*JO1M_W?_|DlJ~+i%ZoW_dBJ<6vL!6eZ1oapdXXj2F}?G zjykwJFYXfjr-%Zf#NpUuL>y`#jB!kM(Ly6-#cROp8sC3X-*Cv9W%aWD)|P^d zEPG4f6@3YakcfG|9@5T_ZK8+oV#tm6G#gcV9T6lO#8Lp)Iu_y(f0-&jzzEU!(Zg8eXN%8+z8>PttSf!S3A}_{W$}3#KZl2Q5QB}%tkXOY` zE58lK_W5Qh6D8V)q+6D+0?0{TI}p#9PqY@xDT+ox-T=9T^MK7*-p z++_h~A`gnY)B##n3_0MUaBR9mojGc!=!6-$I8#X}QjuGy`*(a&_U+f6)VVm9P< zRnPNod=9`QEI>7jXZ3&bIONBfsUtPnSxpC!1(P!w#v*>ryuu5>IxJREkB!4l)jzV<3)EhMMhM1KP`+ZL$iuT7M_RA{IemCwm&_ zxc&ME_D76HvA3~K>kL3R+!-Le%5??PMU$~4af5lrm*28nj3N)kKY0yw#|f*p0CaR4 zjODP?^pTGagpD;zYjX|0Q9&HF8!U1(y-&lr1(xqPT;>W)l1~Fyi=W9`^*co{@ z^z%9+wRbA~W(KJovHbX<;H;)a4AkD>#nh=yMM_KeEp3GOEzPSqFLvfyk&R%02{U<` z3z2N>bSL=j7Z$vmDpQ@g09q%tEfjA&$=wj}$aA7eGt|?vxE8<^)?uy(FuU_KSMv}L zg4s24H`jsctA&?8$9pigr+J3axZ+UJf=D-Kyh2+SH+RjETnwUZlL7L)@@3AHn~Hv0{4vuf zX0+%PhhZ%4=vm-R5pE+;(ilrMJxJ%cwJ%ykdXCGR>>=tQxL714y7pxct?3b}UJ`6; zKRQqi_mda*7J&O`*V8tVpJK;bhhc2IxRQ&-Km6;# z+f6;JW+;Fstb6i26o| zpgE6Ef3;=@heVt@*sue17gwl9mE@#JG5fqasOz$6H4MNP|4IoZV#0!bZvck zHLP7Vdb9hyxb17c@eY$W#>6WIa=(GM!}qS5Ay!r4<>I2?`gI3D#H-uLl3Chx*5y%A z&jf%%N`JVKtM*=HdrFT(kt;Zrxxhc7hwUYYw>8%V!O5g=doiTQH$*@sbSQ@#p>!j$ zf=otOM;7&l4=R|f+gYtid{OHBum;BJGEH-jZdvaH4B-Zaqnk-qbFOF0I5{bS5AsEkJ0p@;fEI>vejQj zlIu=Bt!(wKlsO80VR&uMrL)rjwzKSEl9(8M#ojX)* zLI5}OGFU;DnVrql@Qe%Qezf!NB`&2|n0yN5+oLAS6BSA`qyb8ElFJX8&(o6u zxCv5eKdJ9&%6`YyDtBpqb+7eVo=e=Lh674u*1iO0V)j(-pkMa(+CWXX)?d3MJ2@N6 zHmN-+2&3<3HHe^A6JD_QxarRBnyuA_O#DE<#Zt9sPoTECk6#_rsTC{z+gywTL{PmZJINSdP+EWaw9K# ziWiu`Ve>9)G2|wx30%bpV=Lu8Cb&WwM4mYcVCrPi3n31=YD#U;EWpf>Z{o*dp*ehA zz?z;?h(x2ScpPYeB=w-N|G<^f$Jrhqcl^7bpP3(?zm1& z(LRqn=1zB{{I)V=X2^y_BXYAdOKsKWRP6Q+bAE#%-q*L;Z!?IaJZ1eEz%=MAo2y#D zn;{=n{{=i_&Gu%=d1^{K3~{ry%MfrTCn}-=?ySr9wB*>UWg@7fUteau%Bzrfg}gxp zgk}ECItpeM50cKAR2M#MKg4)oOyZ=L8P0Fmmhk-KPEDB{w2pE(W+FwMfPgvxoXrL8 zvidQYU4}qJVnriBP>(dbxQ9dl*;(CBkylfr)e;48InBHQT3FSpbdJjENPJtT7U*79 z%5=Ciy>%AXu$YG->VD{83DCV)tP@kgPJeY$deG+rv}^Ph7(Y9we|jb}=am?t_T zvp3S(2ZdP)jmwXl^SKz?wf)T7tJ7_FoD9Dx&l4`T7IIdombvcp?a22qnDD5r z56QwfXNq$TpT$33d|WXj`IV*^j&vpO0`sif0CH1E_3s03hNk-tL%t|ehQ-s|23UK* z?50h%M>N;u{k>wA*;_<>2TiYbBZ>C9wCRmGT7oFIL%b~Gfy?ARZgs8~_Y&Cf3=6bw z@>iH*q};$7L9`9E0Curl#A$x`xprirno5?riKXTHqo{I;`VKx|>O3m$Qh?a(DkyD$ z!hYe8NdpkS_P+pNo=J7Af1bxYwTn2=_9P6kBavI3o5WVny(QaYnX7y2Q1y*}^XRzb zq~fEHf0pxLNJ-iVQWBHn3_&jOBy1ZomTirm5T2y&-AZzO>gm^ax@SU*Z7x#*6rjt~z$2tP`gOs4vvgMrbog7Hi601u!!x=K>(0 z&8~RGJKniNGMZIN} zof-@`I^GMMpx&tsFFFH(31fFuZUh3nBYG%9Y;h{RUDN}NP=vEt5$UR)AcxnvUbs~^ zQs}l-vVs+DLiC~b^K=5yuduqb`c$%h;J(0!XCMl2>3INFzKr|Se01926t}9=SMMRzU z7ZFl*>Sa*hYLAF9>V2pRP!a_&SEBgY87(coU6IdE8!eyDZ1QwtO!(Kh zMXCRJDClb6t@Tp=iUlx)Pk`5q74D@0Q?#|Fxx%m7tUE4APL`L+FSS?7_nHYz;TP2N zy5;*9uF|3yis>@D0_3@KZ^>1rGLMYw)&}NxyuzClLvC(}i~Tz&Z-=Q&mHTMS<&w<= zVi$a;X#yW67FL9BO)P{)iUbhhBo5~$G0i!@pv1RwEigGQF5%re7-P7G@BO9uId54F zj)n^a;*6+9tfn6;bz*LL`Q%Kmhp-Ae>`GkNt_PIfQWad5Z>(e@)dLbcfGetqp1 zaCV%1j`-ZO{OcNTAn>(a&-;|rI$qYwn!`0saQ6vJ`aeY{9H~&ig_@aVo&z_WlH-4! ga@(Ks_YH+Qa{0x+^PL^W z30j2%2EYIq00S`K0GWuss&zzpNpFiwl=`q)$1N;Lx7iLA;(q|t?K|IaHM$qU{K2H_ zC$Z=4w8~hF1JF~fNzWHT6zL_6Dd;I~Q@EayaZMDY10Vt|q&5sIyyk0}QVUSPyjhC% zF2xTxK|U1P@18AGx(>RAi{ti zVblSm4j6U7r~?KTu;7#YM+ev9alpS*-eq6d5qz$nyC(cMAi~U-4Eq?E5#0a3*@Ay_ zkl_HPm*odhMI7G1%*0U4h{V2pAPQB|-{PY(Sy6xs#0w+)kbjBcu+W{GG)V)vz`{=l z{-T7;-_dMH8wdQu5cyBva=_i;37UuqeI3BTAU#?a3~XI+oS}k&9jl|!ljmm!cW44N zWay-x1Ku1sM4TZ9{xIx<7D@j`(*V{2g>Qfz@L7~94sc*3LeVE0)`kcEJDgxJhv-79 z4TTuqBKe68S%0pJp^S=Y;4=6`5DYa6W0LrWtqO%Qd17~)G6#lKc! z#fQEq1uIsIRf$~qIj^b1OB_Pm#lJKGQ)AJAzyTEUh!x_4JgE>C}p2&bV zveLyqU(H%eL&Lx2U8e;_ZJf;7z-hKmTj7g`7?)L|qRee#4rMM~@6g z_=q{`Mw_qYv2Gydc%Ih`c&TRPl40ApwGE0HkhenU9rr**f zf1q@rXCZs30?yT-gPn4VE@@x|qJm{$M8h7cq5!w1J7#&bMvh1x@4{#e65NYU z0HC?YF@JGU(rS<5R}$5Wqz3W^0D$U#$GkRmmpz##&_j5p1`@87I{_b&QtU{$pO1Mu)2{ee2> zvD-8;fLW_o}>?`q40tR?a14w zOieqS`s3M)+I_*k0Kn8x2hAB@SMv2*I1S>w6FJs*&+UzU8!kdltd3|EK)xt4IUB#* z@TV~dYC<+~%GfnvF``aAT5(y|(3f#Tn13axOLll$YeSvD*o^MWI?yBN4l<(Mj{kR9 z40wZ1(hJKT@$Gk9l0~*6NrXRT^1m0^87=PMk6u3Ty1gb~6VGL=y(rC*tzRgS?4)sY zem1*Gb$K=`{&A^KMROAmR=$tS+2V{m>@trWIGQ2)){yS;4mnE0r2HA_m(^Y!_kR~M zg#T`SM7L@}1CZ-YnJ_h}e*+??x60M#a;o#asb3VO4eC2&33aLkJ=Ktwe=d?VFPfA! z08#hBrE(z!{wrAqdoSq!7)?rgQoswcts!RzN^OaK4? M07*qoM6N<$g2Hn}?EnA( delta 1670 zcmV;126_3x36>3zBYyx1a7bBm000XU000XU0RWnu7ytkUNJ&INRA}D4S!+yGM-=|< z>@F<3LM);ZL_=L`g4)_>tdF*^D55;IJ|JT85q!qfR$H)XEwLuVVvv}oM3DxJ2(5sc zBDg#RS4y=uwnS^Al~}BW`T_)G*Ts?m_dw=J<=X`VKoH=La0+J;0 z=`SS_nzudS2I0g4w;>w?Tk@deq z;b}7Z{b+ch1U|)AC?vU~Jo3%agMfDY>vy;`{Ut0x(z2FJ`s(0k%3Hnj>sx^YoOrPW z7B4`KQR4`pkbfCz%K7X#u8hJ>;(|bo+>lGxIX_jI-W-3etsL$Yx$^@p^oR{J6j6WY z5zm_|XRJ5E&EiC0B}x#w%2;F{0+d~}+lH5o}@_ z-!l21BZg4E5$}Cnd+SXivS7v9wxj%@F*8h!WlZy7Uvg=7*RwPzPwLi2pqfSCBcH|x zoRW9`sAcRHkpD2@K0c=)*&uP$UMNoJkoH% zv^4`;`F{ztPotAuylQ?_pUP0Zfispu+`h=QWXBvh1T7x{>u)ZdXQbx+46S#SwwYp! zI)|Q}VLS9lADo8qFnrPDTF2v>$1J6N67!yBE${q1-@yZsD28Q|>nV8H-M#g+-pAp=BPxq|76Zm?7ThkVPJg=CMnvx~M^Zn5wd3eib_TO$lvRFT zIt9bdG*oy0_h+ZADuoGTQ{1^^)5;Q~k>-+2X0KrL#Tuu-}T`X)rr0Z8{)!GOsX zLVswX&m$?)DVW~^h;SO2$A$`!)FTpgnOH5EL9A0t=1Nq@fF)qpL@o41^h0S~qb;1u zWI=mG05wytm)~Gx?m&wRmo@G7C@Fzh^N@%G_7=qWYazT4=e`+{BxN^f?Ij|yUOlA- zLI3Ko4CTi?Q;BE_o*!^p(c2ig{YLOXi+>oTb{+CXDs3X-s~y$+kppBwL{c7={~~r? z#9k;qWGw4rzHbs_tj9u}o9)>n%DjT8Dx@S%Pr}XS5QR`U)&TI@BF+cI^fx3GGa5h| zdPGFo4~1Trg;913@ot7y;{G+u=USqO&BZ1AzC| zcjQU-0wwJu15cTm5JedC*q}fSM*!e-zPd?zTSxs&8UcvFzG*EUD93a@XO-*%^bVsB z8YCA62J$QWmL#aA^LR%HyjQ&aR~5f?lMy; zM;!`1VP99fuC)YyfyJ#3Em;{3caNPYZC6xvvdyoKcReh>qPXXDO_zXU%?Or4z`9GI zpB~3}H?h#}MBoIp(BG!hJVZt#*QGkXm@&RW*0s^qdXCJlYtp(p+SnA90XvrR%T5K<|^bie&dSf@$vd2Kov7X9`5FU-nZ>yyXgCcMLRs=pUiRa z1*fbINYAThzqJ6hSeRFsBr&H~1?ASJU}y{D){h`pxsIuZJ9d@RcwVDg=mA7&ENg6OmO-ZJZE~pY0I(NuY2Ga!n5*$UW|-}`m;^ZF zlhxH+X7fe{b_uk%&n>Z0-4*?c)F$&eYlYYE*;gi-@v=k 0) { if (!PrintView) - HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"CLASSPHOTO_TITLE\"", - Hie.Ins.WWW); + HTM_A_Begin ("href=\"%s\" target=\"_blank\"" + " class=\"CLASSPHOTO_TITLE %s\"", + Hie.Ins.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); HTM_Txt (Hie.Ins.FullName); if (!PrintView) HTM_A_End (); @@ -1501,8 +1504,9 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto, if (Hie.Ins.InsCod > 0) HTM_Txt (" - "); if (!PrintView) - HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"CLASSPHOTO_TITLE\"", - Hie.Deg.WWW); + HTM_A_Begin ("href=\"%s\" target=\"_blank\"" + " class=\"CLASSPHOTO_TITLE %s\"", + Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); HTM_Txt (Hie.Deg.FullName); if (!PrintView) HTM_A_End (); @@ -1524,8 +1528,9 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto, if (DegCod > 0) { if (!PrintView) - HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"CLASSPHOTO_TITLE\"", - Hie.Deg.WWW); + HTM_A_Begin ("href=\"%s\" target=\"_blank\"" + " class=\"CLASSPHOTO_TITLE %s\"", + Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); Lgo_DrawLogo (HieLvl_DEG,Hie.Deg.DegCod,Hie.Deg.ShrtName,40,NULL,true); if (!PrintView) HTM_A_End (); diff --git a/swad_menu.c b/swad_menu.c index 109af9ee..b68dc854 100644 --- a/swad_menu.c +++ b/swad_menu.c @@ -324,7 +324,7 @@ void Mnu_PutIconsToSelectMenu (void) HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActChgMnu); Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu); - Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Ico_UNCHANGED, + Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Ico_BLACK, Txt_MENU_NAMES[Menu]); Frm_EndForm (); HTM_DIV_End (); diff --git a/swad_network.c b/swad_network.c index 19af12ac..38cc5468 100644 --- a/swad_network.c +++ b/swad_network.c @@ -231,12 +231,10 @@ void Net_ShowFormMyWebsAndSocialNets (void) HTM_TD_Begin ("class=\"REC_C1_BOT LM\""); HTM_LABEL_Begin ("for=\"%s\" class=\"%s\"", StrName,The_ClassFormInBox[Gbl.Prefs.Theme]); - HTM_IMG (Cfg_URL_ICON_PUBLIC, - Net_WebsAndSocialNetworksIcons[NumURL], - Net_WebsAndSocialNetworksTitle[NumURL], - "class=\"CONTEXT_ICO_16x16\"" - " style=\"margin-right:6px;\""); - HTM_TxtColon (Net_WebsAndSocialNetworksTitle[NumURL]); + Ico_PutIcon (Net_WebsAndSocialNetworksIcons[NumURL],Ico_BLACK, + Net_WebsAndSocialNetworksTitle[NumURL], + "CONTEXT_OPT CONTEXT_ICO_16x16"); + HTM_TxtF (" %s:",Net_WebsAndSocialNetworksTitle[NumURL]); HTM_LABEL_End (); HTM_TD_End (); diff --git a/swad_photo.c b/swad_photo.c index 254a105a..cbda9cd1 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -2115,6 +2115,7 @@ static void Pho_GetMaxStdsPerDegree (struct Pho_DegPhotos *DegPhotos) static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos, Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) { + extern const char *The_ClassPhoto[The_NUM_THEMES]; MYSQL_RES *mysql_res; unsigned long NumDeg; unsigned long NumDegs; @@ -2157,7 +2158,8 @@ static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos, } /***** Show average photo of students belonging to this degree *****/ - HTM_TD_Begin ("class=\"CLASSPHOTO CM\""); + HTM_TD_Begin ("class=\"CLASSPHOTO %s CM\"", + The_ClassPhoto[Gbl.Prefs.Theme]); Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, SeeOrPrint, Usr_SEX_ALL, @@ -2192,6 +2194,7 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassPhoto[The_NUM_THEMES]; extern const char *Txt_No_INDEX; extern const char *Txt_Degree; extern const char *Txt_SEX_PLURAL_Abc[Usr_NUM_SEXS]; @@ -2273,7 +2276,8 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, { /***** Show average photo of students belonging to this degree *****/ Pho_GetNumStdsInDegree (Deg.DegCod,Sex,&NumStds,&NumStdsWithPhoto); - HTM_TD_Begin ("class=\"CLASSPHOTO RM %s\"", + HTM_TD_Begin ("class=\"CLASSPHOTO %s RM %s\"", + The_ClassPhoto[Gbl.Prefs.Theme], Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Usrs.Listing.WithPhotos) Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, @@ -2360,6 +2364,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg, { extern const char *Usr_StringsSexDB[Usr_NUM_SEXS]; extern const char *The_ClassDatStrong[The_NUM_THEMES]; + extern const char *The_ClassPhoto[The_NUM_THEMES]; extern const char *Txt_students_ABBREVIATION; extern const char *Txt_SEX_PLURAL_abc[Usr_NUM_SEXS]; extern const char *Txt_photos; @@ -2453,7 +2458,8 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg, PhotoWidth,PhotoHeight); /***** Caption *****/ - HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION\""); + HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION %s\"", + The_ClassPhoto[Gbl.Prefs.Theme]); HTM_Txt (Deg->ShrtName); HTM_BR (); HTM_TxtF ("%d %s",NumStds,Txt_students_ABBREVIATION); diff --git a/swad_photo_shape.c b/swad_photo_shape.c index 7b3d3457..0d97966a 100644 --- a/swad_photo_shape.c +++ b/swad_photo_shape.c @@ -25,7 +25,9 @@ /********************************* Headers ***********************************/ /*****************************************************************************/ +#define _GNU_SOURCE // For asprintf #include // For NULL +#include // For asprintf #include "swad_action.h" #include "swad_config.h" @@ -54,6 +56,7 @@ static void Pho_PutIconsPhotoShape (__attribute__((unused)) void *Args); void Pho_PutIconsToSelectPhotoShape (void) { extern const char *Hlp_PROFILE_Settings_user_photos; + extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES]; extern const char *The_ClassPrefOn[The_NUM_THEMES]; extern const char *Txt_User_photos; extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES]; @@ -81,7 +84,12 @@ void Pho_PutIconsToSelectPhotoShape (void) HTM_DIV_Begin ("class=\"PREF_OFF\""); Frm_BeginForm (ActChgUsrPho); Par_PutHiddenParamUnsigned (NULL,"PhotoShape",Shape); - HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user.svg",Txt_PHOTO_SHAPES[Shape],ClassPhoto[Shape]); + HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user.svg", + Txt_PHOTO_SHAPES[Shape], + Str_BuildString ("%s %s", + ClassPhoto[Shape], + Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme])); + Str_FreeStrings (); Frm_EndForm (); HTM_DIV_End (); } @@ -143,3 +151,88 @@ Pho_Shape_t Pho_GetShapeFromStr (const char *Str) return Pho_SHAPE_DEFAULT; } + +/*****************************************************************************/ +/****** Get and show number of users who have chosen a user photo shape ******/ +/*****************************************************************************/ + +void Fig_GetAndShowNumUsrsPerPhotoShape (void) + { + extern const char *Hlp_ANALYTICS_Figures_user_photos; + extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES]; + extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES]; + extern const char *Txt_User_photos; + extern const char *Txt_Number_of_users; + extern const char *Txt_PERCENT_of_users; + extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES]; + static const char *ClassPhoto[Pho_NUM_SHAPES] = + { + [Pho_SHAPE_CIRCLE ] = "PHOTOC15x20B", + [Pho_SHAPE_ELLIPSE ] = "PHOTOE15x20B", + [Pho_SHAPE_OVAL ] = "PHOTOO15x20B", + [Pho_SHAPE_RECTANGLE] = "PHOTOR15x20B", + }; + Pho_Shape_t Shape; + char *SubQuery; + unsigned NumUsrs[Pho_NUM_SHAPES]; + unsigned NumUsrsTotal = 0; + + /***** Begin box and table *****/ + Box_BoxTableBegin (NULL,Txt_FIGURE_TYPES[Fig_PHOTO_SHAPES], + NULL,NULL, + Hlp_ANALYTICS_Figures_user_photos,Box_NOT_CLOSABLE,2); + + /***** Heading row *****/ + HTM_TR_Begin (NULL); + HTM_TH (1,1,Txt_User_photos ,"CM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); + HTM_TR_End (); + + /***** For each user photo shape... *****/ + for (Shape = (Pho_Shape_t) 0; + Shape <= (Pho_Shape_t) (Pho_NUM_SHAPES - 1); + Shape++) + { + /* Get the number of users who have chosen this layout of columns from database */ + if (asprintf (&SubQuery,"usr_data.PhotoShape=%u", + (unsigned) Shape) < 0) + Err_NotEnoughMemoryExit (); + NumUsrs[Shape] = Usr_DB_GetNumUsrsWhoChoseAnOption (SubQuery); + free (SubQuery); + + /* Update total number of users */ + NumUsrsTotal += NumUsrs[Shape]; + } + + /***** Write number of users who have chosen this user photo shape *****/ + for (Shape = (Pho_Shape_t) 0; + Shape <= (Pho_Shape_t) (Pho_NUM_SHAPES - 1); + Shape++) + { + HTM_TR_Begin (NULL); + + HTM_TD_Begin ("class=\"CM\""); + HTM_IMG (Cfg_URL_ICON_PUBLIC,"user.svg",Txt_PHOTO_SHAPES[Shape], + "class=\"%s %s\"", + ClassPhoto[Shape], + Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]); + HTM_TD_End (); + + HTM_TD_Begin ("class=\"%s RM\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_Unsigned (NumUsrs[Shape]); + HTM_TD_End (); + + HTM_TD_Begin ("class=\"%s RM\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_Percentage (NumUsrsTotal ? (double) NumUsrs[Shape] * 100.0 / + (double) NumUsrsTotal : + 0.0); + HTM_TD_End (); + + HTM_TR_End (); + } + + /***** End table and box *****/ + Box_BoxTableEnd (); + } diff --git a/swad_photo_shape.h b/swad_photo_shape.h index f882e01b..2458d3c7 100644 --- a/swad_photo_shape.h +++ b/swad_photo_shape.h @@ -48,4 +48,6 @@ void Pho_ChangePhotoShape (void); Pho_Shape_t Pho_GetParamPhotoShape (void); Pho_Shape_t Pho_GetShapeFromStr (const char *Str); +void Fig_GetAndShowNumUsrsPerPhotoShape (void); + #endif diff --git a/swad_theme.c b/swad_theme.c index fde749c7..f40ae504 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -444,6 +444,17 @@ const char *The_TmlTxtColor[The_NUM_THEMES] = [The_THEME_DARK ] = "Tml_TXT_DARK", }; +const char *The_ClassPhoto[The_NUM_THEMES] = + { + [The_THEME_WHITE ] = "CLASSPHOTO_WHITE", + [The_THEME_GREY ] = "CLASSPHOTO_GREY", + [The_THEME_PURPLE] = "CLASSPHOTO_PURPLE", + [The_THEME_BLUE ] = "CLASSPHOTO_BLUE", + [The_THEME_YELLOW] = "CLASSPHOTO_YELLOW", + [The_THEME_PINK ] = "CLASSPHOTO_PINK", + [The_THEME_DARK ] = "CLASSPHOTO_DARK", + }; + /*****************************************************************************/ /****************************** Private prototypes ***************************/ /*****************************************************************************/ diff --git a/swad_timetable.c b/swad_timetable.c index 778119a0..e5bc7e26 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -212,10 +212,12 @@ static void Tmt_FreeTimeTable (void) static void Tmt_ShowTimeTableGrpsSelected (void) { + extern const char *The_ClassPhoto[The_NUM_THEMES]; extern const char *Txt_Groups_OF_A_USER; extern const char *Txt_All_groups; - HTM_DIV_Begin ("class=\"CLASSPHOTO_TITLE CM\""); + HTM_DIV_Begin ("class=\"CLASSPHOTO_TITLE %s CM\"", + The_ClassPhoto[Gbl.Prefs.Theme]); switch (Gbl.Crs.Grps.WhichGrps) { diff --git a/swad_user.c b/swad_user.c index ab2457a0..9c433234 100644 --- a/swad_user.c +++ b/swad_user.c @@ -6118,6 +6118,7 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, struct SelectedUsrs *SelectedUsrs, bool PutCheckBoxToSelectUsr) { + extern const char *The_ClassPhoto[The_NUM_THEMES]; static const char *ClassPhoto[Usr_NUM_CLASS_PHOTO_TYPE][Pho_NUM_SHAPES] = { [Usr_CLASS_PHOTO_SEL ][Pho_SHAPE_CIRCLE ] = "PHOTOC21x28", @@ -6168,12 +6169,14 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod) { UsrIsTheMsgSender = true; - HTM_TD_Begin ("class=\"CLASSPHOTO CB LIGHT_GREEN\""); + HTM_TD_Begin ("class=\"CLASSPHOTO %s CB LIGHT_GREEN\"", + The_ClassPhoto[Gbl.Prefs.Theme]); } else { UsrIsTheMsgSender = false; - HTM_TD_Begin ("class=\"CLASSPHOTO CB\""); + HTM_TD_Begin ("class=\"CLASSPHOTO %s CB\"", + The_ClassPhoto[Gbl.Prefs.Theme]); } /***** Checkbox to select this user *****/ @@ -6187,7 +6190,8 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType, false); /***** Photo foot *****/ - HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION\""); + HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION %s\"", + The_ClassPhoto[Gbl.Prefs.Theme]); /* Name */ if (UsrDat.FrstName[0])