vlutK{lWa6@h^HHv
z#F?L|7(z;>O0RB+NNy#NX;l#Yo6}F1!JfoL8O+-+_+sNlN5DYl)I*=wb0JUq3GO;L
z<}{7Uj{yq|5AgHa8BL~Q>E@0rdIpnkWp=OdBY&(yDE0_o6&_2)L*_|1=@}Qq^layA
z8dLdd?DM?SQz+`{PyLYm!x<;l$O}$gd5UX!^rSxNk9>sIYwP1F
zw)5>vf9z$781gwMEV159Y*yT)4UR}s3g7V<7`Ogif?M5U{=5nw+d;k0?-!k&BCW=`hePq???Nqz)^ab$1h?79t)qL
zDXhp`W!?7W$9><0?TVa=njkzq^1pm=Q)VBF)s^t}H0U0Gte$o$;qE@g4L1&W&Q-ug
zNS(v_kv&d}#X^IB#=#eHG%j$*eKZFKIE2ameKHbx(8k7X|D)8hMt;?$TUQ7~$+W#5
zflwp=e3Q)GpY{T$<|K$&paFBLcR0$^6G?=rYz{^%uHAT*a~#{OCDYo<8eoI1)=9Z5
zRn=lA?W7C2kY-^2-k?{>@(3MpbIrr^a17)yLVb--oMSSXm7FD<*mInrKyJWl4w4`r
z+r`T-2@sg;QETf)?5+n5FQExxxe2I%iMaQcDxGdycKBcy}{viVQcd0tAzD88E-ysmYHD@j5jmbvqS|%Z(S45
z-AagbI3Bu=wlH#<^vQw$JOYqAeL2Q<&x#zvri&q4mIEB82%P?m4m9!X^z)xs=m3|r
z%mB$|(@}ZyN^+5bRvDH$zZD2F#EbgnBr8bk$$;W99TtIVR7?Q-IHG*5FV
zhM|Mvq0HJdh5Qr^fEwIv9Uf>FeugmK4=nV0kkN=3)?JvwO5S;$W*j&+923r%y*B%S
z95QZ2NC=KL;YcbJuvEXrbp-9GXo-t|pz(K58veS_sYDy;=Jh&A)AgMEguavbXf>*a
zVp+AdC8>%Bx6`ztUpkYQDYVwWjJeA(TgjB+-dD{S7~pqN-}xT=R3XxKAYN5`vlB+V
zMB%z+&ATbe7)dpq7flbogYC6EaQ&`0&b>k}*W@hiJLC}+
zY>(h#>WBi{mGklX9p%@HZGG)r$C%rJ*z#yRxzOO?bV5)N@EYWUqV(A&GH|_4f=b|k
zoVG{q3`rHql3X^?d6U~KYfnLr@bk7a+jBr-6{ZakF~pV{kUhON
zE6@^cg$1mI@k{lhGH&ralv{ZQWyNL{PTOMMx%@4#^6WI~w7R!w_t06%dry#mq9>g`
zAVo{%$~%E^hj=Ja(<{4fmU0H_>luLFc7{5DzEXJ|3AW!_$dU5U^bSn?75{xF2_4bS
zArY;z43@kac|6#%u>IHg_ESJl+c(@)DV9ms2@6f|tG&1nG*Df7U$HiiO>g%RgphuN
zO{Js}GIx{YHX-Dx>i8JpB
zDs;#)8^r8i05KL@={#9l1IbHppvNWqH`b2
zUG^9102;13x6(`g`)5D3e@);>$(9&;MQc?%GOix5p}JHQ;Rh;b*@e+2)n8c2P4AOF
zhgjSFVcI3YrqQKIE}Aj1;2Mx6n`noBnT25g{BqZ5D$7#*QP}U-NYgvc7AF=9nTynx
zVd`5vo;AdN(DeFJ55DEo0$0Nv;I%z%RZ46=3HWA&_pa6QhQE}~lyp0v6M`P+
zhn7!aH23JpKuIsXdmcya(k@P|wqMiPDwk5{mn+T38Em!$3nvRcxOrc0j{CG^d9Y7d
zLz8>{xE-ZDAEY)o$=N%IW0K7Vkve$ZHz3XCdFiK`KzUJipbOJ?$T82$)cRyW?}1QE
zuMhEzjL1T$B1@1tim(;$NhvZQRfFse)@p^B`u=Wplp~N>kC`oBS`oc>?gzefH`_Sj
z1U5zOp5~Dlo2m!)sAsmk=IN;#baB37^(8z%WQ>@$|IXGkcQ;M3%equ?WmS6C%Gp@f
zzBs^~%&Ql*s2P^9gYnI1^rlC*!#nyGr+JfhEk+FF*Ht#x`yGUcjHtnFsKbgh
z*hl}C1{ce3y5-c+*PeQ<*Cyms-oPz*eA%g
ztMu|q*NaMpoErXLyneI&u56?k_HcW16QwjY|4$9qmt%2nyQG2~ekeypO~u=uv;Cys
zXDQiXsIjHbH(K?kV7bbrVaa^s1rRiG=WpjtO+WKM)d(&~zWr>CYP;HoC9GhkzOSQK
zwpR{DU7Dv2kHchoL7KtK^DA&|vJT;NuP~8~-!%&-A|2LQ+AS&Q9%B0<6FrOil>9~!
z(Tw|OYqiy!k2Vi=OvF^)`cJhYH9GvhUBAYKlH`?S5D!?JKe{QBdJOQ`4LbdSF!6
z3?Jg!3o2z0^IPk5olEJ}8jl4{$!{crl<9tKFFV;K
zwm7ABzQcXo`r`=9`Pvh|M?XXIp$p2>u1#u`TFtxux*2HlzB~{|gwkUo9(|=n3jN+A
z&@O1dx_8}FKko_Mxk=Pw)j_t%hJwxKj=H1+QzSyPtVUiEWSG(kqy>|<#Tb3t`pQq1
z$YV%mP(T?Nmh(H6U~%*{RgCV+{+G4b>sv($wKt$3z*CKrg@~L6^b1
z2jQE5H?pS63h5n$ANMbdHl({n3yf;R?}M~1V_{g`Jf
zbswSbo*pV|I@++>?zc4DqD^=x7b59UCCS1zl(nUAo0QYh;9cbOAm_$R{F4c9%yMcZ
zQFq?HjzBK1X%KKVCR8^#iKC048+R0XkWs>$H|u~392Jzj3*ElIJ{!3X8E%U=&s7Vd
z%F{N=&-iAfsDi*ZMBO@S*YKNk=Rr5)=3fs;?BHn?_r?y=o@uPE_@h^v76MDFe&Z*m
z7=BYn#0^!>Z~Jh<=*yj_gxcC_&DXx_NFWV-!K#*heFN>+3WFmTjl`9Dck_ii01H~F
zvM!I8@IyN9hI~(3TodoYGNXf?=;CK}#8vrO)sDwdii$$|9BE_d=KHY*Pcau|hoK-r
z?9lIi0F{|t2Lm>`0y*(#^MYa_z$917P>4;MM4qFYa0ST~#
zyg2#kZja{WNg{Bmm;}r9E3<8}%`@K1k@kf{L!La@tL*RZFC=g>$GK)%)`5bq3h+rf
zmhPQW-;%z*z!1=O>dGxImjJGru%Wl{+=Y*Yg`2ZJ)kT}jAx=Aqs&*j<2dw%;rEYMq
z8m|&!S^DwsmVP$)A@nN6UU&LI#Ais2<2b8~NKksuNi~qjJ(flqe#y3je6k|xXF8Pd
zDx?(V^Cxi?-|#riszd*LqIYwU+?3Jfij>bL3VvJezxq+Qo^KZWfzmedMat<&vZ{;p
zrJd8xHx>Kg&&6|==M5OX4>`K^aqP2B3ZKiE!%dWLXWxbBQ#LDCe!836M`j9E&BP%?
zEQA
zD=Z^M!YN`LP{@9cH9bLc{}l!r(&EL(oi1AxVPaCFR&!B^P@Rt%a!?412rNMIa<6)<
z{*79$_UD>Vuw;a&3FMvWr}o#=A1@jIq$cYUZmL=QA?1l1EymE=
zrXJ7glo|Y23I#310~cD^+HPUv*C={jq*|v&`k(znw?Wj#L3%0q^_M~YNie>M(Cn?b^~WgVY5#@zVp&vz)&st-4JBwfs1rB>WIu43+Iam_8SYkf`wtdZD~L
z`iIy};|W`nxHy#d&1IJV{G74JO(U;addJs('avatars.js');
$this->addJsonHook('Avatar', 'DoAvatar');
$this->addPartHook('Avatar', 'ServiceAvatar');
-// $this->Config()->Get('plugin', 'identicon', false) && $this->addJs('jdenticon.js');
- // GitHub-style
- $this->Config()->Get('plugin', 'identicon', false) && $this->addJs('identicon.js');
+ $identicon = $this->Config()->Get('plugin', 'identicon', 'identicon');
+ if ('none' != $identicon) {
+ if ('jdenticon' === $this->Config()->Get('plugin', 'identicon', 'identicon')) {
+ $this->addJs('jdenticon.js');
+ } else {
+ $this->addJs('identicon.js');
+ }
+ }
// https://github.com/the-djmaze/snappymail/issues/714
$this->Config()->Get('plugin', 'delay', true) || $this->addHook('filter.json-response', 'FilterJsonResponse');
}
@@ -84,9 +89,15 @@ class AvatarsPlugin extends \RainLoop\Plugins\AbstractPlugin
protected function configMapping() : array
{
$aResult = array(
- \RainLoop\Plugins\Property::NewInstance('delay')->SetLabel('Delay loading')
- ->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
- ->SetDefaultValue(true),
+ \RainLoop\Plugins\Property::NewInstance('identicon')->SetLabel('Identicon')
+ ->SetType(\RainLoop\Enumerations\PluginPropertyType::SELECT)
+// ->SetAllowedInJs(true)
+ ->SetDefaultValue([
+ ['id' => 'identicon', 'name' => 'Name characters or squares'],
+ ['id' => 'jdenticon', 'name' => 'Triangles shape'],
+ ['id' => 'none', 'name' => 'none']
+ ])
+ ->SetDescription('https://wikipedia.org/wiki/Identicon'),
\RainLoop\Plugins\Property::NewInstance('bimi')->SetLabel('Lookup BIMI')
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
->SetDefaultValue(false)
@@ -94,7 +105,10 @@ class AvatarsPlugin extends \RainLoop\Plugins\AbstractPlugin
\RainLoop\Plugins\Property::NewInstance('gravatar')->SetLabel('Lookup Gravatar')
->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
->SetDefaultValue(false)
- ->SetDescription('https://wikipedia.org/wiki/Gravatar')
+ ->SetDescription('https://wikipedia.org/wiki/Gravatar'),
+ \RainLoop\Plugins\Property::NewInstance('delay')->SetLabel('Delay lookup loading')
+ ->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
+ ->SetDefaultValue(true),
);
/*
if (\class_exists('OC') && isset(\OC::$server)) {
@@ -104,11 +118,6 @@ class AvatarsPlugin extends \RainLoop\Plugins\AbstractPlugin
->SetDefaultValue(false);
}
*/
- $aResult[] = \RainLoop\Plugins\Property::NewInstance('identicon')->SetLabel('Else create Identicon')
- ->SetType(\RainLoop\Enumerations\PluginPropertyType::BOOL)
-// ->SetAllowedInJs(true)
- ->SetDefaultValue(false)
- ->SetDescription('https://wikipedia.org/wiki/Identicon');
return $aResult;
}
diff --git a/plugins/avatars/jdenticon.js b/plugins/avatars/jdenticon.js
index efaf9f69d..6652881a5 100644
--- a/plugins/avatars/jdenticon.js
+++ b/plugins/avatars/jdenticon.js
@@ -671,7 +671,7 @@ window.identiconSvg = hash => {
renderer.finish();
- return 'data:image/svg+xml;base64,' + btoa(writer);
+ return writer;
};
})();
diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php
index 6b18a05f9..2cbf7a9d0 100644
--- a/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php
+++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php
@@ -12,5 +12,6 @@ class PluginPropertyType
PASSWORD = 3,
SELECTION = 4,
BOOL = 5,
- URL = 6;
+ URL = 6,
+ SELECT = 8;
}
diff --git a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html
index 0e952f2af..21a2a68d1 100644
--- a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html
+++ b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html
@@ -28,6 +28,9 @@
+
+
+