From 833c93bb994bfb2d8bd53b6af3a0ef50c53dac5c Mon Sep 17 00:00:00 2001 From: nuxsmin Date: Tue, 17 Jul 2018 01:31:36 +0200 Subject: [PATCH] * [ADD] Unit testing. Work in progress * [ADD] Added verification after XML exporting * [MOD] Updated EN translations * [MOD] Code refactoring --- app/locales/en_GB/LC_MESSAGES/messages.mo | Bin 99006 -> 100184 bytes app/locales/en_GB/LC_MESSAGES/messages.po | 2647 +++++++++-------- app/locales/en_US/LC_MESSAGES/messages.mo | Bin 99006 -> 100184 bytes app/locales/en_US/LC_MESSAGES/messages.po | 2647 +++++++++-------- .../api/Controllers/ConfigController.php | 3 +- .../Controllers/ConfigBackupController.php | 27 +- .../web/Controllers/Traits/ItemTrait.php | 2 +- .../CustomField/CustomFieldRepository.php | 12 +- .../CustomField/CustomFieldService.php | 12 +- lib/SP/Services/Export/VerifyResult.php | 85 + lib/SP/Services/Export/XmlExportService.php | 147 +- lib/SP/Services/Export/XmlVerifyService.php | 226 ++ lib/SP/Services/Import/KeepassXImport.php | 2 +- lib/SP/Services/Import/SyspassImport.php | 4 +- lib/SP/Services/Import/XmlImportBase.php | 12 +- lib/SP/Services/Install/Installer.php | 2 +- .../CustomFieldRepositoryTest.php | 133 +- tests/Services/Client/ClientServiceTest.php | 2 +- .../CustomField/CustomFieldServiceTest.php | 398 +++ .../Services/Eventlog/EventlogServiceTest.php | 147 + .../Services/Export/XmlExportServiceTest.php | 159 + tests/bootstrap.php | 1 + 22 files changed, 3970 insertions(+), 2698 deletions(-) create mode 100644 lib/SP/Services/Export/VerifyResult.php create mode 100644 lib/SP/Services/Export/XmlVerifyService.php create mode 100644 tests/Services/CustomField/CustomFieldServiceTest.php create mode 100644 tests/Services/Eventlog/EventlogServiceTest.php create mode 100644 tests/Services/Export/XmlExportServiceTest.php diff --git a/app/locales/en_GB/LC_MESSAGES/messages.mo b/app/locales/en_GB/LC_MESSAGES/messages.mo index 643f83e3a1edae337513f9056405ec25b40b3fc3..68b3ffe94845f8de78a18a6989855ff490a5e4ab 100644 GIT binary patch delta 29618 zcmZA92Y8NWrGW zNFW6vm=CL93+#Zk@l(u1wj2SR< zyxKd=o=6rl!ZA12MeRga)XIiqUYv`nw-G(K6SLwa%!H3H5MQGD$&}!76~Yi?LtTxL zO?I_HO{@dvXMEQvBHF5tQ5`Nvb+84q;USxU2{phYn|_1Z(yWPQg2k~I>H4UF2Vi!b zj@p4wFdcr58fObSK}7ZwQN>>{2R_2Km}Zz6@IBNKM4@&d5p&`c)XJ8iCbkmQ-!{yN zhfyoOhAO{}TF^hJoy{-5 zat~EM?MPEE7iyqjo33Ef^)VOuZ5<-&Xn-vkff`^cs^bNy9a(A1zp);$<)=^+y^3o0 z1k2+aEQ94o@n&Ej)ZO?PRc|MzN9QmRb#MlC2Yy5Cz;jH40i(@P1fsUK1ZqX$m>X-O z7SI`WL<3MeFa)&#$Cl4T^}iHz;ufTy3pZeV#VfP;`VxjsM*>_6FTd12H-D`H`6FqxU?jHAfV z8IMJ6;XKTTU!uwn+w^tR%3s<1tW!+71m-2bChF)qqu#0k*bPUb&ipiLg12ottuxhZ zMUXWd8&aVeY71wh&UP`XgRNKx51=kv+G%Fu*-#TLj(%7h_4+kJEvP-JejI8C#-SfN zGl^*BNw#1eYUZh^OY#%?;z^r-4%N{e)Bt~>?uO5FvlF>d{e@y7tcRL-1nTZ2q92Y! zCgQlJ5Yfz&Pz^VrCa?$9@FZ%$n>PO`YKwh7F!i#b+7(6J?y9JE&CwrwqAq0=s^0sk zBbbI&_5QCRq6U|(Pf%x^=0npU2(^+>n{J63C;~On1e>0MEl7Wi&G81d#4;b5-=Icg zQ_=^pDrTBNJ;rx6CejS&VRif!wZdF8%|t>lE$Ql*9_ye6ZibpjHw?fS)XGMo&O90Q zntg@Z;bW+syk-3Zod7aiv&=x5Q0c;`ieZ=zYod0j5$d(+f_kk+V|hR5KShxGj;kV(a%40_eQ1W;3S&`QJ{z_2rKme_ z0IT6u96K{uE^#1oDqJ~3JGahf#^H4MY z6m#GfTYk{yUqD^jd#DvXwdHA&&6(#y-H9rwqv(j5KrhsIQP@K7e*zJ$d=Ki(529X| zC#W;ZvdHBsi=pVj9;lATq0asjRQw|zT`@C7h0nR9)dce zk8J)osCH*C7-~kL{eAjQbLXLIjgA$5*-72Eq`)I6?g0^HFE{waq_^ zs`oc)BDpsj%c6FmF=|5HQAe3z({pez>CZQ^|E-B+|AJo(u`hPP^QaYsZ{lY;cEypn z5_PtDzvM?N*2eO<6=U%h>b>r;+0>tk+PT;0hqbowYa2Gi`nYxr`>!p&M@BQuv(@}? z>4!Z?FT-^BA8JKuwwa%DxiK5*64n~l)~KC`!1Op0)ov1M0?Fu)%P|1gIz)7qDX500 zFgxDEZ1@V*L12pcVHAuRNmoW4NqsDjQK&Osgxc~H%#24+{r-X_@hR#u=ljaM#!e+7 zx)l9U6Pb+aXcg+rcG>hr)Yd=4teE?2Gr>}*mDWOEY=T-@E6jl1FbhUuP8^2WafZov zT%QurOgCG1qXsyJ+On&t0dCv;C#WOy`Nq^MZ*7SBV0FTr7>7A-~S}jqodWs;Llw+QOn(4Qrt8z%bN~j7RO%64U_Sq9%MCwbE-g{R9I^`)oJm*-`a_ zQ4^_-`Y&x)J0hBKl&vrZb+&WSdpA(8*(nUdXQ++>zBOA}*jfqIPczir>5ZxvZ=H_X z(WR)PT8)loyq<_w@GWYqj$jMCfGRJx!wggrRj(WIpsj;u0jVog!~_qF*>91*Q-qIC(DBAtR7;0o#z{f&AHGVV7W zb?IE)ovLwF~{{Kk*Z|u#nSj3gE9DfI>Q#2ALn2} z`~nN$5!3+pP-mLvfLTZ(EJV60R>m%<70*GnUy54rPW1ly{~02h(S6j4U!qo; z&5z^kr~#{DCG3D2_(RldwF&j(^gQZqYVeb}j3aR~=_NQ5n;$Yqa2}VCzK>2rBGV4@ zw;p%|b?XC;m=20yG13iDcOn`a-~#M`7qC5s9yL4VpmuNt>S(rOD?EjM=s9M-3&l}) zrR*`zUt3y-3~fn!ThJM`BLmPEhhusii`t24SOiz1CUyXIgpaW>x{jM8D}pL7jm5DO zHpTJQACI&D<;e&T6FIH-pEQ5~N|eTXijUZZE271NzEN0t}0_2KA` zO;K-2TU#EBX-H2&AN&Bdqs|N>Wr!?9ZT0t<0S{TvpkAA+m=RxNX3TKfbd(3Hlg^Kt zaAyp~DAXmLk2->HZ2CItPWhhk?!4nFMI?-jp6J1u7=oLuXRre47uX2Po;7DV47GF1 zQ1ySYy3d((2`ou|8w|%$SOPboCU6?_=;!~xMASjH^QJ;I)aB}nrEw~1MO#tzu3#|w zUN93bjT)#WM&WSOPF+Iva~E|K884c4B~j@%Qt$r|BD$S3P-mTjIdCs(g=aAjX8Xl# zWhm;4*BR9=0W0Dsm>W-`j`SXCprBvP0xDViqRQu>QGdhC|fWS)$uax zW~@beALhb0s3XaB#k{@^P_OB5)FqyV8hEBnuR>kgb*PD^Vgda53j42H``8w|LT!D} zRkMOnRJx(HE9N5|i+X)N!tA&JwW4)4{Vi&MW2hs&kD9>0w%q@k88@FpM3{mx+!WQ&Rin;Fnodf zFl@nen1Wi_cc`;GiJHJ&)LA}5)ys0j993@A0!pDK+z|D;b;Fi88Fh3gQT^UQj@)s* zAfheKeA5&Z#e$@(pe|)6)S33gG}sS6!U5O_|G@TG^%j5GfHSZ^9>bzo@i+ct9J`=C zYzI+Ca}o>b{eMJ6Gs}G2tTY%ka4poOY>3+0&gi}Us0k0ZW&&GLcjr6wV|>>SMAYFi)UCf^)6Y;HroU^>v;b-X!8j2s<6zv5dX0Gr47lQAaY`=Fh`sq(8@W_!KqZ ze;9%p9+*#YIn)ZL>>TNk}%YVZRq#vVR%l{lAnn2!1#&Q@=x+!X&Z8E38MELs%&7N2?K86_ zfvC%q7j<^!ZT@?xx1bkh#W9#2XQ3vr619L$sEPfG;h6m|^AkO;B*Yo z`#*z77hHrj@hR$z!~Qlu<=#WRE)!9g=0jA6>rq>I5R2nA)Wp;MV-{2jHNlFg9jI&5 zjZr()9v#gnf=DhLjau0})E0e)0r<5o-;ZfYUqtQ571Tstp!x~=*StmHsEIX4eP5zb z6PS$Z|3lOcEc=)J*QHoVhE})%mEMLqai{fX)XMLmI`)5VCR_xwk*HZQ(p@f@@G8ln2&~ug!!?p)OM+)DE;m?Nmpb z-v>3(7}Qpe#~}Owwc-^ve>19|Z;|$n>mU(bvXiK-zKm-4%v5j%yfHHlLe(pcd^lWH zQ3Ex$>9(i|^g>N+sCA4jpN1NE0cuB9p!dK3*Avl}?Db}FX;2mKqbBkXYKOA8+}@)p zf}x~qVPzbI6>uf0AuG z?Kjez4ugHo1goJY*c`Pp?NJjOgc^7xYT`3d{U)Inw#uecZ25khf5_MEc;C}s$k3KP z!>U-=&veucb;c2>6%V%Q@u(GjfEsui>Jz*bb%(B^Ci*vOqOVaC%jIwSDS+xX+}|+` zs*|DDt{tl57+Y~7dM^#;BYy?zl6{9-;c?UsTt*FiAM>D3I=4$-y!@!6DS{phL5uam2Dlze z;zQJcL7C014?&F+j^022uSY~@)ed!Ad!x3vA8H52q6V6bT0xRcZ$MqH9jNwuQCoZ5 zrhh@TyKB?`q9)>(#q^sq3-7Ihro0GhhsvY+uZ#MgbaRO4b`D2%I1`KEGSu&K`%yncZlNaRlg-r6i|QyG zmERn7G<~rIjzWD8R-q=i3w4yoP&<4Eb?Kd(M6^{;Y=KX9(;zEqLWNPUVR@Th9d+i- zF&NvTj$%0KlRD9s&p`D%4|O?L+w>*uLi!Q1Fvry-hxztLS?6Oo751P9pI~v!np5v9 zzeZs>9EhcH32Li0o( zQD?T@mhV9g@HgtV`{pqN=RtiLOQBX;7IpTuP-oo5=0~CGCD`;xbaZyph^XQ`)LAb_ zeFxUs{0*pjsi+n0NA1XQ)I_eMw)8LbU_f4T_GM77V;xk#O;J107IkU+~Hfw$;bPzj=ms6 z?nVuK61B1`w&EYC9Y~YkbetKrl6+VlOJgnUkJWGu>XKeTUFN_7CS4CzKLJ(mONWRm z+(iwXr=Z!1;;6H#j9O6*)Jhtn>UBgNML*PCi9=0z3hHPUp%%0e)qa=t2h>rVK<&75 zo`^2pZPW^%*a|ODD@;?!eEG7YK1|_Q6FZ_-JRi&8NmPfgQ4`GMF=w0)brcm)6RL|^ zNPFaRJFb32w9-MSna80fG6~gS7OKNft(#EwcA{Rt;sQ4Ln2I@*frXg8|eDO-LW zwe?R?{rChMGo#w&Mb$5kx=WRVdH?mpq`R#Uff_It%i$>0muw^IwfO;OpgY9;5SfLl ze;aiqPf-(nf!djj#m(I+hMG`GYbDf#>J@iPq_xfHZXJl4=`d8oDX6WSi<u@R;(Vfty~5Ydm(j#voCpnjkK1k2zK)Gr=)ZMknr z^TQ+2`&RK=pD z&1Gzkns9&APqmq-`dd)#Phly1fgTJAHT^U})k{EK;)O`LS9EY0V3e*IDKpoX>oAwR2M}yv@u?|4*(b)7V>s~C$_^vBNG}CnDOb4aV zL%KC;z&O-^3sLpH#^QJ$bu@2K6A3AA>NP^;N1+F2qRKbf@}sDJ9-yOw%oWTXD1#o- z?NI|Jpvsd_9d1Ld>>_GK|JZbnie{qaQAg4Rb$Mr^Cb|Q4CvMpMOqI-dH7fD`Yis+E zp#dhNX0`!6coek*4{bVoWizpgs55*I!*C?(Y(KZ@}#?=7BH&{ z@4r5=8_4j!zo=gnE}>TbH)^1qRm~l!hWak_u<605`m<5*{W{bFc3H2Y>bt9%g#=<* z(v?x;_IHT*5t)Q~-9AKJ!mqIk-avgg@>Vx12}XV48lzsLPBtBj8hAXa-3ru#E}%Zu zk5Hd2d9bOfs1m#9nm8@AHV|4jAV-hb=S9W}FLOoMk(-~I=vA1?o*&eEs8 z$5Nz?$fP#v{KO{AACA8N~|pmua2>M|}xEo>EP=bcSN zv{gH?CjMv((l#?4XG2vig6b$7HEsDYoLcIIyk!}QI) zzX>_6szj7A9<}wGP#xaFP|VW8?fs`xHL(fl53nkp#8H^Or8(2ds0q$MZSj26&aJiS z?@$XpiCWMlue^W16VcZGi@I!?TA8iPi&|+Y>i2_Ms3YluTIu_!A0oq110|t8!Rt{g zKZ5!x`WkiV3brPmU7OLS2)BvBO&U_oH-agboKil%F zs0sdV%iV3wPG&{bFKVrTWl1+^%lofLg3VZs^+=yaZC%cGW=kuf(w$MiFN{Ea$(Gpi z-RL2G4fWH{-QKLU8tOyV2=#XKL>+M)YC>b%^Zx7XW|E;ZT7?>518OUep&Fh;y`Fbb zN8{7MT+)1~A3lw-7{*};F0k%IUG5vGJCpT2vtzkX6Dj5p(I>c^wH0b*(Wn*A!s56I z^;Vq4(#YQ)d4KwaVg-_uP!szG*W(F{#ZjH?#BnTXpU&n^IjGm&*+xXa={!aan7NDj z0EMB4bW7Bc48c~o8C&8jER4;&n!6KYosO!%3bo=}sQ3RKYQ>LHTmRCOJFb9k=5l34 z-SYgX1|c>-6m`j}pe|P<)EBY`>Nbx??cg-jWnG2AxE{5WC$KL5iJDl&?k0aYdjI{; z5+Y?N*n#EnF6zC{+r!+A(x`#zq3%R0o8Jkwq8L>DQK%2kN2m!eN4+gypxW)k8h8LJ zqN^t#GzTjYse|KC9qzIoMs;`|HNbsThc8jDZN^?^>kFb*UJdmjtBWe{h-q*j>Vp%5 z+Tl3VQIA4LTfLZw-tSLsg$=0J<}1`nj-t-&7gR^TV=a7$+L_Y5%@I^VeGxmL1{jLE zTXRuIwi$Ia$53y}pS^kib#}S?n2HrqXVw9ABqOjPeulbizoWJ=Ai}J?DXQassDUS< zUf<;yiu+I#c!ZizroLu}%AnfS@9UUIA2QT%ymck&y*_}N=|faU+4`A*%Aq=JjXf|H zwNpn>uj@tBO5KsBpW>+YZBYx1LwzTb93pDC19iK9!X|hXHKF2Bro-l_I}ndLmcA*A7k2<f7(2CNK~6nys_>n^6fsEMt`(zpqAbQe)~=1;7GX$PC{M@`gsp#?g6pW6^o zN9|D^cSo%}+UAcz-H9ov6)i(`{2A&jzp)-dy%m>G--nl|devjhz%5Wa)(w?EAcpr} zk&$F*>pn#9O01huGyMt^a64AT&>`lBP!v`my$z%AHtN>5j5Yr)I2g5q2T=<+fw~KK zQ4@b1%loehWQ{W`D}vhkQmCD%ZqrRsJJQ9b2cdRsG^+h%)DbN}9q9^ejh>;VUL0!Y zMxqut0X5EahlsxE$*7LjqP8d%)!=|FKZ-G=f5lAR>2WQ{kMv4FK4 zs^3PaFJ~v4KOc3MoV7$W&{ot6zeT-9N31td6bI*+4@R{ciY(l5jVGcGW}zA;TQ{LD(f6ncx)aR`)1%HZC+dR~hT6dfsDav} z>PMpbi$V22$(GMVZT)ie{{7#VL`sseAGLx9sI&bCHIQqVS$Q5*c_Gvhl|l_v1=V34 z)a`GBnphm_tf!#r%|Lxel2Dg#1A5>8T|~-~aU3=9Yt*gxA8yhaQ9n#_pw7NJYJe@M zx8Wf6#n)ILBSx71)}RJHgX;GZYU_VPP54jr{`r5Jk!B0CqE_fZU8d63DyS7VKy}a- zwdK8R`4C$^%BH8Gc5Xgu2R5Sa)HYjw81f zHBb}mVC{q2nIWhj&!bQ)S&HHKlP!Oa8rXNNxrF&qM_L}$zA}!$`VNu0M0TJq&kHPy z`No+Q)Ir_ihNw%^4RyZe*IR7cHF6KRcV7-`E#p(Zp7)$ymOiETqo=x5YrJCE9dJE+TeAK7Wg z^~`3xM0MoLk*GlsY76yOG`bVDQD@l3rhB6PPDr2dO1K_1v8$*fd}e)#+M%=)%nlSl zO*9m1>tkJqh_+}v>X*z9P(MC5pkAi~sG0juG&_+IwUvRWtuBNi7>eq+1L`RIqwdBu z)Q)aLjk622<3B3R_^#7LwDQZS6+T9F{0cQthDj!!2aAyo!4lZQrW0-XV$_bUMQ!~q z)J}en>i0D2QeQ_+^f@~1hy+YF9rr?Q^<-4T1*o%HgSrEoP!rpRTFD+%M~6@=yo6fF z9n^r&t^QNYigTjc7q*5?;r-W{)gVI++oC$|i<(FbY69a>J24G4&_Yy4D^Tq=+4LUN z)*eOGzkurRj`b;O!Y@#lIrCI|X^KrX9ack4s4=R8?x@Q%2zADju@r8=P&|veY(CRW z#~DytTmU^-3H2u{olyO~k9w;npm&EIBKkzGL2dCy)XKM@RspLO27SBIv1R zJJQx~Bku^|vMrlNA6JQAvuSSw{^uDXC$B?&d`$b(gc8(kz$CKk|MBh%BG)MV0DDnz zoDQ^gdLEM=PlJubbzb_=Y$ER%b;=T7LHLn$&^v>=>1QeVAq@I6ZQD?;Cycl*Uz9h+ zpN7$9fPVkZO4vhqpP;7`9q4ID+DDz)^jVYb+CqL5oxOc@LI0+XZuFm&9cI9_q$l8J z+m;_IuGxgOwBuJrR~VDaLEI^22faq(Bn6KMJqbQk_}^y?b$U@Ykb)J&S22LT^*d}I zSx7%3Orwn7MO^7^{u}hz{`@G@vxoAB`u=Yx@|X(4Y50?gw8rxlUWw0%n1F7kU2KV-}66YoZNK)NB8(fR9{M8-d49~C}ca+Z$w{G{{+ThJ=#~c0|t{9LH)giw@+akX-8f+ z>gu0*d)NOXiF0=%x&gMIm&9LDXN*nHd3*j}Q_+`D#})(-KSf6!QBPVLzImtP_BOu@dHN4meVX`zT98{p{p- zA%2H=E#i&oY(K8R&uRCRvRt(Jo$@5xzkYzdeO^#!1ogf9znex`2sO#LLFEIuj0$=( zVs6U5By=ZVPc%V4#Wqv6lKeNyw9jqod}HI^VMoQOvz@x>nNTbGZ$>%?!DGjFWgu~b zkd8{hR0y*(_NTM;c2MjpCV9CTgx|hhM@g3>&Aj_hY@5xjX9x7dPUOwAgDCq6|C2=eiOnlcUODoHFz{IF zUL-z|JU9NOJZwTJNPQ3CE_Jq%-xbGVf6Bb$&mf{_I4-mC&QvJJZ1sFagUh7n+p=TC zV+kLV-ials#~*mOZW8odBIGB|FGsGG#1jcasi$X_!Ij7K{dWB(*F%SK4EES|bf4_c z$y-disLe~Eqc6#yZaWe`*s|ZSC*=zX)rc>oulFf0M|>V}AM($TUP5?I=%w@TVON#a zc2XTXQP`f)g0izT)Kh>NU!jAIlusj_ma@5or?&hoW$j46wEZ-o&OGwMZCZWY(Er%y zE9!pl@IU$JIFL?0pJZw}=p5E1Zy;qC>>z4efU759sOyqhyQ$YTq(9d8L@=ZitsdL0R7iYCkDM?8+=K8FyR($1`ryN z|2=ggh(9NP25tVv$>di>J%_D|M-yL9SrK;pF7cdcIR7?8CeuL?f}U-Jo5X*zgDNkt zxvj2~O7Ki2Re^eFyhO}dyn{OJ75a&OvG1Ewi0Vmw>WuvG7#6V%( zL^FJkaGvm$YVk~?K@vuIQ~awn%HBS|&`DO>>v>50Fd>9c!q&-v`w99lsK33n_$3$n z&}Uid&84lgj*JT=7Lb_*JJ28v1)maMP2OtT@Cuo#u2@mAIbX zq)QN=kNgp_D+s#~R?)}rgyQt`gtVTFl;1&i- z$3Mx-jK31}lp*jr&vgJ<9ZSC9frIT9Wq+8y|-#-4flbJL;^-kko=&UE<2P&SXjh=t3iho2XNk7}MC_(?B zJB*;GnA)act&53_C1U};eah3QF^QbmgaNw|ul-KPlisP@`knaS)Saj{1Q+@JHQ~3N z{*MPq$LZf+Jfq@FI$ufU&hK=#j!sJ3^zT%jMf^{k{Z1YAxr=uH`<%0rJ@!8ZspJ=; zel=W&Av*uMwsI8lTZBFY{?Oa?k_yi#t41e2Rq+%dsv52_YU#W z)GI>0cGM|K{7b?$;>m=ml=mg=ETQuIBq|Zoan7S?Fq-i8`H#wHs1rcBp2dW@G%QG7 zZi1esq}SN;3YdY=hx|6Q)svroJKDNKC>uha{*0Q>f5_pr?UV@js}S z#a_g1bi9|miVXbraoaMb3zL7+_Pd0-Uy(``c(Xb_|Jrw#69E316BBIp@maAjkA3zFwU7)QOsw0TV^YPWq4 zdF5^00P@R{zZbWX-`nQjv$m#>jpXwB(qE!3a~}Eqz1$40-!)UIFT6q~ms! z4kj!o-3-%G9%Lsnhx8^}{|e=ONq>iLpO!=_6Gk$*aQ*zBN?~EbU*5$-9L=+r07AFH2rNTt=u*Sm3Aw+sW5N6KzLo zlZ}b|q6kkM;U4MiG}1GU_>Z*PLi#B2x6kLcyaKzSuC`NFgnILc=Otq^;l8b-HqI6b z&)N=R$oQA|hvenQQB=G{gObEYQuZMs2OU45T+c`3Z^rU=>zfmAMOiBCn$fQBI|J3D zY!+pi$WJD$B+$%pEg<41l78AId<;Vbgy+WeBF_tH-TLL~9!v~NM%our-qRJ!s` z2Wg2%Q`j0~39D#Okp=}B=tI(xgi4g_8AtwU(gDQp6aR(|KOykt?5Y zUeZ;m_XYI_VP7B4U(a3=`@JzTiI=9bo^mvPU^`H{JstP9>2PJ(=Ra&j_=dIvZ28X& z_V%eu-eeN5Y+gQF=Q4l);L1d&t!UVq%!kDFyk{$XU>l62yfS&aC<`QPA^jm`w~5yz zd`7%HVG`|^k=7GW{mtav!g%uMnr!bs!|6=AE%}qQ{uEoViOP$}%unZ`b_XKJOQ!rd z4Q>+-Ql=OC141m}oNarMvcjb65zZ5ikj_Zk&nTZjTu(9j){~3;>zIRj&JbJpFNIww z_yQ+l4GQ(#Bz$kMs?dOGUtGasr zq5XaG68~=;_J1guOKG&0f)_ZSbOpj%)5evV$|VWkQnrK8kFsgh{lRv!g?fqP?WSxL z;UCI=BWxo7Ce9>eVC7dxSE62KLVxOIB`=SD{x6^)hR!@>eoEyH1UW(Ialc%2>zY;G%z3R5U+FT@jM}99HNu6TYkMj3$JweY5LJjKZaWc|zULsML)tklY zX?WLG@Fo9a(rYNIZOfZe7QiI*_?UJNsFMcY zr%q3uzn(}ERqTLGsi-Fpp{~ulO?d}8TTeQ{Tgtmm-Vo}}B(FOLk=Ae1|JnB0u`6X; zZGF+4It}p>Hle=_Z~y$aB?&#g%=%jz4Iu0=S*~BHe4H?aJUx#LuJ3G{W|YmdgI==! zMBNM2i=!->crIK`Suwk7whR9K51s6yLI-jJsZ_=e^0vYe@*0vi%jSP(tw@D%{M9JW?)K|gs==5q7o7#`o=`{i;hewH7+n) zwtf*qhQ@h@M#U$@#YV(LkB*2;Dm~|_Uu2x8ORJVC|INvs&Ob6DF)qOqneI34VBbn67Z9yqxw~cXUh>qp6O)v)-aYsooNcAxdnoO1eRmW=uOMaQW_?+DqFf=YUnoUi) z^r(klpxIFhqL^uHVth*IU*YLO{{QkkWnxdiknJd)^fM|H*18civp~&Cow?SZt)HL~ugM)E&O=QR#i-5q7sOu&MM?C;-9JCJI#uJ zT-ohOP6=^Gr`9O${=+YQzX*;ZEtf#tLfG9*8(=+2qho^IkOkIp;wc^!9*JD_uX z9L@Vj$Iv`AvYz{Fn$*UP+z)-z$8wg@k)G%wsbMYLF@ZVz4UC8#5ak_VL|lBNj(S*B z>YVQGL+<4L-Q78p+xK)AOgADvI#Ks1nSU}}H94uLd$q53K1#Pp{;0b4REDM8~kj@x!D0MR|tBMhqv-o0Qrj z(Y@0*dt>ijCyp8#^?w_lns&51z(1suz1`~26W8Bk&OItp*C0YiADu8TDl#?8ME7R* F{{sZ*kB|TW delta 28815 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 PG2WmQ+tyC-ZuI^i&>PRE diff --git a/app/locales/en_GB/LC_MESSAGES/messages.po b/app/locales/en_GB/LC_MESSAGES/messages.po index 90fef1a2..bc85ac08 100644 --- a/app/locales/en_GB/LC_MESSAGES/messages.po +++ b/app/locales/en_GB/LC_MESSAGES/messages.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: sysPass\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-04-14 21:36+0100\n" -"PO-Revision-Date: 2018-04-14 22:00+0100\n" +"POT-Creation-Date: 2018-07-17 01:28+0100\n" +"PO-Revision-Date: 2018-07-17 01:29+0100\n" "Last-Translator: nuxsmin \n" "Language-Team: nuxsmin@syspass.org\n" "Language: en_GB\n" @@ -26,8 +26,8 @@ msgstr "" "X-Poedit-SearchPath-2: ../../../config\n" #: ../../../../lib/SP/Api/SyspassApi.php:76 -#: ../../../../lib/SP/Api/SyspassApi.php:148 -#: ../../../../lib/SP/Services/Api/ApiService.php:273 +#: ../../../../lib/SP/Api/SyspassApi.php:147 +#: ../../../../lib/SP/Services/Api/ApiService.php:285 #: ../../../modules/api/Controllers/ControllerBase.php:146 msgid "Acceso no permitido" msgstr "Unauthorized access" @@ -45,7 +45,7 @@ msgid "Ver Clave" msgstr "View password" #: ../../../../lib/SP/Api/SyspassApi.php:84 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1222 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1249 #: ../../../modules/web/themes/material-blue/views/account/details.inc:138 #: ../../../modules/web/themes/material-blue/views/account/details.inc:140 msgid "ID" @@ -57,18 +57,21 @@ msgstr "ID" #: ../../../modules/api/Controllers/AccountController.php:142 #: ../../../modules/api/Controllers/AccountController.php:194 #: ../../../modules/web/Controllers/AccountController.php:222 -#: ../../../modules/web/Controllers/AccountController.php:548 -#: ../../../modules/web/Controllers/AccountController.php:583 -#: ../../../modules/web/Controllers/AccountController.php:617 -#: ../../../modules/web/Controllers/AccountController.php:646 -#: ../../../modules/web/Controllers/AccountController.php:681 -#: ../../../modules/web/Controllers/AccountController.php:726 -#: ../../../modules/web/Controllers/AccountController.php:767 -#: ../../../modules/web/Controllers/AccountController.php:806 -#: ../../../modules/web/Controllers/AccountController.php:855 -#: ../../../modules/web/Controllers/AccountController.php:890 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:340 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:950 +#: ../../../modules/web/Controllers/AccountController.php:554 +#: ../../../modules/web/Controllers/AccountController.php:589 +#: ../../../modules/web/Controllers/AccountController.php:624 +#: ../../../modules/web/Controllers/AccountController.php:654 +#: ../../../modules/web/Controllers/AccountController.php:689 +#: ../../../modules/web/Controllers/AccountController.php:735 +#: ../../../modules/web/Controllers/AccountController.php:777 +#: ../../../modules/web/Controllers/AccountController.php:817 +#: ../../../modules/web/Controllers/AccountController.php:867 +#: ../../../modules/web/Controllers/AccountController.php:903 +#: ../../../modules/web/Controllers/AccountFileController.php:223 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:105 +#: ../../../modules/web/Controllers/AccountManagerController.php:110 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:349 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:974 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:15 #: ../../../modules/web/themes/material-blue/views/account/account.inc:24 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:17 @@ -77,48 +80,48 @@ msgid "Cuenta" msgstr "Account" #: ../../../../lib/SP/Api/SyspassApi.php:86 -#: ../../../../lib/SP/Api/SyspassApi.php:191 -#: ../../../../lib/SP/Api/SyspassApi.php:229 -#: ../../../../lib/SP/Api/SyspassApi.php:282 -#: ../../../../lib/SP/Api/SyspassApi.php:318 -#: ../../../../lib/SP/Api/SyspassApi.php:371 -#: ../../../../lib/SP/Api/SyspassApi.php:407 -#: ../../../../lib/SP/Util/Wiki/DokuWikiApiBase.php:218 -msgid "Origen" -msgstr "Source" - -#: ../../../../lib/SP/Api/SyspassApi.php:188 -msgid "Crear Cuenta" -msgstr "Add Account" - -#: ../../../../lib/SP/Api/SyspassApi.php:189 -#: ../../../modules/api/Controllers/AccountController.php:141 -#: ../../../modules/api/Controllers/AccountController.php:146 -#: ../../../modules/web/Controllers/AccountController.php:680 -#: ../../../modules/web/Controllers/AccountController.php:691 -msgid "Cuenta creada" -msgstr "Account added" - #: ../../../../lib/SP/Api/SyspassApi.php:190 #: ../../../../lib/SP/Api/SyspassApi.php:228 #: ../../../../lib/SP/Api/SyspassApi.php:281 #: ../../../../lib/SP/Api/SyspassApi.php:317 #: ../../../../lib/SP/Api/SyspassApi.php:370 #: ../../../../lib/SP/Api/SyspassApi.php:406 +#: ../../../../lib/SP/Util/Wiki/DokuWikiApiBase.php:218 +msgid "Origen" +msgstr "Source" + +#: ../../../../lib/SP/Api/SyspassApi.php:187 +msgid "Crear Cuenta" +msgstr "Add Account" + +#: ../../../../lib/SP/Api/SyspassApi.php:188 +#: ../../../modules/api/Controllers/AccountController.php:141 +#: ../../../modules/api/Controllers/AccountController.php:146 +#: ../../../modules/web/Controllers/AccountController.php:688 +#: ../../../modules/web/Controllers/AccountController.php:699 +msgid "Cuenta creada" +msgstr "Account added" + +#: ../../../../lib/SP/Api/SyspassApi.php:189 +#: ../../../../lib/SP/Api/SyspassApi.php:227 +#: ../../../../lib/SP/Api/SyspassApi.php:280 +#: ../../../../lib/SP/Api/SyspassApi.php:316 +#: ../../../../lib/SP/Api/SyspassApi.php:369 +#: ../../../../lib/SP/Api/SyspassApi.php:405 #: ../../../../lib/SP/Core/Plugin/PluginDataStore.php:77 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:220 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:71 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:172 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:255 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:342 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:425 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:481 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:555 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:682 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:772 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1049 -#: ../../../modules/web/Controllers/UserGroupController.php:250 -#: ../../../modules/web/Controllers/UserGroupController.php:289 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:221 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:76 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:179 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:263 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:351 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:437 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:496 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:573 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:701 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:792 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1074 +#: ../../../modules/web/Controllers/UserGroupController.php:254 +#: ../../../modules/web/Controllers/UserGroupController.php:294 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:22 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:33 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:15 @@ -138,205 +141,214 @@ msgstr "Account added" msgid "Nombre" msgstr "Name" -#: ../../../../lib/SP/Api/SyspassApi.php:219 -#: ../../../../lib/SP/Services/Account/AccountService.php:408 +#: ../../../../lib/SP/Api/SyspassApi.php:218 +#: ../../../../lib/SP/Services/Account/AccountService.php:175 +#: ../../../../lib/SP/Services/Account/AccountService.php:433 msgid "Cuenta no encontrada" msgstr "Account not found" #. (itstool) path: action/text -#: ../../../../lib/SP/Api/SyspassApi.php:226 -#: ../../../modules/web/Controllers/AccountController.php:384 +#: ../../../../lib/SP/Api/SyspassApi.php:225 +#: ../../../modules/web/Controllers/AccountController.php:387 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:310 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:311 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:461 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:462 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:535 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:536 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:475 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:476 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:552 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:553 #: ../../../config/actions.xml:163 ../../../config/actions.xml:481 #: ../../../config/actions.xml:781 msgid "Eliminar Cuenta" msgstr "Remove Account" -#: ../../../../lib/SP/Api/SyspassApi.php:227 +#: ../../../../lib/SP/Api/SyspassApi.php:226 #: ../../../modules/api/Controllers/AccountController.php:193 #: ../../../modules/api/Controllers/AccountController.php:198 -#: ../../../modules/web/Controllers/AccountController.php:854 -#: ../../../modules/web/Controllers/AccountController.php:859 +#: ../../../modules/web/Controllers/AccountController.php:866 +#: ../../../modules/web/Controllers/AccountController.php:871 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:104 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:109 +#: ../../../modules/web/Controllers/AccountManagerController.php:109 +#: ../../../modules/web/Controllers/AccountManagerController.php:114 msgid "Cuenta eliminada" msgstr "Account removed" -#: ../../../../lib/SP/Api/SyspassApi.php:279 +#: ../../../../lib/SP/Api/SyspassApi.php:278 msgid "Crear Categoría" msgstr "Add Category" -#: ../../../../lib/SP/Api/SyspassApi.php:280 +#: ../../../../lib/SP/Api/SyspassApi.php:279 #: ../../../modules/api/Controllers/CategoryController.php:86 #: ../../../modules/api/Controllers/CategoryController.php:90 -#: ../../../modules/web/Controllers/CategoryController.php:246 -#: ../../../modules/web/Controllers/CategoryController.php:250 +#: ../../../modules/web/Controllers/CategoryController.php:251 +#: ../../../modules/web/Controllers/CategoryController.php:255 msgid "Categoría creada" msgstr "Category added" -#: ../../../../lib/SP/Api/SyspassApi.php:309 +#: ../../../../lib/SP/Api/SyspassApi.php:308 +#: ../../../../lib/SP/Services/Category/CategoryService.php:77 #: ../../../../lib/SP/Services/Category/CategoryService.php:98 +#: ../../../../lib/SP/Services/Category/CategoryService.php:115 msgid "Categoría no encontrada" msgstr "Category not found" #. (itstool) path: action/text -#: ../../../../lib/SP/Api/SyspassApi.php:315 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:131 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:132 +#: ../../../../lib/SP/Api/SyspassApi.php:314 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:136 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:137 #: ../../../config/actions.xml:313 msgid "Eliminar Categoría" msgstr "Delete Category" -#: ../../../../lib/SP/Api/SyspassApi.php:316 +#: ../../../../lib/SP/Api/SyspassApi.php:315 #: ../../../modules/api/Controllers/CategoryController.php:143 #: ../../../modules/api/Controllers/CategoryController.php:147 -#: ../../../modules/web/Controllers/CategoryController.php:208 -#: ../../../modules/web/Controllers/CategoryController.php:212 +#: ../../../modules/web/Controllers/CategoryController.php:213 +#: ../../../modules/web/Controllers/CategoryController.php:217 msgid "Categoría eliminada" msgstr "Category deleted" -#: ../../../../lib/SP/Api/SyspassApi.php:368 +#: ../../../../lib/SP/Api/SyspassApi.php:367 msgid "Crear Cliente" msgstr "Add Client" -#: ../../../../lib/SP/Api/SyspassApi.php:369 +#: ../../../../lib/SP/Api/SyspassApi.php:368 #: ../../../../lib/SP/Services/Import/KeepassImport.php:76 #: ../../../modules/api/Controllers/ClientController.php:84 #: ../../../modules/api/Controllers/ClientController.php:88 -#: ../../../modules/web/Controllers/ClientController.php:242 -#: ../../../modules/web/Controllers/ClientController.php:246 +#: ../../../modules/web/Controllers/ClientController.php:245 +#: ../../../modules/web/Controllers/ClientController.php:249 msgid "Cliente creado" msgstr "Client added" -#: ../../../../lib/SP/Api/SyspassApi.php:398 -#: ../../../../lib/SP/Services/Client/ClientService.php:89 +#: ../../../../lib/SP/Api/SyspassApi.php:397 +#: ../../../../lib/SP/Services/Client/ClientService.php:76 +#: ../../../../lib/SP/Services/Client/ClientService.php:95 +#: ../../../../lib/SP/Services/Client/ClientService.php:110 msgid "Cliente no encontrado" msgstr "Client not found" #. (itstool) path: action/text -#: ../../../../lib/SP/Api/SyspassApi.php:404 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:235 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:236 +#: ../../../../lib/SP/Api/SyspassApi.php:403 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:242 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:243 #: ../../../config/actions.xml:343 msgid "Eliminar Cliente" msgstr "Delete Client" -#: ../../../../lib/SP/Api/SyspassApi.php:405 +#: ../../../../lib/SP/Api/SyspassApi.php:404 #: ../../../modules/api/Controllers/ClientController.php:142 #: ../../../modules/api/Controllers/ClientController.php:146 -#: ../../../modules/web/Controllers/ClientController.php:209 -#: ../../../modules/web/Controllers/ClientController.php:213 +#: ../../../modules/web/Controllers/ClientController.php:212 +#: ../../../modules/web/Controllers/ClientController.php:216 msgid "Cliente eliminado" msgstr "Client deleted" -#: ../../../../lib/SP/Api/SyspassApi.php:428 -#: ../../../modules/api/Controllers/ConfigController.php:59 +#: ../../../../lib/SP/Api/SyspassApi.php:427 +#: ../../../modules/api/Controllers/ConfigController.php:60 #: ../../../modules/web/Controllers/ConfigBackupController.php:68 msgid "Proceso de backup finalizado" msgstr "Backup process finished" -#: ../../../../lib/SP/Api/SyspassApi.php:434 -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:89 +#: ../../../../lib/SP/Api/SyspassApi.php:433 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:102 msgid "Error al realizar el backup" msgstr "Error while doing the backup" -#: ../../../../lib/SP/Api/SyspassApi.php:435 +#: ../../../../lib/SP/Api/SyspassApi.php:434 #: ../../../../lib/SP/Controller/ChecksController.php:113 #: ../../../../lib/SP/Controller/ChecksController.php:142 -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:91 -#: ../../../../lib/SP/Services/Export/XmlExportService.php:175 -#: ../../../modules/web/Controllers/ConfigImportController.php:81 -#: ../../../modules/web/Controllers/ConfigImportController.php:83 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:104 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:163 +#: ../../../modules/web/Controllers/ConfigImportController.php:80 +#: ../../../modules/web/Controllers/ConfigImportController.php:82 msgid "Revise el registro de eventos para más detalles" msgstr "Please check out the event log for more details" -#: ../../../../lib/SP/Api/SyspassApi.php:465 -#: ../../../../lib/SP/Api/SyspassApi.php:482 -#: ../../../../lib/SP/Api/SyspassApi.php:488 -#: ../../../../lib/SP/Services/Api/ApiService.php:169 -#: ../../../../lib/SP/Services/Api/ApiService.php:184 -#: ../../../../lib/SP/Services/Api/ApiService.php:189 +#: ../../../../lib/SP/Api/SyspassApi.php:464 +#: ../../../../lib/SP/Api/SyspassApi.php:481 +#: ../../../../lib/SP/Api/SyspassApi.php:487 +#: ../../../../lib/SP/Services/Api/ApiService.php:181 +#: ../../../../lib/SP/Services/Api/ApiService.php:196 +#: ../../../../lib/SP/Services/Api/ApiService.php:201 msgid "Id de la cuenta" msgstr "Account Id" -#: ../../../../lib/SP/Api/SyspassApi.php:466 -#: ../../../../lib/SP/Api/SyspassApi.php:494 -#: ../../../../lib/SP/Services/Api/ApiService.php:170 -#: ../../../../lib/SP/Services/Api/ApiService.php:194 +#: ../../../../lib/SP/Api/SyspassApi.php:465 +#: ../../../../lib/SP/Api/SyspassApi.php:493 +#: ../../../../lib/SP/Services/Api/ApiService.php:182 +#: ../../../../lib/SP/Services/Api/ApiService.php:206 msgid "Clave del token" msgstr "Token's password" -#: ../../../../lib/SP/Api/SyspassApi.php:467 -#: ../../../../lib/SP/Services/Api/ApiService.php:171 +#: ../../../../lib/SP/Api/SyspassApi.php:466 +#: ../../../../lib/SP/Services/Api/ApiService.php:183 msgid "Devolver detalles en la respuesta" msgstr "Send details in the response" -#: ../../../../lib/SP/Api/SyspassApi.php:473 -#: ../../../../lib/SP/Services/Api/ApiService.php:176 -#: ../../../../lib/SP/Services/Api/ApiService.php:213 -#: ../../../../lib/SP/Services/Api/ApiService.php:230 -#: ../../../../lib/SP/Services/Api/ApiService.php:248 +#: ../../../../lib/SP/Api/SyspassApi.php:472 +#: ../../../../lib/SP/Services/Api/ApiService.php:188 +#: ../../../../lib/SP/Services/Api/ApiService.php:225 +#: ../../../../lib/SP/Services/Api/ApiService.php:242 +#: ../../../../lib/SP/Services/Api/ApiService.php:260 #: ../../../modules/web/themes/material-blue/views/account/search-searchbox.inc:16 msgid "Texto a buscar" msgstr "Text to search" -#: ../../../../lib/SP/Api/SyspassApi.php:474 -#: ../../../../lib/SP/Api/SyspassApi.php:512 -#: ../../../../lib/SP/Api/SyspassApi.php:532 -#: ../../../../lib/SP/Services/Api/ApiService.php:177 -#: ../../../../lib/SP/Services/Api/ApiService.php:214 -#: ../../../../lib/SP/Services/Api/ApiService.php:231 -#: ../../../../lib/SP/Services/Api/ApiService.php:249 +#: ../../../../lib/SP/Api/SyspassApi.php:473 +#: ../../../../lib/SP/Api/SyspassApi.php:511 +#: ../../../../lib/SP/Api/SyspassApi.php:531 +#: ../../../../lib/SP/Services/Api/ApiService.php:189 +#: ../../../../lib/SP/Services/Api/ApiService.php:226 +#: ../../../../lib/SP/Services/Api/ApiService.php:243 +#: ../../../../lib/SP/Services/Api/ApiService.php:261 msgid "Número de resultados a mostrar" msgstr "Number of results to show" -#: ../../../../lib/SP/Api/SyspassApi.php:475 -#: ../../../../lib/SP/Services/Api/ApiService.php:178 +#: ../../../../lib/SP/Api/SyspassApi.php:474 +#: ../../../../lib/SP/Services/Api/ApiService.php:190 msgid "Id de categoría a filtrar" msgstr "Category Id to filter on" -#: ../../../../lib/SP/Api/SyspassApi.php:476 -#: ../../../../lib/SP/Services/Api/ApiService.php:179 +#: ../../../../lib/SP/Api/SyspassApi.php:475 +#: ../../../../lib/SP/Services/Api/ApiService.php:191 msgid "Id de cliente a filtrar" msgstr "Client Id to filter on" -#: ../../../../lib/SP/Api/SyspassApi.php:495 -#: ../../../../lib/SP/Services/Api/ApiService.php:195 +#: ../../../../lib/SP/Api/SyspassApi.php:494 +#: ../../../../lib/SP/Services/Api/ApiService.php:207 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:28 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:42 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:22 #: ../../../modules/web/themes/material-blue/views/account/account-request.inc:24 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:68 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:67 msgid "Nombre de cuenta" msgstr "Account name" -#: ../../../../lib/SP/Api/SyspassApi.php:496 -#: ../../../../lib/SP/Api/SyspassApi.php:525 -#: ../../../../lib/SP/Services/Api/ApiService.php:196 -#: ../../../../lib/SP/Services/Api/ApiService.php:225 +#: ../../../../lib/SP/Api/SyspassApi.php:495 +#: ../../../../lib/SP/Api/SyspassApi.php:524 +#: ../../../../lib/SP/Services/Api/ApiService.php:208 +#: ../../../../lib/SP/Services/Api/ApiService.php:237 msgid "Id de categoría" msgstr "Category Id" -#: ../../../../lib/SP/Api/SyspassApi.php:497 -#: ../../../../lib/SP/Api/SyspassApi.php:545 -#: ../../../../lib/SP/Services/Api/ApiService.php:197 -#: ../../../../lib/SP/Services/Api/ApiService.php:243 +#: ../../../../lib/SP/Api/SyspassApi.php:496 +#: ../../../../lib/SP/Api/SyspassApi.php:544 +#: ../../../../lib/SP/Services/Api/ApiService.php:209 +#: ../../../../lib/SP/Services/Api/ApiService.php:255 msgid "Id de cliente" msgstr "Client Id" -#: ../../../../lib/SP/Api/SyspassApi.php:498 -#: ../../../../lib/SP/Services/Api/ApiService.php:198 +#: ../../../../lib/SP/Api/SyspassApi.php:497 +#: ../../../../lib/SP/Services/Api/ApiService.php:210 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:66 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:72 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:83 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:82 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:85 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:93 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:148 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:156 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:147 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:155 #: ../../../modules/web/themes/material-blue/views/account/viewpass.inc:31 #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:288 #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:291 @@ -359,67 +371,67 @@ msgstr "Client Id" msgid "Clave" msgstr "Password" -#: ../../../../lib/SP/Api/SyspassApi.php:499 -#: ../../../../lib/SP/Services/Api/ApiService.php:199 +#: ../../../../lib/SP/Api/SyspassApi.php:498 +#: ../../../../lib/SP/Services/Api/ApiService.php:211 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:99 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:142 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:141 msgid "Usuario de acceso" msgstr "Access user" -#: ../../../../lib/SP/Api/SyspassApi.php:500 -#: ../../../../lib/SP/Services/Api/ApiService.php:200 +#: ../../../../lib/SP/Api/SyspassApi.php:499 +#: ../../../../lib/SP/Services/Api/ApiService.php:212 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:86 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:129 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:128 msgid "URL o IP de acceso" msgstr "Access URL or IP" -#: ../../../../lib/SP/Api/SyspassApi.php:501 -#: ../../../../lib/SP/Services/Api/ApiService.php:201 +#: ../../../../lib/SP/Api/SyspassApi.php:500 +#: ../../../../lib/SP/Services/Api/ApiService.php:213 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:124 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:78 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:201 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:199 msgid "Notas sobre la cuenta" msgstr "Notes about the account" -#: ../../../../lib/SP/Api/SyspassApi.php:511 +#: ../../../../lib/SP/Api/SyspassApi.php:510 msgid "Nombre de categoría a buscar" msgstr "Category name to search for" -#: ../../../../lib/SP/Api/SyspassApi.php:518 -#: ../../../../lib/SP/Services/Api/ApiService.php:219 +#: ../../../../lib/SP/Api/SyspassApi.php:517 +#: ../../../../lib/SP/Services/Api/ApiService.php:231 #: ../../../modules/web/themes/material-blue/views/itemshow/category.inc:24 msgid "Nombre de la categoría" msgstr "Category name" -#: ../../../../lib/SP/Api/SyspassApi.php:519 -#: ../../../../lib/SP/Services/Api/ApiService.php:220 +#: ../../../../lib/SP/Api/SyspassApi.php:518 +#: ../../../../lib/SP/Services/Api/ApiService.php:232 #: ../../../modules/web/themes/material-blue/views/itemshow/category.inc:36 msgid "Descripción de la categoría" msgstr "Category description" -#: ../../../../lib/SP/Api/SyspassApi.php:531 +#: ../../../../lib/SP/Api/SyspassApi.php:530 msgid "Nombre de cliente a buscar" msgstr "Client name to search for" -#: ../../../../lib/SP/Api/SyspassApi.php:538 -#: ../../../../lib/SP/Services/Api/ApiService.php:236 +#: ../../../../lib/SP/Api/SyspassApi.php:537 +#: ../../../../lib/SP/Services/Api/ApiService.php:248 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:27 msgid "Nombre del cliente" msgstr "Client name" -#: ../../../../lib/SP/Api/SyspassApi.php:539 -#: ../../../../lib/SP/Services/Api/ApiService.php:237 +#: ../../../../lib/SP/Api/SyspassApi.php:538 +#: ../../../../lib/SP/Services/Api/ApiService.php:249 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:40 msgid "Descripción del cliente" msgstr "Client description" -#: ../../../../lib/SP/Bootstrap.php:282 +#: ../../../../lib/SP/Bootstrap.php:287 #, php-format msgid "Versión de PHP requerida >= %s <= %s" msgstr "Required PHP version >= %s <= %s" -#: ../../../../lib/SP/Bootstrap.php:284 -#: ../../../modules/web/Controllers/InstallController.php:64 +#: ../../../../lib/SP/Bootstrap.php:289 +#: ../../../modules/web/Controllers/InstallController.php:63 msgid "" "Actualice la versión de PHP para que la aplicación funcione correctamente" msgstr "Please update the PHP version to run sysPass" @@ -449,14 +461,14 @@ msgstr "The LDAP parameters are not set" #: ../../../../lib/SP/Controller/ChecksController.php:107 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:123 -#: ../../../modules/web/Controllers/ConfigLdapController.php:152 -#: ../../../modules/web/Controllers/ConfigLdapController.php:195 +#: ../../../modules/web/Controllers/ConfigLdapController.php:151 +#: ../../../modules/web/Controllers/ConfigLdapController.php:194 msgid "Conexión a LDAP correcta" msgstr "LDAP connection OK" #: ../../../../lib/SP/Controller/ChecksController.php:108 -#: ../../../modules/web/Controllers/ConfigLdapController.php:153 -#: ../../../modules/web/Controllers/ConfigLdapController.php:196 +#: ../../../modules/web/Controllers/ConfigLdapController.php:152 +#: ../../../modules/web/Controllers/ConfigLdapController.php:195 #, php-format msgid "Objetos encontrados: %d" msgstr "Objects found: %d" @@ -478,7 +490,8 @@ msgstr "Connection successful" #: ../../../../lib/SP/Controller/MainActionController.php:150 #: ../../../../lib/SP/Services/Upgrade/UpgradeConfigService.php:111 #: ../../../../lib/SP/Services/Upgrade/UpgradeConfigService.php:227 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:165 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:168 +#: ../../../modules/web/Controllers/ConfigBackupController.php:120 #: ../../../modules/web/themes/material-blue/views/config/info.inc:38 #: ../../../modules/web/themes/material-blue/views/itemshow/plugin.inc:25 msgid "Versión" @@ -494,23 +507,23 @@ msgid "Actualización" msgstr "Update" #: ../../../../lib/SP/Controller/MainActionController.php:94 -#: ../../../modules/web/Controllers/UpgradeController.php:66 +#: ../../../modules/web/Controllers/UpgradeController.php:65 msgid "Código de seguridad incorrecto" msgstr "Wrong security code" #: ../../../../lib/SP/Controller/MainActionController.php:96 -#: ../../../modules/web/Controllers/UpgradeController.php:62 +#: ../../../modules/web/Controllers/UpgradeController.php:61 msgid "Es necesario confirmar la actualización" msgstr "The updating need to be confirmed" #: ../../../../lib/SP/Controller/MainActionController.php:103 -#: ../../../modules/web/Controllers/UpgradeController.php:87 +#: ../../../modules/web/Controllers/UpgradeController.php:86 #: ../../../modules/web/themes/material-blue/views/login/index.inc:78 msgid "Aplicación actualizada correctamente" msgstr "Application successfully updated" #: ../../../../lib/SP/Controller/MainActionController.php:104 -#: ../../../modules/web/Controllers/UpgradeController.php:87 +#: ../../../modules/web/Controllers/UpgradeController.php:86 msgid "En 5 segundos será redirigido al login" msgstr "You will be redirected to log in within 5 seconds" @@ -519,13 +532,14 @@ msgid "Actualización de versión realizada." msgstr "Version updating done." #: ../../../../lib/SP/Controller/MainActionController.php:151 -#: ../../../../lib/SP/Services/Auth/LoginService.php:427 -#: ../../../../lib/SP/Services/Auth/LoginService.php:490 -#: ../../../../lib/SP/Services/Auth/LoginService.php:536 -#: ../../../../lib/SP/Services/Auth/LoginService.php:576 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:257 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:343 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1332 +#: ../../../../lib/SP/Services/Auth/LoginService.php:432 +#: ../../../../lib/SP/Services/Auth/LoginService.php:495 +#: ../../../../lib/SP/Services/Auth/LoginService.php:541 +#: ../../../../lib/SP/Services/Auth/LoginService.php:582 +#: ../../../modules/web/Controllers/AccountFileController.php:225 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:265 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:352 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1360 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:32 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:34 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:16 @@ -535,7 +549,7 @@ msgstr "Type" #: ../../../../lib/SP/Core/Acl/AccountPermissionException.php:45 #: ../../../../lib/SP/Util/ErrorUtil.php:131 -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:89 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:92 msgid "No tiene permisos para acceder a esta cuenta" msgstr "You don't have permission to access to this account" @@ -554,49 +568,49 @@ msgid "Consulte con el administrador" msgstr "Please contact to the administrator" # Not available -#: ../../../../lib/SP/Core/Acl/Acl.php:260 +#: ../../../../lib/SP/Core/Acl/Acl.php:265 #: ../../../../lib/SP/Providers/Auth/AuthUtil.php:41 msgid "N/D" msgstr "N/A" -#: ../../../../lib/SP/Core/Acl/Acl.php:265 +#: ../../../../lib/SP/Core/Acl/Acl.php:270 msgid "Acceso denegado" msgstr "Access denied" -#: ../../../../lib/SP/Core/Acl/Acl.php:266 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:861 +#: ../../../../lib/SP/Core/Acl/Acl.php:271 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:882 #: ../../../modules/web/themes/material-blue/views/itemshow/authtoken.inc:31 #: ../../../modules/web/themes/material-blue/views/itemshow/authtoken.inc:33 msgid "Acción" msgstr "Action" -#: ../../../../lib/SP/Core/Acl/Acl.php:267 +#: ../../../../lib/SP/Core/Acl/Acl.php:272 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:404 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapMsAds.php:165 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:114 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:126 -#: ../../../../lib/SP/Services/Auth/LoginService.php:226 -#: ../../../../lib/SP/Services/Auth/LoginService.php:244 -#: ../../../../lib/SP/Services/Auth/LoginService.php:381 -#: ../../../../lib/SP/Services/Auth/LoginService.php:429 -#: ../../../../lib/SP/Services/Auth/LoginService.php:537 -#: ../../../../lib/SP/Services/Auth/LoginService.php:577 +#: ../../../../lib/SP/Services/Auth/LoginService.php:212 +#: ../../../../lib/SP/Services/Auth/LoginService.php:230 +#: ../../../../lib/SP/Services/Auth/LoginService.php:367 +#: ../../../../lib/SP/Services/Auth/LoginService.php:434 +#: ../../../../lib/SP/Services/Auth/LoginService.php:542 +#: ../../../../lib/SP/Services/Auth/LoginService.php:583 #: ../../../../lib/SP/Services/Ldap/LdapImportService.php:228 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:234 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:860 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:954 -#: ../../../modules/web/Controllers/LoginController.php:99 -#: ../../../modules/web/Controllers/UserController.php:274 -#: ../../../modules/web/Controllers/UserController.php:308 -#: ../../../modules/web/Controllers/UserController.php:371 -#: ../../../modules/web/Controllers/UserController.php:408 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:235 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:881 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:978 +#: ../../../modules/web/Controllers/LoginController.php:105 +#: ../../../modules/web/Controllers/UserController.php:280 +#: ../../../modules/web/Controllers/UserController.php:314 +#: ../../../modules/web/Controllers/UserController.php:375 +#: ../../../modules/web/Controllers/UserController.php:412 #: ../../../modules/web/Controllers/UserPassResetController.php:188 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:55 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:61 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:91 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:60 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:66 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:134 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:133 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:63 #: ../../../modules/web/themes/material-blue/views/account/viewpass.inc:20 #: ../../../modules/web/themes/material-blue/views/config/general-proxy.inc:65 @@ -620,7 +634,7 @@ msgstr "Action" msgid "Usuario" msgstr "User" -#: ../../../../lib/SP/Core/Acl/Actions.php:174 +#: ../../../../lib/SP/Core/Acl/Actions.php:176 msgid "Acción no encontrada" msgstr "Action not found" @@ -629,20 +643,24 @@ msgstr "Action not found" msgid "No tiene permisos para acceder a esta página" msgstr "You don't have permission to access this page" -#: ../../../../lib/SP/Core/Context/ContextBase.php:51 -#: ../../../../lib/SP/Core/Context/ContextBase.php:73 +#: ../../../../lib/SP/Core/Context/ContextBase.php:75 +msgid "No es posible cambiar el valor de la clave" +msgstr "Unable to change password value" + +#: ../../../../lib/SP/Core/Context/ContextBase.php:105 +#: ../../../../lib/SP/Core/Context/ContextBase.php:128 msgid "Contexto ya inicializado" msgstr "Context already initialized" -#: ../../../../lib/SP/Core/Context/ContextBase.php:57 +#: ../../../../lib/SP/Core/Context/ContextBase.php:111 msgid "Contexto inválido" msgstr "Invalid context" -#: ../../../../lib/SP/Core/Context/ContextBase.php:121 +#: ../../../../lib/SP/Core/Context/ContextBase.php:156 msgid "Contexto no inicializado" msgstr "Context not initialized" -#: ../../../../lib/SP/Core/Context/SessionContext.php:536 +#: ../../../../lib/SP/Core/Context/SessionContext.php:545 msgid "La sesión no puede ser inicializada" msgstr "Session cannot be initialized" @@ -658,27 +676,29 @@ msgstr "The key file does not exist" #: ../../../../lib/SP/Core/Crypt/OldCrypt.php:169 #: ../../../../lib/SP/Core/Crypt/OldCrypt.php:179 #: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:59 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:126 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:135 #: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:224 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:306 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:357 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:386 -#: ../../../../lib/SP/Services/Account/AccountService.php:206 -#: ../../../../lib/SP/Services/Account/AccountService.php:211 -#: ../../../../lib/SP/Services/Api/ApiService.php:115 -#: ../../../../lib/SP/Services/Api/ApiService.php:314 -#: ../../../../lib/SP/Services/Api/ApiService.php:322 -#: ../../../../lib/SP/Services/Auth/LoginService.php:197 -#: ../../../../lib/SP/Services/Auth/LoginService.php:348 -#: ../../../../lib/SP/Services/Auth/LoginService.php:476 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:314 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:369 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:397 +#: ../../../../lib/SP/Services/Account/AccountService.php:232 +#: ../../../../lib/SP/Services/Account/AccountService.php:237 +#: ../../../../lib/SP/Services/Api/ApiService.php:126 +#: ../../../../lib/SP/Services/Api/ApiService.php:326 +#: ../../../../lib/SP/Services/Api/ApiService.php:334 +#: ../../../../lib/SP/Services/Auth/LoginService.php:183 +#: ../../../../lib/SP/Services/Auth/LoginService.php:334 #: ../../../../lib/SP/Services/Auth/LoginService.php:481 -#: ../../../../lib/SP/Services/Auth/LoginService.php:514 -#: ../../../../lib/SP/Services/Auth/LoginService.php:617 -#: ../../../../lib/SP/Services/CustomField/CustomFieldService.php:196 +#: ../../../../lib/SP/Services/Auth/LoginService.php:486 +#: ../../../../lib/SP/Services/Auth/LoginService.php:518 +#: ../../../../lib/SP/Services/Auth/LoginService.php:623 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:277 +#: ../../../../lib/SP/Services/CustomField/CustomFieldService.php:203 +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:102 #: ../../../../lib/SP/Services/Import/XmlFileImport.php:101 -#: ../../../../lib/SP/Services/User/UserPassService.php:226 -#: ../../../modules/web/Controllers/Traits/ItemTrait.php:120 -#: ../../../modules/web/Controllers/Traits/ItemTrait.php:172 +#: ../../../../lib/SP/Services/User/UserPassService.php:231 +#: ../../../modules/web/Controllers/Traits/ItemTrait.php:122 +#: ../../../modules/web/Controllers/Traits/ItemTrait.php:177 msgid "Error interno" msgstr "Internal error" @@ -694,7 +714,7 @@ msgstr "Error while creating the encrypted data" msgid "Es necesario un objeto" msgstr "An object is needed" -#: ../../../../lib/SP/Core/Events/EventDispatcherBase.php:81 +#: ../../../../lib/SP/Core/Events/EventDispatcherBase.php:85 msgid "Observador no inicializado" msgstr "Observer not initialized" @@ -715,20 +735,20 @@ msgstr "Unable to load the \"%s\" plugin" msgid "Clase no válida para iconos" msgstr "Invalid icons class" -#: ../../../../lib/SP/DataModel/PublicLinkListData.php:80 +#: ../../../../lib/SP/DataModel/PublicLinkListData.php:88 #: ../../../modules/web/Controllers/AccountController.php:225 msgid "ON" msgstr "ON" -#: ../../../../lib/SP/DataModel/PublicLinkListData.php:80 +#: ../../../../lib/SP/DataModel/PublicLinkListData.php:88 #: ../../../modules/web/Controllers/AccountController.php:225 msgid "OFF" msgstr "OFF" #: ../../../../lib/SP/DataModel/TrackData.php:154 #: ../../../../lib/SP/DataModel/TrackData.php:156 -#: ../../../../lib/SP/Repositories/Track/TrackRequest.php:54 #: ../../../../lib/SP/Repositories/Track/TrackRequest.php:56 +#: ../../../../lib/SP/Repositories/Track/TrackRequest.php:58 msgid "IP inválida" msgstr "Invalid IP" @@ -742,21 +762,16 @@ msgstr "Unable to retrieve the \"%s\" template: %s" msgid "Respuesta XML-RPC inválida" msgstr "Invalid XML-RPC response" -#: ../../../../lib/SP/Log/Log.php:91 -#: ../../../../lib/SP/Repositories/EventLog/EventlogRepository.php:52 +#: ../../../../lib/SP/Log/Log.php:90 +#: ../../../../lib/SP/Repositories/EventLog/EventlogRepository.php:53 msgid "Error al vaciar el registro de eventos" msgstr "Error while clearing the event log" -#: ../../../../lib/SP/Log/LogUtil.php:44 -#, php-format -msgid "Extensión '%s' no cargada" -msgstr "Extension '%s' not loaded" - -#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:64 +#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:65 msgid "La sesión no se ha iniciado o ha caducado" msgstr "Session not started or timed out" -#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:104 +#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:115 msgid "Acción Inválida" msgstr "Invalid Action" @@ -785,14 +800,14 @@ msgstr "Unable to unset the \"%s\" variable" msgid "La plantilla no contiene archivos" msgstr "Template does not contain files" -#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:180 -msgid "Método ya inicializado" -msgstr "Method already initialized" - -#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:184 +#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:182 msgid "Método no disponible" msgstr "Method unavailable" +#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:186 +msgid "Método ya inicializado" +msgstr "Method already initialized" + #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:162 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:167 msgid "No es posible conectar con el servidor de LDAP" @@ -832,8 +847,8 @@ msgstr "Error while searching the group RDN" #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:115 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:127 #: ../../../../lib/SP/Services/Ldap/LdapImportService.php:136 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:558 -#: ../../../modules/web/Controllers/UserGroupController.php:216 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:576 +#: ../../../modules/web/Controllers/UserGroupController.php:220 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:135 #: ../../../modules/web/themes/material-blue/views/_partials/footer.inc:15 #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:269 @@ -868,12 +883,12 @@ msgstr "Error while searching users group" msgid "Usuario no pertenece al grupo" msgstr "The user doesn't belong to the group" -#: ../../../../lib/SP/Providers/Mail/MailHandler.php:90 +#: ../../../../lib/SP/Providers/Mail/MailHandler.php:94 #, php-format msgid "Realizado por: %s (%s)" msgstr "Performed by: %s (%s)" -#: ../../../../lib/SP/Providers/Mail/MailHandler.php:91 +#: ../../../../lib/SP/Providers/Mail/MailHandler.php:95 #, php-format msgid "Dirección IP: %s" msgstr "IP Address: %s" @@ -883,16 +898,17 @@ msgid "No es posible inicializar" msgstr "Unable to initialize" #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:91 -#: ../../../modules/web/Controllers/AccountController.php:888 +#: ../../../modules/web/Controllers/AccountController.php:901 msgid "Solicitud" msgstr "Request" #. (itstool) path: action/text #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:92 #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:123 -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:68 -#: ../../../modules/web/Controllers/ConfigManagerController.php:168 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:442 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:74 +#: ../../../modules/web/Controllers/ConfigBackupController.php:122 +#: ../../../modules/web/Controllers/ConfigManagerController.php:163 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:456 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:21 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:390 #: ../../../config/actions.xml:13 @@ -900,730 +916,744 @@ msgid "Cuentas" msgstr "Accounts" #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:122 -#: ../../../modules/web/Controllers/NotificationController.php:260 -#: ../../../modules/web/Controllers/NotificationController.php:290 +#: ../../../modules/web/Controllers/NotificationController.php:267 +#: ../../../modules/web/Controllers/NotificationController.php:297 msgid "Notificación" msgstr "Notification" -#: ../../../../lib/SP/Repositories/Account/AccountFavoriteRepository.php:68 -msgid "Error al añadir favorito" -msgstr "Error while adding favorite" - -#: ../../../../lib/SP/Repositories/Account/AccountFavoriteRepository.php:88 -msgid "Error al eliminar favorito" -msgstr "Error while deleting favorite" - #: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:77 msgid "No se pudo guardar el archivo" msgstr "Error while saving file" -#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:273 +#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:279 msgid "Error al eliminar el archivo" msgstr "Error while deleting the file" -#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:278 -#: ../../../../lib/SP/Services/Account/AccountFileService.php:148 -msgid "Archivo no encontrado" -msgstr "File not found" - -#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:297 +#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:302 msgid "Error al eliminar los archivos" msgstr "Error while deleting the files" -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:186 +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:169 msgid "Error al actualizar el historial" msgstr "Error while updating history" -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:217 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:308 +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:188 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:329 +#: ../../../../lib/SP/Services/Account/AccountHistoryService.php:192 msgid "Error al eliminar la cuenta" msgstr "Error while deleting the account" -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:289 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:394 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:562 -msgid "No se pudieron obtener los datos de la cuenta" -msgstr "Error while retrieving the account data" - -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:461 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:222 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:248 -msgid "Error al actualizar la clave" -msgstr "Error while updating the password" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:188 -msgid "Error al crear la cuenta" -msgstr "Error while creating the account" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:290 -msgid "Error al restaurar cuenta" -msgstr "Error on restoring the account" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:371 -msgid "Error al modificar la cuenta" -msgstr "Error while updating the account" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:398 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:566 -msgid "La cuenta no existe" -msgstr "The account doesn't exist" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:442 -#: ../../../../lib/SP/Services/Account/AccountService.php:423 +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:318 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:461 +#: ../../../../lib/SP/Services/Account/AccountService.php:449 msgid "Error al eliminar las cuentas" msgstr "Error while deleting the accounts" -#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:81 -msgid "Error al añadir las etiquetas de la cuenta" -msgstr "Error while adding the account's tags" +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:439 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:241 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:266 +#: ../../../../lib/SP/Services/Account/AccountHistoryService.php:219 +msgid "Error al actualizar la clave" +msgstr "Error while updating the password" -#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:104 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:206 +msgid "Error al crear la cuenta" +msgstr "Error while creating the account" + +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:309 +#: ../../../../lib/SP/Services/Account/AccountService.php:417 +msgid "Error al restaurar cuenta" +msgstr "Error on restoring the account" + +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:391 +msgid "Error al modificar la cuenta" +msgstr "Error while updating the account" + +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:411 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:577 +#: ../../../../lib/SP/Services/Account/AccountHistoryService.php:75 +msgid "No se pudieron obtener los datos de la cuenta" +msgstr "Error while retrieving the account data" + +#: ../../../../lib/SP/Repositories/Account/AccountToFavoriteRepository.php:71 +msgid "Error al añadir favorito" +msgstr "Error while adding favorite" + +#: ../../../../lib/SP/Repositories/Account/AccountToFavoriteRepository.php:91 +msgid "Error al eliminar favorito" +msgstr "Error while deleting favorite" + +#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:94 msgid "Error al eliminar las etiquetas de la cuenta" msgstr "Error while removing the account's tags" -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:100 -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:130 -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:186 +#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:115 +msgid "Error al añadir las etiquetas de la cuenta" +msgstr "Error while adding the account's tags" + +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:106 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:137 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:194 msgid "Error al eliminar grupos asociados a la cuenta" msgstr "Error while deleting the account's groups" -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:156 -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:212 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:158 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:215 msgid "Error al actualizar los grupos secundarios" msgstr "Error while updating the secondary groups" -#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:72 -#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:135 +#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:73 +#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:137 msgid "Error al eliminar usuarios asociados a la cuenta" msgstr "Error while deleting the account users" #: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:96 -#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:159 +#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:160 msgid "Error al actualizar los usuarios de la cuenta" msgstr "Error while updating the account users" -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:203 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:283 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:201 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:289 msgid "La autorización ya existe" msgstr "The authorization already exist" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:57 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:58 msgid "Categoría duplicada" msgstr "Duplicated category" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:65 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:68 msgid "Error al crear la categoría" msgstr "Error while creating the category" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:105 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:107 msgid "Nombre de categoría duplicado" msgstr "Duplicated category name" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:121 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:125 msgid "Error al actualizar la categoría" msgstr "Error while updating the category" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:228 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:253 msgid "Error al eliminar la categorías" msgstr "Error while deleting the categories" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:251 -#: ../../../../lib/SP/Services/Category/CategoryService.php:116 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:275 msgid "Error al eliminar la categoría" msgstr "Error while deleting the category" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:59 -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:113 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:62 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:116 msgid "Cliente duplicado" msgstr "Duplicated client" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:75 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:80 msgid "Error al crear el cliente" msgstr "Error while creating the client" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:131 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:136 msgid "Error al actualizar el cliente" msgstr "Error while updating the client" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:237 -#: ../../../../lib/SP/Services/Client/ClientService.php:105 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:264 +#: ../../../../lib/SP/Services/Client/ClientService.php:127 msgid "Error al eliminar los clientes" msgstr "Error while deleting the clients" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:256 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:283 msgid "Error al eliminar el cliente" msgstr "Error while deleting the client" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:71 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:344 +msgid "Filtro incorrecto" +msgstr "Wrong filter" + +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:75 msgid "Error al crear el campo personalizado" msgstr "Error while creating the custom field" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:103 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:119 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:165 msgid "Error al actualizar el campo personalizado" msgstr "Error while updating the custom field" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:193 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:160 +msgid "El campo personalizado no existe" +msgstr "Custom field not found" + +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:240 msgid "Error al eliminar los campos personalizados" msgstr "Error while removing the custom fields" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:214 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:260 msgid "Error al eliminar el campo personalizado" msgstr "Error while removing the custom field" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:60 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:62 msgid "Error al crear el tipo de campo" msgstr "Error while creating the field type" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:94 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:98 msgid "Error al actualizar el tipo de campo" msgstr "Error while updating the field type" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:181 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:135 +msgid "Tipo de campo no encontrado" +msgstr "Field type not found" + +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:187 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:206 msgid "Error al eliminar el tipo de campo" msgstr "Error while deleting the field type" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:73 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:78 msgid "Error al crear la notificación" msgstr "Error while adding the notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:112 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:410 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:118 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:427 msgid "Error al modificar la notificación" msgstr "Error while updating the notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:132 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:152 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:137 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:156 msgid "Error al eliminar la notificación" msgstr "Error while deleting the notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:172 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:278 -#: ../../../../lib/SP/Services/Notification/NotificationService.php:130 -#: ../../../../lib/SP/Services/Notification/NotificationService.php:148 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:179 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:302 +#: ../../../../lib/SP/Services/Notification/NotificationService.php:139 +#: ../../../../lib/SP/Services/Notification/NotificationService.php:158 msgid "Error al eliminar las notificaciones" msgstr "Error while deleting the notifications" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:204 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:212 msgid "Error al obtener la notificación" msgstr "Error while retrieving notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:231 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:445 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:475 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:506 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:242 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:464 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:497 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:531 msgid "Error al obtener las notificaciones" msgstr "Error while retrieving the notifications" -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:65 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:70 msgid "Error al crear el plugin" msgstr "Error while adding the plugin" -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:97 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:317 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:337 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:357 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:377 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:395 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:104 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:347 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:367 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:387 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:407 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:426 msgid "Error al actualizar el plugin" msgstr "Error while updating the plugin" -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:203 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:212 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:232 msgid "Error al eliminar el plugin" msgstr "Error while deleting the plugin" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:61 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:63 msgid "Error al eliminar enlace" msgstr "Error while removing the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:241 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:254 msgid "Enlace ya creado" msgstr "Link already created" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:266 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:281 msgid "Error al crear enlace" msgstr "Error while creating the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:322 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:367 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:340 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:388 msgid "Error al actualizar enlace" msgstr "Error while updating the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:399 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:423 msgid "Error al renovar enlace" msgstr "Error while renewing link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:443 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:487 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:516 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:465 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:506 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:526 msgid "Error al obtener enlace" msgstr "Error while retrieving the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:447 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:493 -msgid "El enlace no existe" -msgstr "The link does not exist" - -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:57 -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:102 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:60 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:108 msgid "Etiqueta duplicada" msgstr "Duplicated tag" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:64 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:69 msgid "Error al crear etiqueta" msgstr "Error while creating the tag" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:110 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:118 msgid "Error al actualizar etiqueta" msgstr "Error while updating the tag" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:196 -#: ../../../../lib/SP/Services/Tag/TagService.php:89 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:224 +#: ../../../../lib/SP/Services/Tag/TagService.php:99 msgid "Error al eliminar etiquetas" msgstr "Error while removing the tags" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:216 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:243 msgid "Error al eliminar etiqueta" msgstr "Error while removing the tag" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:60 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:63 msgid "Error al crear track" msgstr "Error while creating track" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:78 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:80 msgid "Error al eliminar track" msgstr "Error while removing the track" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:109 -msgid "Error al actualizar track" -msgstr "Error while updating the track" - -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:134 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:108 msgid "Error al obtener track" msgstr "Error while retrieving the track" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:155 -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:182 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:131 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:163 msgid "Error al obtener tracks" msgstr "Error while retrieving the tracks" -#: ../../../../lib/SP/Repositories/User/UserRepository.php:60 -#: ../../../../lib/SP/Repositories/User/UserRepository.php:421 -msgid "Login/email de usuario duplicados" -msgstr "Duplicated user login/email" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:95 -#: ../../../../lib/SP/Repositories/User/UserRepository.php:671 -msgid "Error al actualizar el usuario" -msgstr "Error while updating the user" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:162 -msgid "Error al modificar la clave" -msgstr "Error while updating the password" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:180 -msgid "Error al eliminar el usuario" -msgstr "Error while deleting the user" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:234 -#: ../../../../lib/SP/Repositories/User/UserRepository.php:543 -msgid "Error al obtener los datos del usuario" -msgstr "Error while retrieving the user's data" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:344 -#: ../../../../lib/SP/Services/User/UserService.php:177 -msgid "Error al eliminar los usuarios" -msgstr "Error while deleting the users" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:462 -msgid "Error al crear el usuario" -msgstr "Error while creating the user" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:547 -msgid "El usuario no existe" -msgstr "The user does not exist" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:691 -msgid "Error al actualizar preferencias" -msgstr "Error while updating the preferences" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:55 -msgid "Grupo en uso" -msgstr "Group in use" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:61 -msgid "Error al eliminar el grupo" -msgstr "Error while deleting the group" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:289 -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:337 -msgid "Nombre de grupo duplicado" -msgstr "Duplicated group name" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:299 -msgid "Error al crear el grupo" -msgstr "Error while creating the group" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:345 -msgid "Error al actualizar el grupo" -msgstr "Error while updating the group" - -#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:104 -msgid "Error al eliminar los usuarios del grupo" -msgstr "Error while deleting the group users" - -#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:133 -msgid "Error al asignar los usuarios al grupo" -msgstr "Error while setting users in the group" - -#: ../../../../lib/SP/Repositories/UserPassRecover/UserPassRecoverRepository.php:89 +#: ../../../../lib/SP/Repositories/User/UserPassRecoverRepository.php:86 msgid "Error al generar el hash de recuperación" msgstr "Error while generating the recovering hash" -#: ../../../../lib/SP/Repositories/UserPassRecover/UserPassRecoverRepository.php:115 +#: ../../../../lib/SP/Repositories/User/UserPassRecoverRepository.php:112 msgid "Error en comprobación de hash" msgstr "Error while checking hash" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:73 -msgid "Perfil en uso" -msgstr "Profile in use" +#: ../../../../lib/SP/Repositories/User/UserRepository.php:64 +#: ../../../../lib/SP/Repositories/User/UserRepository.php:435 +msgid "Login/email de usuario duplicados" +msgstr "Duplicated user login/email" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:101 +#: ../../../../lib/SP/Repositories/User/UserRepository.php:682 +#: ../../../../lib/SP/Services/User/UserService.php:297 +msgid "Error al actualizar el usuario" +msgstr "Error while updating the user" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:166 +msgid "Error al modificar la clave" +msgstr "Error while updating the password" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:185 +msgid "Error al eliminar el usuario" +msgstr "Error while deleting the user" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:236 +#: ../../../../lib/SP/Repositories/User/UserRepository.php:556 +msgid "Error al obtener los datos del usuario" +msgstr "Error while retrieving the user's data" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:241 +#: ../../../../lib/SP/Services/User/UserService.php:160 +msgid "El usuario no existe" +msgstr "The user does not exist" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:361 +#: ../../../../lib/SP/Services/User/UserService.php:196 +msgid "Error al eliminar los usuarios" +msgstr "Error while deleting the users" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:479 +msgid "Error al crear el usuario" +msgstr "Error while creating the user" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:702 +msgid "Error al actualizar preferencias" +msgstr "Error while updating the preferences" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:62 +msgid "Error al eliminar el grupo" +msgstr "Error while deleting the group" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:305 +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:350 +msgid "Nombre de grupo duplicado" +msgstr "Duplicated group name" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:314 +msgid "Error al crear el grupo" +msgstr "Error while creating the group" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:360 +msgid "Error al actualizar el grupo" +msgstr "Error while updating the group" + +#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:108 +msgid "Error al eliminar los usuarios del grupo" +msgstr "Error while deleting the group users" + +#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:138 +msgid "Error al asignar los usuarios al grupo" +msgstr "Error while setting users in the group" #: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:79 msgid "Error al eliminar perfil" msgstr "Error while removing the profile" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:171 -#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:105 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:181 +#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:104 msgid "Error al eliminar los perfiles" msgstr "Error while removing the profiles" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:223 -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:268 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:229 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:274 msgid "Nombre de perfil duplicado" msgstr "Duplicated profile name" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:230 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:238 msgid "Error al crear perfil" msgstr "Error while creating the profile" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:279 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:287 msgid "Error al modificar perfil" msgstr "Error while updating the profile" +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:71 #: ../../../../lib/SP/Services/Account/AccountCryptService.php:77 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:94 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:113 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:174 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:180 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:240 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:93 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:101 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:109 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:134 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:138 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:67 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:75 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:83 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:108 msgid "Actualizar Clave Maestra" msgstr "Update Master Password" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:81 -msgid "Error en el módulo de encriptación" -msgstr "Error on the encryption module" +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:89 +msgid "Errores al actualizar las claves de las cuentas" +msgstr "Error while updating the accounts' passwords" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:88 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:217 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:115 msgid "Error al obtener las claves de las cuentas" msgstr "Error while retrieving the accounts' passwords" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:114 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:241 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:139 #, php-format msgid "Cuentas actualizadas: %d / %d" msgstr "Accounts updated: %d / %d" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:124 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:250 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:148 #, php-format msgid "Cuentas actualizadas: %d / %d - %d%% - ETA: %ds (%.2f/s)" msgstr "Updated accounts: %d / %d - %d%% - ETA: %ds (%.2f/s)" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:151 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:284 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:289 -msgid "Fallo al actualizar la clave de la cuenta" -msgstr "Error while updating the account's password" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:156 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:294 -msgid "Cuentas actualizadas" -msgstr "Accounts updated" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:157 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:295 -msgid "Errores" -msgstr "Errors" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:192 -msgid "Errores al actualizar las claves de las cuentas" -msgstr "Error while updating the accounts' passwords" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:260 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:158 msgid "La clave maestra del registro no coincide" msgstr "The record's master password does not match" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:312 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:318 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:183 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:188 +msgid "Fallo al actualizar la clave de la cuenta" +msgstr "Error while updating the account's password" + +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:193 +msgid "Cuentas actualizadas" +msgstr "Accounts updated" + +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:194 +msgid "Errores" +msgstr "Errors" + +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:212 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:218 msgid "Actualizar Clave Maestra (H)" msgstr "Update Master Password (H)" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:333 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:233 msgid "Errores al actualizar las claves de las cuentas del histórico" msgstr "Error while updating the accounts' passwords in history" -#: ../../../../lib/SP/Services/Account/AccountFileService.php:131 +#: ../../../../lib/SP/Services/Account/AccountFileService.php:137 msgid "Error al eliminar archivos" msgstr "Error while deleting the files" -#: ../../../../lib/SP/Services/Api/ApiRequest.php:75 -#: ../../../../lib/SP/Services/Api/ApiService.php:316 +#: ../../../../lib/SP/Services/Account/AccountFileService.php:156 +msgid "Archivo no encontrado" +msgstr "File not found" + +#: ../../../../lib/SP/Services/Account/AccountService.php:90 +#: ../../../../lib/SP/Services/Account/AccountService.php:504 +#: ../../../../lib/SP/Services/Account/AccountService.php:559 +msgid "La cuenta no existe" +msgstr "The account doesn't exist" + +#: ../../../../lib/SP/Services/Account/AccountService.php:225 +msgid "Clave maestra no establecida" +msgstr "Master password not set" + +#: ../../../../lib/SP/Services/Api/ApiRequest.php:79 +#: ../../../../lib/SP/Services/Api/ApiRequest.php:113 +#: ../../../../lib/SP/Services/Api/ApiService.php:328 msgid "Datos inválidos" msgstr "Invalid data" -#: ../../../../lib/SP/Services/Api/ApiRequest.php:84 +#: ../../../../lib/SP/Services/Api/ApiRequest.php:88 msgid "Fomato incorrecto" msgstr "Invalid format" -#: ../../../../lib/SP/Services/Api/ApiService.php:85 -#: ../../../../lib/SP/Services/Auth/LoginService.php:147 -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:101 +#: ../../../../lib/SP/Services/Api/ApiService.php:91 +#: ../../../../lib/SP/Services/Auth/LoginService.php:133 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:100 #: ../../../modules/web/Controllers/UserPassResetController.php:125 msgid "Intentos excedidos" msgstr "Attempts exceeded" -#: ../../../../lib/SP/Services/Api/ApiService.php:138 +#: ../../../../lib/SP/Services/Api/ApiService.php:149 msgid "Parámetros incorrectos" msgstr "Wrong parameters" -#: ../../../../lib/SP/Services/Api/ApiService.php:202 +#: ../../../../lib/SP/Services/Api/ApiService.php:214 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:126 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:106 msgid "Cuenta Privada" msgstr "Private Account" -#: ../../../../lib/SP/Services/Api/ApiService.php:203 +#: ../../../../lib/SP/Services/Api/ApiService.php:215 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:139 msgid "Cuenta Privada Grupo" msgstr "Private Account for Group" -#: ../../../../lib/SP/Services/Api/ApiService.php:204 +#: ../../../../lib/SP/Services/Api/ApiService.php:216 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:89 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:104 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:174 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:173 #: ../../../modules/web/themes/material-blue/views/account/details.inc:129 #: ../../../modules/web/themes/material-blue/views/account/details.inc:131 msgid "Fecha Caducidad Clave" msgstr "Password Expiry Date" -#: ../../../../lib/SP/Services/Api/ApiService.php:205 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:229 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:231 +#: ../../../../lib/SP/Services/Api/ApiService.php:217 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:228 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:230 #: ../../../modules/web/themes/material-blue/views/account/viewpass.inc:9 msgid "Cuenta Vinculada" msgstr "Linked Account" -#: ../../../../lib/SP/Services/Api/ApiService.php:238 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:174 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1349 +#: ../../../../lib/SP/Services/Api/ApiService.php:250 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:181 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1377 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:63 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:92 msgid "Global" msgstr "Global" -#: ../../../../lib/SP/Services/Api/ApiService.php:254 +#: ../../../../lib/SP/Services/Api/ApiService.php:266 #: ../../../modules/web/themes/material-blue/views/itemshow/tag.inc:24 msgid "Nombre de la etiqueta" msgstr "Tag name" -#: ../../../../lib/SP/Services/Api/ApiService.php:259 +#: ../../../../lib/SP/Services/Api/ApiService.php:271 msgid "Id de etiqueta" msgstr "Tag Id" -#: ../../../../lib/SP/Services/Auth/LoginService.php:167 -#: ../../../../lib/SP/Services/Auth/LoginService.php:432 -#: ../../../../lib/SP/Services/Auth/LoginService.php:439 -#: ../../../../lib/SP/Services/Auth/LoginService.php:547 +#: ../../../../lib/SP/Services/Auth/LoginService.php:153 +#: ../../../../lib/SP/Services/Auth/LoginService.php:437 +#: ../../../../lib/SP/Services/Auth/LoginService.php:444 #: ../../../../lib/SP/Services/Auth/LoginService.php:552 -#: ../../../../lib/SP/Services/Auth/LoginService.php:588 -#: ../../../../lib/SP/Services/Auth/LoginService.php:593 +#: ../../../../lib/SP/Services/Auth/LoginService.php:557 +#: ../../../../lib/SP/Services/Auth/LoginService.php:594 +#: ../../../../lib/SP/Services/Auth/LoginService.php:599 msgid "Login incorrecto" msgstr "Wrong login" -#: ../../../../lib/SP/Services/Auth/LoginService.php:225 -#: ../../../../lib/SP/Services/Auth/LoginService.php:232 +#: ../../../../lib/SP/Services/Auth/LoginService.php:211 +#: ../../../../lib/SP/Services/Auth/LoginService.php:218 msgid "Usuario deshabilitado" msgstr "User disabled" -#: ../../../../lib/SP/Services/Auth/LoginService.php:277 +#: ../../../../lib/SP/Services/Auth/LoginService.php:263 msgid "Usando clave temporal" msgstr "Using temporary password" -#: ../../../../lib/SP/Services/Auth/LoginService.php:285 -#: ../../../../lib/SP/Services/Auth/LoginService.php:291 -#: ../../../../lib/SP/Services/Auth/LoginService.php:304 -#: ../../../../lib/SP/Services/Auth/LoginService.php:310 +#: ../../../../lib/SP/Services/Auth/LoginService.php:271 +#: ../../../../lib/SP/Services/Auth/LoginService.php:277 +#: ../../../../lib/SP/Services/Auth/LoginService.php:290 +#: ../../../../lib/SP/Services/Auth/LoginService.php:296 msgid "Clave maestra incorrecta" msgstr "Wrong master password" -#: ../../../../lib/SP/Services/Auth/LoginService.php:299 -#: ../../../../lib/SP/Services/Auth/LoginService.php:318 +#: ../../../../lib/SP/Services/Auth/LoginService.php:285 +#: ../../../../lib/SP/Services/Auth/LoginService.php:304 #: ../../../../lib/SP/Services/User/UpdatedMasterPassException.php:45 #: ../../../../lib/SP/Util/ErrorUtil.php:143 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:74 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:151 -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:93 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:67 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:141 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:96 msgid "Clave maestra actualizada" msgstr "Master password updated" -#: ../../../../lib/SP/Services/Auth/LoginService.php:324 +#: ../../../../lib/SP/Services/Auth/LoginService.php:310 msgid "Es necesaria su clave anterior" msgstr "Your previous password is needed" -#: ../../../../lib/SP/Services/Auth/LoginService.php:336 +#: ../../../../lib/SP/Services/Auth/LoginService.php:322 msgid "La clave maestra no ha sido guardada o es incorrecta" msgstr "The Master Password either is not saved or is wrong" -#: ../../../../lib/SP/Services/Auth/LoginService.php:428 -#: ../../../../lib/SP/Services/Auth/LoginService.php:491 +#: ../../../../lib/SP/Services/Auth/LoginService.php:433 +#: ../../../../lib/SP/Services/Auth/LoginService.php:496 msgid "Servidor LDAP" msgstr "LDAP Server" -#: ../../../../lib/SP/Services/Auth/LoginService.php:447 #: ../../../../lib/SP/Services/Auth/LoginService.php:452 +#: ../../../../lib/SP/Services/Auth/LoginService.php:457 msgid "Cuenta expirada" msgstr "Account expired" -#: ../../../../lib/SP/Services/Auth/LoginService.php:460 #: ../../../../lib/SP/Services/Auth/LoginService.php:465 +#: ../../../../lib/SP/Services/Auth/LoginService.php:470 msgid "El usuario no tiene grupos asociados" msgstr "The user has no associated groups" -#: ../../../../lib/SP/Services/Auth/LoginService.php:578 +#: ../../../../lib/SP/Services/Auth/LoginService.php:584 #: ../../../modules/web/themes/material-blue/views/config/general-auth.inc:10 msgid "Autentificación" msgstr "Authentication" -#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:118 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:126 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:257 msgid "Token no encontrado" msgstr "Token not found" -#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:136 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:145 msgid "Error al eliminar tokens" msgstr "Error while removing the tokens" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:81 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:91 msgid "Realizar Backup" msgstr "Make Backup" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:108 -#: ../../../../lib/SP/Services/Export/XmlExportService.php:191 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:123 #, php-format msgid "No es posible crear el directorio de backups (\"%s\")" msgstr "Unable to create the backups directory (\"%s\")" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:113 -#: ../../../../lib/SP/Services/Export/XmlExportService.php:197 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:128 msgid "Compruebe los permisos del directorio de backups" msgstr "Please, check the backup directory permissions" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:141 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:157 msgid "Copiando base de datos" msgstr "Copying database" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:259 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:284 msgid "Copiando aplicación" msgstr "Copying application" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:265 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:290 msgid "Esta operación sólo es posible en entornos Linux" msgstr "This operation is only available on Linux environments" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:270 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:295 msgid "Error al realizar backup en modo compatibilidad" msgstr "Error while doing the backup in compatibility mode" -#: ../../../../lib/SP/Services/Config/ConfigService.php:63 +#: ../../../../lib/SP/Services/Category/CategoryService.php:134 +msgid "Error al eliminar las categorías" +msgstr "Error while deleting categories" + +#: ../../../../lib/SP/Services/Config/ConfigBackupService.php:80 +#: ../../../../lib/SP/Services/Config/ConfigBackupService.php:87 +msgid "No es posible restaurar la configuración" +msgstr "Unable to restore configuration" + +#: ../../../../lib/SP/Services/Config/ConfigService.php:68 +#: ../../../../lib/SP/Services/Config/ConfigService.php:153 #, php-format msgid "Parámetro no encontrado (%s)" msgstr "Parameter not found (%s)" -#: ../../../../lib/SP/Services/Crypt/MasterPassService.php:91 -#: ../../../../lib/SP/Services/Import/ImportService.php:71 -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:71 -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:71 -msgid "No es posible iniciar una transacción" -msgstr "Unable to start a transaction" - -#: ../../../../lib/SP/Services/Crypt/MasterPassService.php:101 -#: ../../../../lib/SP/Services/Import/ImportService.php:77 -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:97 -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:102 -msgid "No es posible finalizar una transacción" -msgstr "Unable to finish a transaction" - -#: ../../../../lib/SP/Services/Crypt/MasterPassService.php:107 -#: ../../../../lib/SP/Services/Import/ImportService.php:85 -msgid "Rollback" -msgstr "Rollback" - -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:83 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:102 msgid "Generar Clave Temporal" msgstr "Generate Temporary Password" -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:90 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:109 msgid "Error al generar clave temporal" msgstr "Error while generating the temporary password" -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:112 -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:155 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:130 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:180 msgid "Clave temporal caducada" msgstr "Temporary password expired" -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:138 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:159 msgid "Error al comprobar clave temporal" msgstr "Error while checking the temporary password" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:75 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:161 -msgid "Errores al actualizar datos de campos personalizados" -msgstr "Error while updating the custom fields data" +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:212 +#, php-format +msgid "Clave Maestra %s" +msgstr "Master Password %s" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:94 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:213 +msgid "" +"Se ha generado una nueva clave para el acceso a sysPass y se solicitará en " +"el siguiente inicio." +msgstr "" +"A new sysPass master password has been generated, so the next time you log " +"into the application it will be requested." + +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:215 +#, php-format +msgid "La nueva clave es: %s" +msgstr "The new Master Password is: %s" + +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:217 +#, php-format +msgid "Esta clave estará activa hasta: %s" +msgstr "This password will be valid until: %s" + +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:219 +msgid "No olvide acceder lo antes posible para guardar los cambios." +msgstr "" +"Please, don't forget to log in as soon as possible to save the changes." + +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:68 msgid "No hay datos de campos personalizados" msgstr "There aren't any data from custom fields" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:102 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:110 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:76 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:84 msgid "Actualizando datos encriptados" msgstr "Updating encrypted data" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:135 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:109 msgid "Registros actualizados" msgstr "Records updated" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:136 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:110 msgid "Registros no actualizados" msgstr "Records not updated" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:69 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:88 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:135 +msgid "Errores al actualizar datos de campos personalizados" +msgstr "Error while updating the custom fields data" + +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:75 +#: ../../../modules/web/Controllers/ConfigBackupController.php:124 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:93 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:294 msgid "Categorías" msgstr "Categories" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:70 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:193 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:76 +#: ../../../modules/web/Controllers/ConfigBackupController.php:123 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:200 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:326 msgid "Clientes" msgstr "Clients" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:71 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:581 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:77 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:599 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:13 #: ../../../modules/web/themes/material-blue/views/itemshow/usergroup.inc:46 #: ../../../modules/web/themes/material-blue/views/itemshow/usergroup.inc:48 @@ -1632,14 +1662,14 @@ msgstr "Clients" msgid "Usuarios" msgstr "Users" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:72 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:699 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:78 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:718 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:51 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:262 msgid "Grupos" msgstr "Groups" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:108 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:109 msgid "Campo no encontrado" msgstr "Field not found" @@ -1647,30 +1677,53 @@ msgstr "Field not found" msgid "Error al eliminar los campos" msgstr "Error while deleting the fields" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:173 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:112 +#: ../../../../lib/SP/Storage/FileCache.php:64 +#: ../../../../lib/SP/Storage/FileCachePacked.php:99 +#, php-format +msgid "No es posible crear el directorio (%s)" +msgstr "Unable to create the directory (%s)" + +#: ../../../../lib/SP/Services/Export/XmlExportService.php:161 msgid "Error al realizar la exportación" msgstr "Error while exporting" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:262 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:229 msgid "Exportando categorías" msgstr "Exporting categories" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:372 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:341 msgid "Exportando clientes" msgstr "Exporting clients" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:418 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:387 msgid "Exportando etiquetas" msgstr "Exporting tags" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:462 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:431 msgid "Exportando cuentas" msgstr "Exporting accounts" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:570 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:538 msgid "Error al crear el archivo XML" msgstr "Error while creating the XML file" +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:104 +#: ../../../../lib/SP/Services/Import/XmlFileImport.php:103 +msgid "No es posible procesar el archivo XML" +msgstr "Unable to process the XML file" + +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:126 +msgid "Fallo en la verificación del hash de integridad" +msgstr "Error while checking integrity hash" + +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:188 +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:218 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:126 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:148 +msgid "Clave de encriptación incorrecta" +msgstr "Wrong encryption password" + #: ../../../../lib/SP/Services/Import/CsvImport.php:48 #, php-format msgid "Formato detectado: %s" @@ -1688,7 +1741,7 @@ msgstr "Please, check the CSV file format in line %s" #: ../../../../lib/SP/Services/Import/CsvImportBase.php:157 #: ../../../../lib/SP/Services/Import/KeepassImport.php:104 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:367 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:365 msgid "Cuenta importada" msgstr "Account imported" @@ -1720,8 +1773,8 @@ msgstr "Please, check the file extension" #: ../../../../lib/SP/Services/Import/FileImport.php:113 #: ../../../../lib/SP/Services/Import/FileImport.php:155 #: ../../../../lib/SP/Services/Import/FileImport.php:181 -#: ../../../modules/web/Controllers/AccountFileController.php:180 -#: ../../../modules/web/Controllers/AccountFileController.php:193 +#: ../../../modules/web/Controllers/AccountFileController.php:188 +#: ../../../modules/web/Controllers/AccountFileController.php:209 msgid "Error interno al leer el archivo" msgstr "Internal error while reading the file" @@ -1734,12 +1787,30 @@ msgstr "Please, check PHP configuration for upload files" msgid "Compruebe los permisos del directorio temporal" msgstr "Please, check the temporary directory permissions" -#: ../../../../lib/SP/Services/Import/ImportService.php:114 +#: ../../../../lib/SP/Services/Import/ImportService.php:70 +#: ../../../../lib/SP/Services/Service.php:118 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:70 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:70 +msgid "No es posible iniciar una transacción" +msgstr "Unable to start a transaction" + +#: ../../../../lib/SP/Services/Import/ImportService.php:76 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:96 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:101 +msgid "No es posible finalizar una transacción" +msgstr "Unable to finish a transaction" + +#: ../../../../lib/SP/Services/Import/ImportService.php:84 +#: ../../../../lib/SP/Services/Service.php:112 +msgid "Rollback" +msgstr "Rollback" + +#: ../../../../lib/SP/Services/Import/ImportService.php:113 #, php-format msgid "Tipo mime no soportado (\"%s\")" msgstr "Mime type not supported (\"%s\")" -#: ../../../../lib/SP/Services/Import/ImportService.php:116 +#: ../../../../lib/SP/Services/Import/ImportService.php:115 msgid "Compruebe el formato del archivo" msgstr "Please, check the file format" @@ -1757,34 +1828,29 @@ msgid "Importación XML KeePass" msgstr "KeePass XML Import" #: ../../../../lib/SP/Services/Import/KeepassImport.php:85 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:199 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:197 msgid "Categoría importada" msgstr "Category imported" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:58 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:88 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:57 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:87 msgid "Importación XML sysPass" msgstr "sysPass XML Import" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:69 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:68 msgid "Clave de encriptación no indicada" msgstr "Encryption password not set" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:127 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:150 -msgid "Clave de encriptación incorrecta" -msgstr "Wrong encryption password" - -#: ../../../../lib/SP/Services/Import/SyspassImport.php:166 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:164 msgid "Datos desencriptados" msgstr "Data unencrypted" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:236 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:274 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:234 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:272 msgid "Cliente importado" msgstr "Client imported" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:308 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:306 msgid "Etiqueta importada" msgstr "Tag imported" @@ -1796,10 +1862,6 @@ msgstr "XML file not supported" msgid "No es posible detectar la aplicación que exportó los datos" msgstr "Unable to detect the application the data was exported from" -#: ../../../../lib/SP/Services/Import/XmlFileImport.php:103 -msgid "No es posible procesar el archivo XML" -msgstr "Unable to process the XML file" - #: ../../../../lib/SP/Services/Import/XmlImport.php:100 msgid "Formato no detectado" msgstr "Format not detected" @@ -1808,18 +1870,18 @@ msgstr "Format not detected" msgid "Not implemented" msgstr "Not implemented" -#: ../../../../lib/SP/Services/Import/XmlImportBase.php:94 +#: ../../../../lib/SP/Services/Import/XmlImportBase.php:102 #: ../../../../lib/SP/Services/Import/XmlImportTrait.php:67 msgid "Formato de XML inválido" msgstr "Invalid XML format" -#: ../../../../lib/SP/Services/Import/XmlImportBase.php:96 +#: ../../../../lib/SP/Services/Import/XmlImportBase.php:104 #: ../../../../lib/SP/Services/Import/XmlImportTrait.php:69 #, php-format msgid "El nodo \"%s\" no existe" msgstr "The \"%s\" node doesn't exist" -#: ../../../../lib/SP/Services/Import/XmlImportBase.php:101 +#: ../../../../lib/SP/Services/Import/XmlImportBase.php:109 #: ../../../../lib/SP/Services/Import/XmlImportTrait.php:77 msgid "Método inválido" msgstr "Invalid Method" @@ -1902,16 +1964,16 @@ msgid "Informe al desarrollador" msgstr "Warn to developer" #: ../../../../lib/SP/Services/Install/MySQL.php:96 -#: ../../../../lib/SP/Storage/MySQLHandler.php:92 -#: ../../../../lib/SP/Storage/MySQLHandler.php:111 -#: ../../../../lib/SP/Storage/MySQLHandler.php:162 -#: ../../../../lib/SP/Storage/MySQLHandler.php:174 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:96 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:116 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:167 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:179 msgid "No es posible conectar con la BD" msgstr "Unable to connect to the DB" #: ../../../../lib/SP/Services/Install/MySQL.php:98 -#: ../../../../lib/SP/Storage/MySQLHandler.php:94 -#: ../../../../lib/SP/Storage/MySQLHandler.php:164 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:98 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:169 msgid "Compruebe los datos de conexión" msgstr "Please, check the connection parameters" @@ -2003,11 +2065,11 @@ msgstr "Objects found" msgid "Importado desde LDAP" msgstr "Imported from LDAP" -#: ../../../../lib/SP/Services/MailService.php:67 +#: ../../../../lib/SP/Services/MailService.php:68 msgid "Prueba de correo" msgstr "Mail test" -#: ../../../../lib/SP/Services/MailService.php:68 +#: ../../../../lib/SP/Services/MailService.php:69 msgid "" "Esto es una prueba de correo para verificar el correcto funcionamiento de la " "configuración." @@ -2015,40 +2077,55 @@ msgstr "" "This is a test email in order to verify that the configuration is working " "right." -#: ../../../../lib/SP/Services/MailService.php:82 -#: ../../../../lib/SP/Services/MailService.php:150 +#: ../../../../lib/SP/Services/MailService.php:83 +#: ../../../../lib/SP/Services/MailService.php:153 msgid "Error al enviar correo" msgstr "Error while sending the email" -#: ../../../../lib/SP/Services/MailService.php:140 -#: ../../../modules/web/Controllers/ConfigMailController.php:139 -#: ../../../modules/web/Controllers/ConfigMailController.php:145 +#: ../../../../lib/SP/Services/MailService.php:143 +#: ../../../modules/web/Controllers/ConfigMailController.php:138 +#: ../../../modules/web/Controllers/ConfigMailController.php:144 msgid "Correo enviado" msgstr "Email sent" -#: ../../../../lib/SP/Services/MailService.php:141 -#: ../../../modules/web/Controllers/ConfigMailController.php:140 +#: ../../../../lib/SP/Services/MailService.php:144 +#: ../../../modules/web/Controllers/ConfigMailController.php:139 msgid "Destinatario" msgstr "Recipient" -#: ../../../../lib/SP/Services/Notification/NotificationService.php:94 -#: ../../../../lib/SP/Services/Notification/NotificationService.php:112 +#: ../../../../lib/SP/Services/MailService.php:188 +msgid "Servicio de correo no disponible" +msgstr "Mail service unavailable" + +#: ../../../../lib/SP/Services/Notification/NotificationService.php:101 +#: ../../../../lib/SP/Services/Notification/NotificationService.php:120 msgid "Notificación no encontrada" msgstr "Notification not found" -#: ../../../../lib/SP/Services/Plugin/PluginService.php:129 +#: ../../../../lib/SP/Services/Plugin/PluginService.php:143 msgid "Plugin no encontrado" msgstr "Plugin not found" -#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:197 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:132 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:350 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:371 +msgid "El enlace no existe" +msgstr "The link does not exist" + +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:217 msgid "Enlace no encontrado" msgstr "Link not found" -#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:215 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:236 msgid "Error al eliminar los enlaces" msgstr "Error while removing the links" -#: ../../../../lib/SP/Services/Tag/TagService.php:75 +#: ../../../../lib/SP/Services/Service.php:136 +#: ../../../../lib/SP/Services/Service.php:143 +msgid "Error ol obtener la clave maestra del contexto" +msgstr "Error while retrieving master pass from context" + +#: ../../../../lib/SP/Services/Tag/TagService.php:84 msgid "Etiqueta no encontrada" msgstr "Tag not found" @@ -2060,12 +2137,12 @@ msgstr "Unable to create the lock file" msgid "Esperando actualización de progreso ..." msgstr "Waiting for progress updating ..." -#: ../../../../lib/SP/Services/Track/TrackService.php:139 +#: ../../../../lib/SP/Services/Track/TrackService.php:128 #, php-format msgid "Intentos excedidos (%d/%d)" msgstr "Attempts exceeded (%d/%d)" -#: ../../../../lib/SP/Services/Track/TrackService.php:140 +#: ../../../../lib/SP/Services/Track/TrackService.php:129 msgid "Segundos" msgstr "Seconds" @@ -2079,8 +2156,8 @@ msgid "Error al aplicar la actualización de la aplicación" msgstr "Error while applying the application update" #: ../../../../lib/SP/Services/Upgrade/UpgradeAppService.php:69 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:88 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:96 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:89 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:97 msgid "Compruebe el registro de eventos para más detalles" msgstr "Please, check the event log for more details" @@ -2100,134 +2177,136 @@ msgid "Error al actualizar la configuración" msgstr "Error while updating the configuration" #: ../../../../lib/SP/Services/Upgrade/UpgradeConfigService.php:120 -#: ../../../modules/web/Controllers/AccountFileController.php:82 -#: ../../../modules/web/Controllers/AccountFileController.php:95 -#: ../../../modules/web/Controllers/AccountFileController.php:133 -#: ../../../modules/web/Controllers/AccountFileController.php:202 -#: ../../../modules/web/Controllers/AccountFileController.php:288 +#: ../../../modules/web/Controllers/AccountFileController.php:81 +#: ../../../modules/web/Controllers/AccountFileController.php:94 +#: ../../../modules/web/Controllers/AccountFileController.php:132 +#: ../../../modules/web/Controllers/AccountFileController.php:222 +#: ../../../modules/web/Controllers/AccountFileController.php:315 #: ../../../modules/web/themes/material-blue/views/config/import.inc:70 msgid "Archivo" msgstr "File" -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:60 -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:109 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:59 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:108 msgid "Actualización de campos personalizados" msgstr "Custom fields update" -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:91 -#: ../../../modules/web/Controllers/CustomFieldController.php:266 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:90 #: ../../../modules/web/Controllers/CustomFieldController.php:270 +#: ../../../modules/web/Controllers/CustomFieldController.php:274 msgid "Campo actualizado" msgstr "Field updated" -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:92 -#: ../../../modules/web/Controllers/CustomFieldController.php:232 -#: ../../../modules/web/Controllers/CustomFieldController.php:267 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:91 +#: ../../../modules/web/Controllers/CustomFieldController.php:236 +#: ../../../modules/web/Controllers/CustomFieldController.php:271 msgid "Campo" msgstr "Field" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:79 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:122 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:80 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:123 msgid "Actualizar BBDD" msgstr "Update DB" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:86 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:87 msgid "Error al aplicar la actualización auxiliar" msgstr "Error while applying an auxiliary update" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:94 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:177 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:95 #: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:181 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:185 msgid "Error al aplicar la actualización de la Base de Datos" msgstr "Error while updating the database" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:151 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:155 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:154 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:158 msgid "No es necesario actualizar la Base de Datos." msgstr "Database update not needed." -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:187 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:191 msgid "Actualización de la Base de Datos realizada correctamente." msgstr "Database updating was completed successfully." -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:60 -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:114 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:59 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:113 msgid "Actualización de enlaces públicos" msgstr "Public links update" -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:96 -#: ../../../modules/web/Controllers/PublicLinkController.php:170 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:95 +#: ../../../modules/web/Controllers/PublicLinkController.php:172 msgid "Enlace actualizado" msgstr "Link updated" -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:97 -#: ../../../modules/web/Controllers/PublicLinkController.php:240 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:96 +#: ../../../modules/web/Controllers/PublicLinkController.php:244 msgid "Enlace" msgstr "Link" #: ../../../../lib/SP/Services/User/UpdatedMasterPassException.php:45 #: ../../../../lib/SP/Util/ErrorUtil.php:144 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:74 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:151 -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:93 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:67 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:141 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:96 msgid "Reinicie la sesión para cambiarla" msgstr "Please, restart the session for update it" -#: ../../../../lib/SP/Services/User/UserService.php:161 +#: ../../../../lib/SP/Services/User/UserService.php:179 msgid "Usuario no encontrado" msgstr "User not found" -#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:80 +#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:87 msgid "Grupo no encontrado" msgstr "Group not found" -#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:96 +#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:104 msgid "Error al eliminar los grupos" msgstr "Error while deleting the groups" -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:65 -#: ../../../modules/web/Controllers/UserController.php:220 -#: ../../../modules/web/Controllers/UserController.php:334 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:64 +#: ../../../modules/web/Controllers/UserController.php:225 +#: ../../../modules/web/Controllers/UserController.php:344 #: ../../../modules/web/Controllers/UserPassResetController.php:106 -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:231 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:232 msgid "Cambio de Clave" msgstr "Password Change" -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:66 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:65 msgid "Se ha solicitado el cambio de su clave de usuario." msgstr "A request for changing your user password has been done." -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:68 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:67 msgid "Para completar el proceso es necesario que acceda a la siguiente URL:" msgstr "In order to complete the process, please go to this URL:" -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:72 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:71 msgid "Si no ha solicitado esta acción, ignore este mensaje." msgstr "If you have not requested this action, please dismiss this message." -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:86 -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:148 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:85 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:150 msgid "Hash inválido o expirado" msgstr "Wrong hash or expired" -#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:89 +#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:87 msgid "Perfil no encontrado" msgstr "Profile not found" -#: ../../../../lib/SP/Storage/DbWrapper.php:148 +#: ../../../../lib/SP/Storage/Database/Database.php:131 +msgid "Consulta en blanco" +msgstr "Blank query" + +#: ../../../../lib/SP/Storage/Database/Database.php:273 +msgid "Restricción de integridad" +msgstr "Integrity constraint" + +#: ../../../../lib/SP/Storage/Database/QueryData.php:354 #: ../../../config/strings.js.inc:26 msgid "Error en la consulta" msgstr "Error while querying" -#: ../../../../lib/SP/Storage/DbWrapper.php:154 -msgid "Consulta en blanco" -msgstr "Blank query" - -#: ../../../../lib/SP/Storage/DbWrapper.php:169 -msgid "Restricción de integridad" -msgstr "Integrity constraint" - #: ../../../../lib/SP/Storage/FileCache.php:43 +#: ../../../../lib/SP/Storage/FileHandler.php:167 +#: ../../../../lib/SP/Storage/FileHandler.php:206 #, php-format msgid "No es posible leer el archivo (%s)" msgstr "Unable to read/write the file (%s)" @@ -2238,21 +2317,15 @@ msgstr "Unable to read/write the file (%s)" msgid "Error al leer datos del archivo (%s)" msgstr "Error while reading file data (%s)" -#: ../../../../lib/SP/Storage/FileCache.php:64 -#: ../../../../lib/SP/Storage/FileCachePacked.php:99 -#, php-format -msgid "No es posible crear el directorio (%s)" -msgstr "Unable to create the directory (%s)" - #: ../../../../lib/SP/Storage/FileCache.php:68 #: ../../../../lib/SP/Storage/FileCache.php:72 -#: ../../../../lib/SP/Storage/FileHandler.php:63 +#: ../../../../lib/SP/Storage/FileHandler.php:68 #, php-format msgid "No es posible escribir en el archivo (%s)" msgstr "Unable to read/write the file (%s)" #: ../../../../lib/SP/Storage/FileCache.php:87 -#: ../../../../lib/SP/Storage/FileHandler.php:77 +#: ../../../../lib/SP/Storage/FileHandler.php:84 #, php-format msgid "No es posible abrir el archivo (%s)" msgstr "Unable to open the file (%s)" @@ -2293,17 +2366,36 @@ msgstr "Error while writing data to file (%s)" msgid "Datos no cargados" msgstr "Data not loaded" -#: ../../../../lib/SP/Storage/FileHandler.php:89 +#: ../../../../lib/SP/Storage/FileHandler.php:99 +#, php-format +msgid "No es posible leer desde el archivo (%s)" +msgstr "Unable to read from file (%s)" + +#: ../../../../lib/SP/Storage/FileHandler.php:137 #, php-format msgid "No es posible cerrar el archivo (%s)" msgstr "Unable to close the file (%s)" -#: ../../../../lib/SP/Storage/XmlHandler.php:98 +#: ../../../../lib/SP/Storage/FileHandler.php:152 #, php-format -msgid "No es posible leer/escribir el archivo: %s" -msgstr "Unable to read/write the file: %s" +msgid "No es posible escribir el archivo (%s)" +msgstr "Unable to write in file (%s)" -#: ../../../../lib/SP/Storage/XmlHandler.php:165 +#: ../../../../lib/SP/Storage/FileHandler.php:182 +#, php-format +msgid "Archivo no encontrado (%s)" +msgstr "File not found (%s)" + +#: ../../../../lib/SP/Storage/FileHandler.php:233 +#, php-format +msgid "No es posible eliminar el archivo (%s)" +msgstr "Unable to delete file (%s)" + +#: ../../../../lib/SP/Storage/XmlHandler.php:88 +msgid "El nodo XML no existe" +msgstr "The XML node does not exist" + +#: ../../../../lib/SP/Storage/XmlHandler.php:163 msgid "No hay elementos para guardar" msgstr "There aren't any items to save" @@ -2328,11 +2420,22 @@ msgstr "You don't have permission to do this operation" msgid "Se ha producido una excepción" msgstr "An exception occured" +#: ../../../../lib/SP/Util/ImageUtil.php:49 +#: ../../../../lib/SP/Util/ImageUtil.php:100 +#: ../../../../lib/SP/Util/Util.php:180 ../../../../lib/SP/Util/Util.php:182 +#, php-format +msgid "Extensión '%s' no cargada" +msgstr "Extension '%s' not loaded" + +#: ../../../../lib/SP/Util/ImageUtil.php:106 +msgid "Imagen no válida" +msgstr "Invalid image" + #: ../../../../lib/SP/Util/Json.php:83 msgid "Error de codificación" msgstr "Encoding error" -#: ../../../../lib/SP/Util/Util.php:240 +#: ../../../../lib/SP/Util/Util.php:243 msgid "Respuesta" msgstr "Response" @@ -2360,20 +2463,23 @@ msgstr "Account displayed" #: ../../../modules/api/Controllers/ClientController.php:115 #: ../../../modules/api/Controllers/ClientController.php:143 #: ../../../modules/web/Controllers/AccountController.php:223 -#: ../../../modules/web/Controllers/AccountController.php:682 -#: ../../../modules/web/Controllers/AccountController.php:727 -#: ../../../modules/web/Controllers/AccountController.php:768 -#: ../../../modules/web/Controllers/AccountController.php:807 -#: ../../../modules/web/Controllers/AccountController.php:856 -#: ../../../modules/web/Controllers/AccountController.php:891 -#: ../../../modules/web/Controllers/ClientController.php:210 -#: ../../../modules/web/Controllers/ClientController.php:243 -#: ../../../modules/web/Controllers/ClientController.php:277 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:213 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:341 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:426 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:482 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:951 +#: ../../../modules/web/Controllers/AccountController.php:690 +#: ../../../modules/web/Controllers/AccountController.php:736 +#: ../../../modules/web/Controllers/AccountController.php:778 +#: ../../../modules/web/Controllers/AccountController.php:818 +#: ../../../modules/web/Controllers/AccountController.php:868 +#: ../../../modules/web/Controllers/AccountController.php:904 +#: ../../../modules/web/Controllers/AccountFileController.php:224 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:106 +#: ../../../modules/web/Controllers/AccountManagerController.php:111 +#: ../../../modules/web/Controllers/ClientController.php:213 +#: ../../../modules/web/Controllers/ClientController.php:246 +#: ../../../modules/web/Controllers/ClientController.php:280 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:214 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:350 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:438 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:497 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:975 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:33 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:39 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:47 @@ -2382,69 +2488,71 @@ msgstr "Account displayed" #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:33 #: ../../../modules/web/themes/material-blue/views/account/account-request.inc:29 #: ../../../modules/web/themes/material-blue/views/account/account-request.inc:35 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:73 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:75 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:72 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:74 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:21 msgid "Cliente" msgstr "Client" #: ../../../modules/api/Controllers/AccountController.php:94 -#: ../../../modules/web/Controllers/AccountController.php:547 -#: ../../../modules/web/Controllers/AccountController.php:582 +#: ../../../modules/web/Controllers/AccountController.php:553 +#: ../../../modules/web/Controllers/AccountController.php:588 msgid "Clave visualizada" msgstr "Password viewed" #: ../../../modules/api/Controllers/CategoryController.php:87 #: ../../../modules/api/Controllers/CategoryController.php:116 #: ../../../modules/api/Controllers/CategoryController.php:144 -#: ../../../modules/web/Controllers/CategoryController.php:209 -#: ../../../modules/web/Controllers/CategoryController.php:247 -#: ../../../modules/web/Controllers/CategoryController.php:288 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:227 +#: ../../../modules/web/Controllers/CategoryController.php:214 +#: ../../../modules/web/Controllers/CategoryController.php:252 +#: ../../../modules/web/Controllers/CategoryController.php:294 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:228 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:439 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:498 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:62 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:64 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:38 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:44 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:97 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:99 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:96 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:98 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:57 msgid "Categoría" msgstr "Category" #: ../../../modules/api/Controllers/CategoryController.php:115 #: ../../../modules/api/Controllers/CategoryController.php:119 -#: ../../../modules/web/Controllers/CategoryController.php:287 -#: ../../../modules/web/Controllers/CategoryController.php:291 +#: ../../../modules/web/Controllers/CategoryController.php:293 +#: ../../../modules/web/Controllers/CategoryController.php:297 msgid "Categoría actualizada" msgstr "Category updated" #: ../../../modules/api/Controllers/ClientController.php:114 #: ../../../modules/api/Controllers/ClientController.php:118 -#: ../../../modules/web/Controllers/ClientController.php:276 -#: ../../../modules/web/Controllers/ClientController.php:280 +#: ../../../modules/web/Controllers/ClientController.php:279 +#: ../../../modules/web/Controllers/ClientController.php:283 msgid "Cliente actualizado" msgstr "Client updated" -#: ../../../modules/api/Controllers/ConfigController.php:56 +#: ../../../modules/api/Controllers/ConfigController.php:57 #: ../../../modules/web/Controllers/ConfigBackupController.php:65 msgid "Copia de la aplicación y base de datos realizada correctamente" msgstr "Application and database backup completed successfully" -#: ../../../modules/api/Controllers/ConfigController.php:82 +#: ../../../modules/api/Controllers/ConfigController.php:83 #: ../../../modules/web/Controllers/ConfigBackupController.php:94 msgid "Exportación de sysPass en XML" msgstr "sysPass XML export" -#: ../../../modules/api/Controllers/ConfigController.php:90 -#: ../../../modules/api/Controllers/ConfigController.php:93 +#: ../../../modules/api/Controllers/ConfigController.php:91 +#: ../../../modules/api/Controllers/ConfigController.php:94 #: ../../../modules/web/Controllers/ConfigBackupController.php:104 -#: ../../../modules/web/Controllers/ConfigBackupController.php:107 +#: ../../../modules/web/Controllers/ConfigBackupController.php:129 msgid "Proceso de exportación finalizado" msgstr "Export process finished" #: ../../../modules/api/Controllers/TagController.php:81 #: ../../../modules/api/Controllers/TagController.php:85 -#: ../../../modules/web/Controllers/TagController.php:226 +#: ../../../modules/web/Controllers/TagController.php:228 msgid "Etiqueta creada" msgstr "Tag added" @@ -2456,13 +2564,13 @@ msgstr "Tag" #: ../../../modules/api/Controllers/TagController.php:109 #: ../../../modules/api/Controllers/TagController.php:113 -#: ../../../modules/web/Controllers/TagController.php:255 +#: ../../../modules/web/Controllers/TagController.php:257 msgid "Etiqueta actualizada" msgstr "Tag updated" #: ../../../modules/api/Controllers/TagController.php:137 #: ../../../modules/api/Controllers/TagController.php:141 -#: ../../../modules/web/Controllers/TagController.php:200 +#: ../../../modules/web/Controllers/TagController.php:202 msgid "Etiqueta eliminada" msgstr "Tag removed" @@ -2470,9 +2578,9 @@ msgstr "Tag removed" msgid "Es necesario actualizar" msgstr "Updating needed" -#: ../../../modules/web/Controllers/AccountController.php:149 +#: ../../../modules/web/Controllers/AccountController.php:148 #: ../../../modules/web/Controllers/AccountController.php:203 -#: ../../../modules/web/Controllers/AccountController.php:469 +#: ../../../modules/web/Controllers/AccountController.php:474 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:60 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:61 #: ../../../modules/web/themes/material-blue/views/account/linkedAccounts.inc:26 @@ -2494,14 +2602,14 @@ msgstr "HTTPS" #. (itstool) path: action/text #: ../../../modules/web/Controllers/AccountController.php:254 -#: ../../../modules/web/Controllers/AccountController.php:297 -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:255 +#: ../../../modules/web/Controllers/AccountController.php:298 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:274 #: ../../../config/actions.xml:151 msgid "Nueva Cuenta" msgstr "New Account" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/AccountController.php:340 +#: ../../../modules/web/Controllers/AccountController.php:342 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:175 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:176 #: ../../../modules/web/themes/material-blue/views/account/linkedAccounts.inc:18 @@ -2509,56 +2617,60 @@ msgstr "New Account" msgid "Editar Cuenta" msgstr "Edit Account" -#: ../../../modules/web/Controllers/AccountController.php:426 +#: ../../../modules/web/Controllers/AccountController.php:430 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:154 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:155 msgid "Modificar Clave de Cuenta" msgstr "Edit Account Password" -#: ../../../modules/web/Controllers/AccountController.php:616 -#: ../../../modules/web/Controllers/AccountController.php:645 +#: ../../../modules/web/Controllers/AccountController.php:623 +#: ../../../modules/web/Controllers/AccountController.php:653 msgid "Clave copiada" msgstr "Password copied" -#: ../../../modules/web/Controllers/AccountController.php:725 -#: ../../../modules/web/Controllers/AccountController.php:736 +#: ../../../modules/web/Controllers/AccountController.php:734 +#: ../../../modules/web/Controllers/AccountController.php:745 msgid "Cuenta actualizada" msgstr "Account updated" -#: ../../../modules/web/Controllers/AccountController.php:766 -#: ../../../modules/web/Controllers/AccountController.php:777 -#: ../../../modules/web/Controllers/UserController.php:407 +#: ../../../modules/web/Controllers/AccountController.php:776 +#: ../../../modules/web/Controllers/AccountController.php:787 #: ../../../modules/web/Controllers/UserController.php:411 +#: ../../../modules/web/Controllers/UserController.php:415 #: ../../../modules/web/Controllers/UserPassResetController.php:187 #: ../../../modules/web/Controllers/UserPassResetController.php:191 msgid "Clave actualizada" msgstr "Password updated" -#: ../../../modules/web/Controllers/AccountController.php:805 #: ../../../modules/web/Controllers/AccountController.php:816 +#: ../../../modules/web/Controllers/AccountController.php:827 msgid "Cuenta restaurada" msgstr "Account restored" -#: ../../../modules/web/Controllers/AccountController.php:841 -#: ../../../modules/web/Controllers/AccountController.php:844 +#: ../../../modules/web/Controllers/AccountController.php:853 +#: ../../../modules/web/Controllers/AccountController.php:856 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:93 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:96 +#: ../../../modules/web/Controllers/AccountManagerController.php:96 +#: ../../../modules/web/Controllers/AccountManagerController.php:99 msgid "Cuentas eliminadas" msgstr "Accounts removed" -#: ../../../modules/web/Controllers/AccountController.php:881 -#: ../../../modules/web/Forms/NotificationForm.php:100 +#: ../../../modules/web/Controllers/AccountController.php:894 +#: ../../../modules/web/Forms/NotificationForm.php:99 msgid "Es necesaria una descripción" msgstr "A description is needed" -#: ../../../modules/web/Controllers/AccountController.php:889 +#: ../../../modules/web/Controllers/AccountController.php:902 msgid "Solicitante" msgstr "Requester" -#: ../../../modules/web/Controllers/AccountController.php:892 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:72 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:173 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:683 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1228 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1334 +#: ../../../modules/web/Controllers/AccountController.php:905 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:77 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:180 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:702 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1255 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1362 #: ../../../modules/web/themes/material-blue/views/itemshow/category.inc:29 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:33 #: ../../../modules/web/themes/material-blue/views/itemshow/usergroup.inc:33 @@ -2567,7 +2679,7 @@ msgstr "Requester" msgid "Descripción" msgstr "Description" -#: ../../../modules/web/Controllers/AccountController.php:905 +#: ../../../modules/web/Controllers/AccountController.php:918 msgid "Solicitud realizada" msgstr "Request done" @@ -2579,526 +2691,533 @@ msgstr "Favorite added" msgid "Favorito eliminado" msgstr "Favorite deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:68 -#: ../../../modules/web/Controllers/AccountFileController.php:118 +#: ../../../modules/web/Controllers/AccountFileController.php:67 +#: ../../../modules/web/Controllers/AccountFileController.php:117 msgid "El archivo no existe" msgstr "The file does not exist" -#: ../../../modules/web/Controllers/AccountFileController.php:81 -#: ../../../modules/web/Controllers/AccountFileController.php:94 +#: ../../../modules/web/Controllers/AccountFileController.php:80 +#: ../../../modules/web/Controllers/AccountFileController.php:93 msgid "Archivo visualizado" msgstr "File viewed" -#: ../../../modules/web/Controllers/AccountFileController.php:106 +#: ../../../modules/web/Controllers/AccountFileController.php:105 #: ../../../config/strings.js.inc:40 msgid "Archivo no soportado para visualizar" msgstr "File not supported for preview" -#: ../../../modules/web/Controllers/AccountFileController.php:132 +#: ../../../modules/web/Controllers/AccountFileController.php:131 msgid "Archivo descargado" msgstr "File downloaded" -#: ../../../modules/web/Controllers/AccountFileController.php:153 +#: ../../../modules/web/Controllers/AccountFileController.php:152 msgid "CONSULTA INVÁLIDA" msgstr "INVALID QUERY" -#: ../../../modules/web/Controllers/AccountFileController.php:159 +#: ../../../modules/web/Controllers/AccountFileController.php:158 msgid "No hay extensiones permitidas" msgstr "There aren't any allowed extensions" -#: ../../../modules/web/Controllers/AccountFileController.php:173 +#: ../../../modules/web/Controllers/AccountFileController.php:175 #, php-format msgid "Extensión: %s" msgstr "Extension: %s" -#: ../../../modules/web/Controllers/AccountFileController.php:176 +#: ../../../modules/web/Controllers/AccountFileController.php:180 msgid "Archivo inválido" msgstr "Invalid file" -#: ../../../modules/web/Controllers/AccountFileController.php:176 +#: ../../../modules/web/Controllers/AccountFileController.php:182 #, php-format msgid "Archivo: %s" msgstr "File: %s" -#: ../../../modules/web/Controllers/AccountFileController.php:180 +#: ../../../modules/web/Controllers/AccountFileController.php:190 #, php-format msgid "Máximo tamaño: %s" msgstr "Maximum size: %s" -#: ../../../modules/web/Controllers/AccountFileController.php:186 +#: ../../../modules/web/Controllers/AccountFileController.php:198 msgid "Tamaño de archivo superado" msgstr "File size exceeded" -#: ../../../modules/web/Controllers/AccountFileController.php:186 +#: ../../../modules/web/Controllers/AccountFileController.php:200 #, php-format msgid "Máximo tamaño: %d KB" msgstr "Maximum size: %d KB" -#: ../../../modules/web/Controllers/AccountFileController.php:201 -#: ../../../modules/web/Controllers/AccountFileController.php:205 +#: ../../../modules/web/Controllers/AccountFileController.php:221 +#: ../../../modules/web/Controllers/AccountFileController.php:230 msgid "Archivo guardado" msgstr "File saved" -#: ../../../modules/web/Controllers/AccountFileController.php:280 -#: ../../../modules/web/Controllers/AccountFileController.php:283 +#: ../../../modules/web/Controllers/AccountFileController.php:226 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:353 +msgid "Tamaño" +msgstr "Size" + +#: ../../../modules/web/Controllers/AccountFileController.php:307 +#: ../../../modules/web/Controllers/AccountFileController.php:310 msgid "Archivos eliminados" msgstr "Files deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:287 +#: ../../../modules/web/Controllers/AccountFileController.php:314 msgid "Archivo eliminado" msgstr "File deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:293 +#: ../../../modules/web/Controllers/AccountFileController.php:320 msgid "Archivo Eliminado" msgstr "File Deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:329 +#: ../../../modules/web/Controllers/AccountFileController.php:357 msgid "Gestión de archivos deshabilitada" msgstr "Files management disabled" #: ../../../modules/web/Controllers/AuthTokenController.php:102 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:896 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:897 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:919 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:920 msgid "Nueva Autorización" msgstr "New Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:162 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:919 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:920 +#: ../../../modules/web/Controllers/AuthTokenController.php:165 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:942 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:943 msgid "Editar Autorización" msgstr "Edit Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:201 -#: ../../../modules/web/Controllers/AuthTokenController.php:204 +#: ../../../modules/web/Controllers/AuthTokenController.php:205 +#: ../../../modules/web/Controllers/AuthTokenController.php:208 msgid "Autorizaciones eliminadas" msgstr "Authorizations deleted" -#: ../../../modules/web/Controllers/AuthTokenController.php:213 #: ../../../modules/web/Controllers/AuthTokenController.php:217 +#: ../../../modules/web/Controllers/AuthTokenController.php:221 msgid "Autorización eliminada" msgstr "Authorization deleted" -#: ../../../modules/web/Controllers/AuthTokenController.php:214 -#: ../../../modules/web/Controllers/AuthTokenController.php:281 -#: ../../../modules/web/Controllers/AuthTokenController.php:290 -#: ../../../modules/web/Controllers/AuthTokenController.php:327 +#: ../../../modules/web/Controllers/AuthTokenController.php:218 +#: ../../../modules/web/Controllers/AuthTokenController.php:286 +#: ../../../modules/web/Controllers/AuthTokenController.php:295 +#: ../../../modules/web/Controllers/AuthTokenController.php:333 msgid "Autorización" msgstr "Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:247 +#: ../../../modules/web/Controllers/AuthTokenController.php:251 msgid "Autorización creada" msgstr "Authorization added" -#: ../../../modules/web/Controllers/AuthTokenController.php:280 -#: ../../../modules/web/Controllers/AuthTokenController.php:289 -#: ../../../modules/web/Controllers/AuthTokenController.php:296 +#: ../../../modules/web/Controllers/AuthTokenController.php:285 +#: ../../../modules/web/Controllers/AuthTokenController.php:294 +#: ../../../modules/web/Controllers/AuthTokenController.php:301 msgid "Autorización actualizada" msgstr "Authorization updated" -#: ../../../modules/web/Controllers/AuthTokenController.php:318 +#: ../../../modules/web/Controllers/AuthTokenController.php:324 msgid "Ver Autorización" msgstr "View Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:326 +#: ../../../modules/web/Controllers/AuthTokenController.php:332 msgid "Autorización visualizada" msgstr "Authorization viewed" #. (itstool) path: action/text #: ../../../modules/web/Controllers/CategoryController.php:100 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:107 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:108 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:111 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:112 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:113 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:110 #: ../../../config/actions.xml:301 msgid "Nueva Categoría" msgstr "New Category" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/CategoryController.php:157 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:119 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:120 +#: ../../../modules/web/Controllers/CategoryController.php:161 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:124 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:125 #: ../../../config/actions.xml:307 msgid "Editar Categoría" msgstr "Edit Category" -#: ../../../modules/web/Controllers/CategoryController.php:196 -#: ../../../modules/web/Controllers/CategoryController.php:199 +#: ../../../modules/web/Controllers/CategoryController.php:201 +#: ../../../modules/web/Controllers/CategoryController.php:204 msgid "Categorías eliminadas" msgstr "Categories deleted" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/CategoryController.php:313 +#: ../../../modules/web/Controllers/CategoryController.php:320 #: ../../../config/actions.xml:295 msgid "Ver Categoría" msgstr "View Category" #: ../../../modules/web/Controllers/ClientController.php:101 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:212 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:213 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:87 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:219 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:220 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:86 msgid "Nuevo Cliente" msgstr "New Client" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ClientController.php:158 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:224 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:225 +#: ../../../modules/web/Controllers/ClientController.php:162 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:231 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:232 #: ../../../config/actions.xml:337 msgid "Editar Cliente" msgstr "Edit Client" -#: ../../../modules/web/Controllers/ClientController.php:197 -#: ../../../modules/web/Controllers/ClientController.php:200 +#: ../../../modules/web/Controllers/ClientController.php:201 +#: ../../../modules/web/Controllers/ClientController.php:204 msgid "Clientes eliminados" msgstr "Clients deleted" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ClientController.php:302 +#: ../../../modules/web/Controllers/ClientController.php:306 #: ../../../config/actions.xml:325 msgid "Ver Cliente" msgstr "View Client" -#: ../../../modules/web/Controllers/ConfigAccountController.php:71 +#: ../../../modules/web/Controllers/ConfigAccountController.php:70 msgid "El tamaño máximo por archivo es de 16MB" msgstr "The maximum size per file is 16MB" -#: ../../../modules/web/Controllers/ConfigAccountController.php:79 +#: ../../../modules/web/Controllers/ConfigAccountController.php:78 msgid "Archivos habilitados" msgstr "Files enabled" -#: ../../../modules/web/Controllers/ConfigAccountController.php:84 +#: ../../../modules/web/Controllers/ConfigAccountController.php:83 msgid "Archivos deshabilitados" msgstr "Files disabled" -#: ../../../modules/web/Controllers/ConfigAccountController.php:97 +#: ../../../modules/web/Controllers/ConfigAccountController.php:96 msgid "Enlaces públicos habilitados" msgstr "Public links enabled" -#: ../../../modules/web/Controllers/ConfigAccountController.php:102 +#: ../../../modules/web/Controllers/ConfigAccountController.php:101 msgid "Enlaces públicos deshabilitados" msgstr "Public links disabled" #: ../../../modules/web/Controllers/ConfigBackupController.php:54 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:98 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:160 -#: ../../../modules/web/Controllers/ConfigImportController.php:57 -#: ../../../modules/web/Controllers/ConfigLdapController.php:216 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:91 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:150 +#: ../../../modules/web/Controllers/ConfigImportController.php:56 +#: ../../../modules/web/Controllers/ConfigLdapController.php:215 #: ../../../modules/web/Controllers/Traits/ConfigTrait.php:53 -#: ../../../modules/web/Forms/UserForm.php:128 -#: ../../../modules/web/Forms/UserForm.php:140 -#: ../../../modules/web/Forms/UserForm.php:158 +#: ../../../modules/web/Forms/UserForm.php:131 +#: ../../../modules/web/Forms/UserForm.php:153 +#: ../../../modules/web/Forms/UserForm.php:171 msgid "Ey, esto es una DEMO!!" msgstr "Ey, this is a DEMO!!" #: ../../../modules/web/Controllers/ConfigBackupController.php:88 #: ../../../modules/web/Controllers/UserPassResetController.php:174 -#: ../../../modules/web/Forms/AccountForm.php:144 -#: ../../../modules/web/Forms/UserForm.php:148 +#: ../../../modules/web/Forms/AccountForm.php:142 +#: ../../../modules/web/Forms/UserForm.php:161 msgid "Las claves no coinciden" msgstr "The passwords do not match" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:78 +#: ../../../modules/web/Controllers/ConfigBackupController.php:119 +msgid "Verificación de datos exportados finalizada" +msgstr "Verification of exported data finished" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:121 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:276 +#: ../../../modules/web/themes/material-blue/views/common/aux-customfields.inc:13 +#: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:87 +msgid "Encriptado" +msgstr "Encrypted" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:121 +#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 +msgid "Sí" +msgstr "Yes" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:121 +#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 +msgid "No" +msgstr "No" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:125 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1089 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:203 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:205 +#: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:310 +msgid "Etiquetas" +msgstr "Tags" + +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:71 msgid "Clave maestra no indicada" msgstr "Master password needed" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:82 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:75 msgid "Se ha de confirmar el cambio de clave" msgstr "The password update must be confirmed" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:86 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:79 msgid "Las claves son idénticas" msgstr "The passwords are the same" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:90 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:83 msgid "Las claves maestras no coinciden" msgstr "The master passwords do not match" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:94 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:87 msgid "La clave maestra actual no coincide" msgstr "The current master password does not match" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:147 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:137 msgid "Error al guardar el hash de la clave maestra" msgstr "Error while saving the Master Password's hash" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:168 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:170 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:158 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:160 msgid "Hash de clave maestra actualizado" msgstr "Master password hash updated" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:177 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:167 msgid "Error al actualizar el hash de la clave maestra" msgstr "Error while updating the master password hash" +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:189 #: ../../../modules/web/Controllers/ConfigEncryptionController.php:195 -#, php-format -msgid "Clave Maestra %s" -msgstr "Master Password %s" - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:196 -msgid "" -"Se ha generado una nueva clave para el acceso a sysPass y se solicitará en " -"el siguiente inicio." -msgstr "" -"A new sysPass master password has been generated, so the next time you log " -"into the application it will be requested." - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:198 -#, php-format -msgid "La nueva clave es: %s" -msgstr "The new Master Password is: %s" - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:200 -#, php-format -msgid "Esta clave estará activa hasta: %s" -msgstr "This password will be valid until: %s" - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:202 -msgid "No olvide acceder lo antes posible para guardar los cambios." -msgstr "" -"Please, don't forget to log in as soon as possible to save the changes." - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:211 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:217 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:221 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:199 msgid "Clave Temporal Generada" msgstr "Temporary Password Generated" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:211 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:189 msgid "Email enviado" msgstr "Email sent" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:217 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:195 msgid "Error al enviar email" msgstr "Error while sending the email" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:90 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:89 msgid "Faltan parámetros de syslog remoto" msgstr "Missing remote syslog parameters" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:98 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:97 msgid "Syslog remoto habilitado" msgstr "Remote syslog enabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:103 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:102 msgid "Syslog remoto deshabilitado" msgstr "Remote syslog disabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:116 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:115 msgid "Faltan parámetros de Proxy" msgstr "Missing Proxy parameters " -#: ../../../modules/web/Controllers/ConfigGeneralController.php:130 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:129 msgid "Proxy habiltado" msgstr "Proxy enabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:135 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:134 msgid "Proxy deshabilitado" msgstr "Proxy disabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:154 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:153 msgid "Auth Basic habilitada" msgstr "Auth Basic enabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:160 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:159 msgid "Auth Basic deshabiltada" msgstr "Auth Basic disabled" -#: ../../../modules/web/Controllers/ConfigImportController.php:77 +#: ../../../modules/web/Controllers/ConfigImportController.php:76 msgid "Cuentas importadas" msgstr "Accounts imported" -#: ../../../modules/web/Controllers/ConfigImportController.php:81 -#: ../../../modules/web/Controllers/ConfigLdapController.php:256 +#: ../../../modules/web/Controllers/ConfigImportController.php:80 +#: ../../../modules/web/Controllers/ConfigLdapController.php:255 msgid "Importación finalizada" msgstr "Import finished" -#: ../../../modules/web/Controllers/ConfigImportController.php:83 +#: ../../../modules/web/Controllers/ConfigImportController.php:82 msgid "No se importaron cuentas" msgstr "No accounts were imported" -#: ../../../modules/web/Controllers/ConfigLdapController.php:69 -#: ../../../modules/web/Controllers/ConfigLdapController.php:137 -#: ../../../modules/web/Controllers/ConfigLdapController.php:173 +#: ../../../modules/web/Controllers/ConfigLdapController.php:68 +#: ../../../modules/web/Controllers/ConfigLdapController.php:136 +#: ../../../modules/web/Controllers/ConfigLdapController.php:172 msgid "Faltan parámetros de LDAP" msgstr "Missing LDAP parameters" -#: ../../../modules/web/Controllers/ConfigLdapController.php:87 +#: ../../../modules/web/Controllers/ConfigLdapController.php:86 msgid "LDAP habiltado" msgstr "LDAP enabled" -#: ../../../modules/web/Controllers/ConfigLdapController.php:92 +#: ../../../modules/web/Controllers/ConfigLdapController.php:91 msgid "LDAP deshabilitado" msgstr "LDAP disabled" -#: ../../../modules/web/Controllers/ConfigLdapController.php:94 -#: ../../../modules/web/Controllers/ConfigMailController.php:103 +#: ../../../modules/web/Controllers/ConfigLdapController.php:93 +#: ../../../modules/web/Controllers/ConfigMailController.php:102 #: ../../../config/strings.js.inc:80 msgid "Sin cambios" msgstr "No changes" -#: ../../../modules/web/Controllers/ConfigLdapController.php:114 -#: ../../../modules/web/Controllers/ConfigLdapController.php:236 +#: ../../../modules/web/Controllers/ConfigLdapController.php:113 +#: ../../../modules/web/Controllers/ConfigLdapController.php:235 msgid "Parámetros de LDAP incorrectos" msgstr "Wrong LDAP parameters" -#: ../../../modules/web/Controllers/ConfigLdapController.php:147 -#: ../../../modules/web/Controllers/ConfigLdapController.php:189 +#: ../../../modules/web/Controllers/ConfigLdapController.php:146 +#: ../../../modules/web/Controllers/ConfigLdapController.php:188 msgid "Resultados" msgstr "Results" -#: ../../../modules/web/Controllers/ConfigLdapController.php:242 +#: ../../../modules/web/Controllers/ConfigLdapController.php:241 msgid "Importación LDAP" msgstr "LDAP Import" -#: ../../../modules/web/Controllers/ConfigLdapController.php:260 +#: ../../../modules/web/Controllers/ConfigLdapController.php:259 msgid "No se encontraron objetos para sincronizar" msgstr "There aren't any objects to synchronize" -#: ../../../modules/web/Controllers/ConfigLdapController.php:265 +#: ../../../modules/web/Controllers/ConfigLdapController.php:264 msgid "Importación de usuarios de LDAP realizada" msgstr "LDAP users import finished" -#: ../../../modules/web/Controllers/ConfigLdapController.php:267 +#: ../../../modules/web/Controllers/ConfigLdapController.php:266 #, php-format msgid "Usuarios importados: %d / %d" msgstr "Imported users: %d / %d" -#: ../../../modules/web/Controllers/ConfigLdapController.php:268 +#: ../../../modules/web/Controllers/ConfigLdapController.php:267 #, php-format msgid "Errores: %d" msgstr "Errors: %d" -#: ../../../modules/web/Controllers/ConfigMailController.php:69 -#: ../../../modules/web/Controllers/ConfigMailController.php:126 +#: ../../../modules/web/Controllers/ConfigMailController.php:68 +#: ../../../modules/web/Controllers/ConfigMailController.php:125 msgid "Faltan parámetros de Correo" msgstr "Missing Mail parameters" -#: ../../../modules/web/Controllers/ConfigMailController.php:94 +#: ../../../modules/web/Controllers/ConfigMailController.php:93 msgid "Correo habiltado" msgstr "Mail enabled" -#: ../../../modules/web/Controllers/ConfigMailController.php:101 +#: ../../../modules/web/Controllers/ConfigMailController.php:100 msgid "Correo deshabilitado" msgstr "Mail disabled" -#: ../../../modules/web/Controllers/ConfigMailController.php:146 +#: ../../../modules/web/Controllers/ConfigMailController.php:145 msgid "Compruebe su buzón de correo" msgstr "Please, check your inbox" -#: ../../../modules/web/Controllers/ConfigManagerController.php:156 +#: ../../../modules/web/Controllers/ConfigManagerController.php:151 #: ../../../modules/web/themes/material-blue/views/install/index.inc:131 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:426 msgid "General" msgstr "General" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ConfigManagerController.php:180 +#: ../../../modules/web/Controllers/ConfigManagerController.php:175 #: ../../../modules/web/themes/material-blue/views/config/wiki.inc:14 #: ../../../config/actions.xml:37 msgid "Wiki" msgstr "Wiki" -#: ../../../modules/web/Controllers/ConfigManagerController.php:198 +#: ../../../modules/web/Controllers/ConfigManagerController.php:193 msgid "LDAP" msgstr "LDAP" -#: ../../../modules/web/Controllers/ConfigManagerController.php:219 +#: ../../../modules/web/Controllers/ConfigManagerController.php:214 #: ../../../modules/web/themes/material-blue/views/config/mail.inc:10 msgid "Correo" msgstr "Mail" -#: ../../../modules/web/Controllers/ConfigManagerController.php:254 +#: ../../../modules/web/Controllers/ConfigManagerController.php:251 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:442 msgid "Encriptación" msgstr "Encryption" -#: ../../../modules/web/Controllers/ConfigManagerController.php:292 +#: ../../../modules/web/Controllers/ConfigManagerController.php:289 msgid "Último backup" msgstr "Last backup" -#: ../../../modules/web/Controllers/ConfigManagerController.php:292 +#: ../../../modules/web/Controllers/ConfigManagerController.php:289 msgid "No se encontraron backups" msgstr "There aren't any backups available" -#: ../../../modules/web/Controllers/ConfigManagerController.php:304 +#: ../../../modules/web/Controllers/ConfigManagerController.php:301 msgid "Última exportación" msgstr "Last export" -#: ../../../modules/web/Controllers/ConfigManagerController.php:304 +#: ../../../modules/web/Controllers/ConfigManagerController.php:301 msgid "No se encontró archivo de exportación" msgstr "No export file found" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ConfigManagerController.php:306 +#: ../../../modules/web/Controllers/ConfigManagerController.php:303 #: ../../../modules/web/themes/material-blue/views/config/backup.inc:5 +#: ../../../modules/web/themes/material-blue/views/config/backup.inc:58 #: ../../../config/actions.xml:721 msgid "Copia de Seguridad" msgstr "Backup" -#: ../../../modules/web/Controllers/ConfigManagerController.php:323 +#: ../../../modules/web/Controllers/ConfigManagerController.php:320 msgid "Importar Cuentas" msgstr "Import Accounts" -#: ../../../modules/web/Controllers/ConfigManagerController.php:340 +#: ../../../modules/web/Controllers/ConfigManagerController.php:338 msgid "No instalado" msgstr "Not installed" -#: ../../../modules/web/Controllers/ConfigManagerController.php:343 +#: ../../../modules/web/Controllers/ConfigManagerController.php:341 #: ../../../modules/web/themes/material-blue/inc/Icons.php:65 msgid "Información" msgstr "Information" -#: ../../../modules/web/Controllers/ConfigWikiController.php:60 +#: ../../../modules/web/Controllers/ConfigWikiController.php:59 msgid "Faltan parámetros de Wiki" msgstr "Missing Wiki parameters" -#: ../../../modules/web/Controllers/ConfigWikiController.php:70 +#: ../../../modules/web/Controllers/ConfigWikiController.php:69 msgid "Wiki habiltada" msgstr "Wiki enabled" -#: ../../../modules/web/Controllers/ConfigWikiController.php:75 +#: ../../../modules/web/Controllers/ConfigWikiController.php:74 msgid "Wiki deshabilitada" msgstr "Wiki disabled" -#: ../../../modules/web/Controllers/ConfigWikiController.php:88 +#: ../../../modules/web/Controllers/ConfigWikiController.php:87 msgid "Faltan parámetros de DokuWiki" msgstr "Missing DokuWiki parameters" -#: ../../../modules/web/Controllers/ConfigWikiController.php:100 +#: ../../../modules/web/Controllers/ConfigWikiController.php:99 msgid "DokuWiki habilitada" msgstr "DokuWiki enabled" -#: ../../../modules/web/Controllers/ConfigWikiController.php:105 +#: ../../../modules/web/Controllers/ConfigWikiController.php:104 msgid "DokuWiki deshabilitada" msgstr "DokuWiki disabled" #: ../../../modules/web/Controllers/CustomFieldController.php:102 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:297 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:298 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:305 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:306 msgid "Nuevo Campo" msgstr "New Field" -#: ../../../modules/web/Controllers/CustomFieldController.php:159 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:309 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:310 +#: ../../../modules/web/Controllers/CustomFieldController.php:162 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:317 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:318 msgid "Editar Campo" msgstr "Edit Field" -#: ../../../modules/web/Controllers/CustomFieldController.php:194 -#: ../../../modules/web/Controllers/CustomFieldController.php:197 +#: ../../../modules/web/Controllers/CustomFieldController.php:198 +#: ../../../modules/web/Controllers/CustomFieldController.php:201 msgid "Campos eliminados" msgstr "Fields deleted" -#: ../../../modules/web/Controllers/CustomFieldController.php:203 +#: ../../../modules/web/Controllers/CustomFieldController.php:207 msgid "Campo eliminado" msgstr "Field deleted" -#: ../../../modules/web/Controllers/CustomFieldController.php:231 #: ../../../modules/web/Controllers/CustomFieldController.php:235 +#: ../../../modules/web/Controllers/CustomFieldController.php:239 msgid "Campo creado" msgstr "Field added" -#: ../../../modules/web/Controllers/CustomFieldController.php:292 +#: ../../../modules/web/Controllers/CustomFieldController.php:297 msgid "Ver Campo" msgstr "View Field" @@ -3114,8 +3233,8 @@ msgstr "It will be running shortly" msgid "Error en la verificación de la base de datos" msgstr "Error while checking the database" -#: ../../../modules/web/Controllers/EventlogController.php:103 -#: ../../../modules/web/Controllers/EventlogController.php:106 +#: ../../../modules/web/Controllers/EventlogController.php:113 +#: ../../../modules/web/Controllers/EventlogController.php:116 msgid "Registro de eventos vaciado" msgstr "Event log cleared" @@ -3187,107 +3306,97 @@ msgstr "Copy Password to Clipboard" msgid "Copiar Cuenta" msgstr "Copy Account" -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:112 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:113 #: ../../../config/strings.js.inc:72 msgid "Clave de Cuenta" msgstr "Account Password" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:160 #: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:161 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:162 msgid "Más Acciones" msgstr "More Actions" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:214 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:215 msgid "Ordenar por Cliente" msgstr "Sort by Client" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:221 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:222 msgid "Ordenar por Nombre" msgstr "Sort by Name" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:228 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:229 msgid "Ordenar por Categoría" msgstr "Sort by Category" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:235 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:236 msgid "Ordenar por Usuario" msgstr "Sort by Username" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:241 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:242 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:44 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:50 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:78 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:49 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:55 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:121 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:120 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:68 msgid "URL / IP" msgstr "URL / IP" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:242 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:243 msgid "Ordenar por URL / IP" msgstr "Sort by URL / IP" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:96 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:101 #: ../../../config/actions.xml:319 msgid "Buscar Categoría" msgstr "Search for Category" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:182 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:189 #: ../../../config/strings.js.inc:66 msgid "SI" msgstr "YES" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:182 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:189 #: ../../../config/strings.js.inc:67 msgid "NO" msgstr "NO" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:201 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:208 #: ../../../config/actions.xml:349 msgid "Buscar Cliente" msgstr "Search for Client" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:256 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:264 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:46 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:48 msgid "Módulo" msgstr "Module" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:258 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:559 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:266 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:577 msgid "Propiedades" msgstr "Properties" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:268 -#: ../../../modules/web/themes/material-blue/views/common/aux-customfields.inc:13 -#: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:87 -msgid "Encriptado" -msgstr "Encrypted" - -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:278 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:286 #: ../../../modules/web/themes/material-blue/views/account/account.inc:27 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:342 msgid "Campos Personalizados" msgstr "Custom Fields" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:286 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:294 msgid "Buscar Campo" msgstr "Search for Field" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:320 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:321 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:328 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:329 msgid "Eliminar Campo" msgstr "Delete Field" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:344 -msgid "Tamaño" -msgstr "Size" - #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:363 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:374 #: ../../../modules/web/themes/material-blue/views/account/account.inc:35 #: ../../../modules/web/themes/material-blue/views/config/accounts.inc:265 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:146 @@ -3297,127 +3406,127 @@ msgid "Archivos" msgstr "Files" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:371 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:382 #: ../../../config/actions.xml:469 msgid "Buscar Archivo" msgstr "Search for File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:382 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:383 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:393 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:394 #: ../../../modules/web/themes/material-blue/views/account/files-list.inc:45 #: ../../../config/actions.xml:199 ../../../config/actions.xml:445 msgid "Ver Archivo" msgstr "View File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:394 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:395 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:405 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:406 #: ../../../modules/web/themes/material-blue/views/account/files-list.inc:38 #: ../../../config/actions.xml:211 ../../../config/actions.xml:451 msgid "Descargar Archivo" msgstr "Download File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:405 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:406 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:416 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:417 #: ../../../modules/web/themes/material-blue/views/account/files-list.inc:30 #: ../../../config/actions.xml:217 ../../../config/actions.xml:457 msgid "Eliminar Archivo" msgstr "Delete File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:450 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:514 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:464 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:531 #: ../../../config/actions.xml:487 ../../../config/actions.xml:787 msgid "Buscar Cuenta" msgstr "Search for Account" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:483 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1331 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:499 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1359 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:98 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:112 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:184 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:182 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:41 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:48 #: ../../../modules/web/themes/material-blue/views/wiki/wikipage.inc:24 msgid "Fecha" msgstr "Date" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:484 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1127 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1335 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:500 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1153 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1363 msgid "Estado" msgstr "Status" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:495 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:512 msgid "Modificada" msgstr "Modified" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:496 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:513 msgid "Eliminada" msgstr "Removed" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:506 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:523 msgid "Cuentas (H)" msgstr "Accounts (H)" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:525 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:526 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:542 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:543 #: ../../../config/actions.xml:181 ../../../config/actions.xml:793 msgid "Restaurar Cuenta" msgstr "Account Restore" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:556 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1226 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:574 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1253 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:45 #: ../../../modules/web/themes/material-blue/views/itemshow/userpass.inc:26 msgid "Login" msgstr "Login" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:557 -#: ../../../modules/web/Controllers/UserProfileController.php:210 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:575 +#: ../../../modules/web/Controllers/UserProfileController.php:215 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:123 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:125 msgid "Perfil" msgstr "Profile" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:589 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:607 #: ../../../config/actions.xml:589 msgid "Buscar Usuario" msgstr "Search for User" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:599 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:600 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:617 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:618 #: ../../../modules/web/Controllers/UserController.php:106 #: ../../../config/actions.xml:565 msgid "Nuevo Usuario" msgstr "New User" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:614 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:615 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:632 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:633 #: ../../../modules/web/themes/material-blue/views/config/ldap.inc:429 msgid "Importar usuarios de LDAP" msgstr "Import users from LDAP" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:628 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:629 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:646 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:647 msgid "Ver Detalles de Usuario" msgstr "View User Details" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:639 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:640 -#: ../../../modules/web/Controllers/UserController.php:187 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:657 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:658 +#: ../../../modules/web/Controllers/UserController.php:191 #: ../../../config/actions.xml:571 msgid "Editar Usuario" msgstr "Edit User" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:650 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:651 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:668 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:669 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:61 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:119 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:124 @@ -3425,128 +3534,128 @@ msgid "Cambiar Clave de Usuario" msgstr "Change User's Password" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:662 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:663 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:680 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:681 #: ../../../config/actions.xml:577 msgid "Eliminar Usuario" msgstr "Delete User" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:707 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:726 #: ../../../config/actions.xml:619 msgid "Buscar Grupo" msgstr "Search for Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:718 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:719 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:737 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:738 #: ../../../modules/web/Controllers/UserGroupController.php:107 #: ../../../config/actions.xml:601 msgid "Nuevo Grupo" msgstr "New Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:730 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:731 -#: ../../../modules/web/Controllers/UserGroupController.php:314 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:749 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:750 +#: ../../../modules/web/Controllers/UserGroupController.php:320 #: ../../../config/actions.xml:595 msgid "Ver Grupo" msgstr "View Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:741 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:742 -#: ../../../modules/web/Controllers/UserGroupController.php:167 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:760 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:761 +#: ../../../modules/web/Controllers/UserGroupController.php:170 #: ../../../config/actions.xml:607 msgid "Editar Grupo" msgstr "Edit Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:752 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:753 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:771 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:772 #: ../../../config/actions.xml:613 msgid "Eliminar Grupo" msgstr "Delete Group" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:787 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:807 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:278 msgid "Perfiles" msgstr "Profiles" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:795 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:815 #: ../../../config/actions.xml:649 msgid "Buscar Perfil" msgstr "Search for Profile" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:806 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:807 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:826 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:827 #: ../../../modules/web/Controllers/UserProfileController.php:101 #: ../../../config/actions.xml:631 msgid "Nuevo Perfil" msgstr "New Profile" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:818 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:819 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:838 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:839 msgid "Ver Detalles de Perfil" msgstr "View Profile Details" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:829 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:830 -#: ../../../modules/web/Controllers/UserProfileController.php:161 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:849 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:850 +#: ../../../modules/web/Controllers/UserProfileController.php:165 #: ../../../config/actions.xml:637 msgid "Editar Perfil" msgstr "Edit Profile" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:840 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:841 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:860 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:861 #: ../../../config/actions.xml:643 msgid "Eliminar Perfil" msgstr "Delete Profile" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:877 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:900 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:358 msgid "Autorizaciones API" msgstr "API Authorizations" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:885 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:908 msgid "Buscar Token" msgstr "Search for Token" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:908 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:909 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:931 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:932 msgid "Ver token de Autorización" msgstr "View Authorization token" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:930 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:931 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:953 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:954 msgid "Eliminar Autorización" msgstr "Delete Authorization" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:952 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:976 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:45 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:47 msgid "Fecha Creación" msgstr "Creation Date" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:953 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:977 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:182 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:53 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:55 msgid "Fecha Caducidad" msgstr "Expiry Date " -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:955 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:979 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:32 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:35 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:39 msgid "Notificar" msgstr "Notify" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:956 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:980 #: ../../../modules/web/themes/material-blue/views/account/details.inc:9 #: ../../../modules/web/themes/material-blue/views/account/details.inc:11 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:184 @@ -3555,169 +3664,162 @@ msgstr "Notify" msgid "Visitas" msgstr "Visits" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:977 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1001 #: ../../../modules/web/themes/material-blue/views/account/account.inc:43 msgid "Enlaces" msgstr "Links" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:985 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1009 msgid "Buscar Enlace" msgstr "Search for Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:996 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:997 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1020 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1021 msgid "Nuevo Enlace" msgstr "New Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1008 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1009 -#: ../../../modules/web/Controllers/PublicLinkController.php:337 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1032 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1033 +#: ../../../modules/web/Controllers/PublicLinkController.php:343 msgid "Ver Enlace" msgstr "View Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1018 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1019 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1042 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1043 msgid "Renovar Enlace" msgstr "Renew Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1029 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1030 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1053 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1054 msgid "Eliminar Enlace" msgstr "Delete Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1064 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:205 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:207 -#: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:310 -msgid "Etiquetas" -msgstr "Tags" - #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1072 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1097 #: ../../../config/actions.xml:517 msgid "Buscar Etiqueta" msgstr "Search for Tag" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1083 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1084 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1108 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1109 #: ../../../modules/web/Controllers/TagController.php:99 #: ../../../config/actions.xml:493 msgid "Nueva Etiqueta" msgstr "New Tag" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1095 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1096 -#: ../../../modules/web/Controllers/TagController.php:154 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1120 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1121 +#: ../../../modules/web/Controllers/TagController.php:156 #: ../../../config/actions.xml:505 msgid "Editar Etiqueta" msgstr "Edit Tag" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1106 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1107 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1131 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1132 #: ../../../config/actions.xml:511 msgid "Eliminar Etiqueta" msgstr "Delete Tag" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1126 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1152 msgid "Plugin" msgstr "Plugin" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1135 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1161 msgid "No disponible" msgstr "Unavailable" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1145 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1171 msgid "Plugins" msgstr "Plugins" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1153 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1179 #: ../../../config/actions.xml:535 msgid "Buscar Plugin" msgstr "Search for Plugin" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1164 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1165 -#: ../../../modules/web/Controllers/PluginController.php:115 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1190 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1191 +#: ../../../modules/web/Controllers/PluginController.php:120 #: ../../../config/actions.xml:529 msgid "Ver Plugin" msgstr "View Plugin" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1175 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1176 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1201 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1202 msgid "Habilitar" msgstr "Enable" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1188 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1189 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1214 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1215 msgid "Deshabilitar" msgstr "Disable" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1201 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1202 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1227 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1228 msgid "Restablecer Datos" msgstr "Reset Data" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1223 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1250 msgid "Fecha / Hora" msgstr "Date / Time" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1224 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1251 msgid "Nivel" msgstr "Level" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1225 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1252 msgid "Evento" msgstr "Event" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1227 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1254 msgid "IP" msgstr "IP" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1276 -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:311 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1303 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:330 #: ../../../modules/web/themes/material-blue/views/eventlog/index.inc:1 #: ../../../config/actions.xml:127 msgid "Registro de Eventos" msgstr "Event Log" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1284 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1311 msgid "Buscar Evento" msgstr "Search for Events" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1293 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1294 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1320 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1321 msgid "Refrescar" msgstr "Refresh" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1305 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1306 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1332 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1333 msgid "Vaciar registro de eventos" msgstr "Clear event log" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1333 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1361 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:28 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:35 msgid "Componente" msgstr "Component" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1347 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1375 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:104 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:108 msgid "Leída" msgstr "Read" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1348 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1376 msgid "Sólo Admins" msgstr "Only Admins" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1359 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1387 #: ../../../modules/web/themes/material-blue/inc/Icons.php:67 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:104 #: ../../../modules/web/themes/material-blue/views/notification/index.inc:1 @@ -3726,66 +3828,66 @@ msgid "Notificaciones" msgstr "Notifications" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1367 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1395 #: ../../../config/actions.xml:829 msgid "Buscar Notificación" msgstr "Search for Notification" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1379 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1380 -#: ../../../modules/web/Controllers/NotificationController.php:175 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1407 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1408 +#: ../../../modules/web/Controllers/NotificationController.php:181 msgid "Nueva Notificación" msgstr "New Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1392 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1393 -#: ../../../modules/web/Controllers/NotificationController.php:100 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1420 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1421 +#: ../../../modules/web/Controllers/NotificationController.php:105 #: ../../../config/actions.xml:799 msgid "Ver Notificación" msgstr "View Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1402 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1403 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1430 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1431 #: ../../../config/actions.xml:823 msgid "Marcar Notificación" msgstr "Checkout Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1414 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1415 -#: ../../../modules/web/Controllers/NotificationController.php:206 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1442 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1443 +#: ../../../modules/web/Controllers/NotificationController.php:213 #: ../../../config/actions.xml:811 msgid "Editar Notificación" msgstr "Edit Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1425 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1426 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1453 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1454 #: ../../../config/actions.xml:817 msgid "Eliminar Notificación" msgstr "Delete Notification" -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:242 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:261 #: ../../../modules/web/themes/material-blue/inc/Icons.php:60 msgid "Buscar" msgstr "Search" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:269 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:288 #: ../../../config/actions.xml:103 msgid "Usuarios y Accesos" msgstr "Users and Accesses" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:283 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:302 #: ../../../config/actions.xml:43 msgid "Elementos y Personalización" msgstr "Items and Customizations" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:297 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:316 #: ../../../modules/web/themes/material-blue/inc/Icons.php:63 #: ../../../modules/web/themes/material-blue/views/config/ldap.inc:10 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:23 @@ -3793,90 +3895,90 @@ msgstr "Items and Customizations" msgid "Configuración" msgstr "Configuration" -#: ../../../modules/web/Controllers/InstallController.php:63 +#: ../../../modules/web/Controllers/InstallController.php:62 msgid "Versión de PHP requerida >= " msgstr "Required PHP version >=" -#: ../../../modules/web/Controllers/InstallController.php:74 +#: ../../../modules/web/Controllers/InstallController.php:73 #: ../../../modules/web/themes/material-blue/views/config/ldap.inc:440 msgid "Módulo no disponible" msgstr "Module unavailable" -#: ../../../modules/web/Controllers/InstallController.php:75 +#: ../../../modules/web/Controllers/InstallController.php:74 msgid "Sin este módulo la aplicación puede no funcionar correctamente." msgstr "Without this module the application could not run correctly" -#: ../../../modules/web/Controllers/InstallController.php:83 +#: ../../../modules/web/Controllers/InstallController.php:82 msgid "La version de PHP es vulnerable al ataque NULL Byte (CVE-2006-7243)" msgstr "This PHP version is vulnerable to NULL Byte attack CVE-2006-7243)" -#: ../../../modules/web/Controllers/InstallController.php:84 +#: ../../../modules/web/Controllers/InstallController.php:83 msgid "Actualice la versión de PHP para usar sysPass de forma segura" msgstr "Please update PHP version to run sysPass in a secure way" -#: ../../../modules/web/Controllers/InstallController.php:90 +#: ../../../modules/web/Controllers/InstallController.php:89 msgid "No se encuentra el generador de números aleatorios." msgstr "Cannot find random number generator." -#: ../../../modules/web/Controllers/InstallController.php:91 +#: ../../../modules/web/Controllers/InstallController.php:90 msgid "" "Sin esta función un atacante puede utilizar su cuenta al resetear la clave" msgstr "" "Without this function, an attacker could take your account on password reset." -#: ../../../modules/web/Controllers/InstallController.php:122 +#: ../../../modules/web/Controllers/InstallController.php:121 msgid "Instalación finalizada" msgstr "Installation finished" -#: ../../../modules/web/Controllers/LoginController.php:98 +#: ../../../modules/web/Controllers/LoginController.php:104 msgid "Finalizar sesión" msgstr "Logout session" -#: ../../../modules/web/Controllers/LoginController.php:100 +#: ../../../modules/web/Controllers/LoginController.php:106 msgid "Tiempo inactivo" msgstr "Inactive time" -#: ../../../modules/web/Controllers/LoginController.php:101 +#: ../../../modules/web/Controllers/LoginController.php:107 msgid "Tiempo total" msgstr "Total time" -#: ../../../modules/web/Controllers/NotificationController.php:245 -#: ../../../modules/web/Controllers/NotificationController.php:248 +#: ../../../modules/web/Controllers/NotificationController.php:252 +#: ../../../modules/web/Controllers/NotificationController.php:255 msgid "Notificaciones eliminadas" msgstr "Notifications deleted" -#: ../../../modules/web/Controllers/NotificationController.php:259 -#: ../../../modules/web/Controllers/NotificationController.php:263 +#: ../../../modules/web/Controllers/NotificationController.php:266 +#: ../../../modules/web/Controllers/NotificationController.php:270 msgid "Notificación eliminada" msgstr "Notification deleted" -#: ../../../modules/web/Controllers/NotificationController.php:289 -#: ../../../modules/web/Controllers/NotificationController.php:293 +#: ../../../modules/web/Controllers/NotificationController.php:296 +#: ../../../modules/web/Controllers/NotificationController.php:300 msgid "Notificación leída" msgstr "Notification read" -#: ../../../modules/web/Controllers/NotificationController.php:319 -#: ../../../modules/web/Controllers/NotificationController.php:322 +#: ../../../modules/web/Controllers/NotificationController.php:326 +#: ../../../modules/web/Controllers/NotificationController.php:329 msgid "Notificación creada" msgstr "Notification created" -#: ../../../modules/web/Controllers/NotificationController.php:350 -#: ../../../modules/web/Controllers/NotificationController.php:353 +#: ../../../modules/web/Controllers/NotificationController.php:357 +#: ../../../modules/web/Controllers/NotificationController.php:360 msgid "Notificación actualizada" msgstr "Notification updated" -#: ../../../modules/web/Controllers/PluginController.php:170 -#: ../../../modules/web/Controllers/PluginController.php:173 +#: ../../../modules/web/Controllers/PluginController.php:176 +#: ../../../modules/web/Controllers/PluginController.php:179 msgid "Plugin habilitado" msgstr "Plugin enabled" -#: ../../../modules/web/Controllers/PluginController.php:193 -#: ../../../modules/web/Controllers/PluginController.php:196 +#: ../../../modules/web/Controllers/PluginController.php:199 +#: ../../../modules/web/Controllers/PluginController.php:202 msgid "Plugin deshabilitado" msgstr "Plugin disabled" -#: ../../../modules/web/Controllers/PluginController.php:216 -#: ../../../modules/web/Controllers/PluginController.php:219 +#: ../../../modules/web/Controllers/PluginController.php:222 +#: ../../../modules/web/Controllers/PluginController.php:225 msgid "Plugin restablecido" msgstr "Plugin reset" @@ -3884,39 +3986,39 @@ msgstr "Plugin reset" msgid "Nuevo Enlace Público" msgstr "New Public Link" -#: ../../../modules/web/Controllers/PublicLinkController.php:190 +#: ../../../modules/web/Controllers/PublicLinkController.php:193 msgid "Editar Enlace Público" msgstr "Edit Public Link" -#: ../../../modules/web/Controllers/PublicLinkController.php:228 -#: ../../../modules/web/Controllers/PublicLinkController.php:231 +#: ../../../modules/web/Controllers/PublicLinkController.php:232 +#: ../../../modules/web/Controllers/PublicLinkController.php:235 msgid "Enlaces eliminados" msgstr "Links deleted" -#: ../../../modules/web/Controllers/PublicLinkController.php:239 #: ../../../modules/web/Controllers/PublicLinkController.php:243 +#: ../../../modules/web/Controllers/PublicLinkController.php:247 msgid "Enlace eliminado" msgstr "Link deleted" -#: ../../../modules/web/Controllers/PublicLinkController.php:272 -#: ../../../modules/web/Controllers/PublicLinkController.php:307 +#: ../../../modules/web/Controllers/PublicLinkController.php:276 +#: ../../../modules/web/Controllers/PublicLinkController.php:312 msgid "Enlace creado" msgstr "Link created" -#: ../../../modules/web/Controllers/StatusController.php:83 +#: ../../../modules/web/Controllers/StatusController.php:85 msgid "Versión no disponible" msgstr "Version unavailable" -#: ../../../modules/web/Controllers/StatusController.php:116 +#: ../../../modules/web/Controllers/StatusController.php:120 msgid "Notificaciones no disponibles" msgstr "Notifications not available" -#: ../../../modules/web/Controllers/TagController.php:192 +#: ../../../modules/web/Controllers/TagController.php:194 msgid "Etiquetas eliminadas" msgstr "Tags deleted" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/TagController.php:277 +#: ../../../modules/web/Controllers/TagController.php:279 #: ../../../config/actions.xml:499 msgid "Ver Etiqueta" msgstr "View Tag" @@ -3929,49 +4031,53 @@ msgstr "Configuration updated" msgid "Error al guardar la configuración" msgstr "Error while saving the configuration" -#: ../../../modules/web/Controllers/UserController.php:262 -#: ../../../modules/web/Controllers/UserController.php:265 +#: ../../../modules/web/Controllers/Traits/ItemTrait.php:173 +msgid "Error al actualizar los datos del campo personalizado" +msgstr "Error while updating custom field's data" + +#: ../../../modules/web/Controllers/UserController.php:268 +#: ../../../modules/web/Controllers/UserController.php:271 msgid "Usuarios eliminados" msgstr "Users deleted" -#: ../../../modules/web/Controllers/UserController.php:273 -#: ../../../modules/web/Controllers/UserController.php:277 +#: ../../../modules/web/Controllers/UserController.php:279 +#: ../../../modules/web/Controllers/UserController.php:283 msgid "Usuario eliminado" msgstr "User deleted" -#: ../../../modules/web/Controllers/UserController.php:307 #: ../../../modules/web/Controllers/UserController.php:313 +#: ../../../modules/web/Controllers/UserController.php:319 msgid "Usuario creado" msgstr "User added" -#: ../../../modules/web/Controllers/UserController.php:370 -#: ../../../modules/web/Controllers/UserController.php:376 +#: ../../../modules/web/Controllers/UserController.php:374 +#: ../../../modules/web/Controllers/UserController.php:380 msgid "Usuario actualizado" msgstr "User updated" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/UserController.php:434 +#: ../../../modules/web/Controllers/UserController.php:439 #: ../../../config/actions.xml:559 msgid "Ver Usuario" msgstr "View User" -#: ../../../modules/web/Controllers/UserGroupController.php:204 -#: ../../../modules/web/Controllers/UserGroupController.php:207 +#: ../../../modules/web/Controllers/UserGroupController.php:208 +#: ../../../modules/web/Controllers/UserGroupController.php:211 msgid "Grupos eliminados" msgstr "Groups deleted" -#: ../../../modules/web/Controllers/UserGroupController.php:215 #: ../../../modules/web/Controllers/UserGroupController.php:219 +#: ../../../modules/web/Controllers/UserGroupController.php:223 msgid "Grupo eliminado" msgstr "Group deleted" -#: ../../../modules/web/Controllers/UserGroupController.php:249 #: ../../../modules/web/Controllers/UserGroupController.php:253 +#: ../../../modules/web/Controllers/UserGroupController.php:257 msgid "Grupo creado" msgstr "Group added" -#: ../../../modules/web/Controllers/UserGroupController.php:288 -#: ../../../modules/web/Controllers/UserGroupController.php:292 +#: ../../../modules/web/Controllers/UserGroupController.php:293 +#: ../../../modules/web/Controllers/UserGroupController.php:297 msgid "Grupo actualizado" msgstr "Group updated" @@ -4000,97 +4106,97 @@ msgid "En breve recibirá un correo para completar la solicitud." msgstr "You will receive an email to complete the request shortly." #: ../../../modules/web/Controllers/UserPassResetController.php:170 -#: ../../../modules/web/Forms/AuthTokenForm.php:104 -#: ../../../modules/web/Forms/UserForm.php:144 +#: ../../../modules/web/Forms/AuthTokenForm.php:103 +#: ../../../modules/web/Forms/UserForm.php:157 msgid "La clave no puede estar en blanco" msgstr "Password cannot be blank" -#: ../../../modules/web/Controllers/UserProfileController.php:198 -#: ../../../modules/web/Controllers/UserProfileController.php:201 +#: ../../../modules/web/Controllers/UserProfileController.php:203 +#: ../../../modules/web/Controllers/UserProfileController.php:206 msgid "Perfiles eliminados" msgstr "Profiles deleted" -#: ../../../modules/web/Controllers/UserProfileController.php:209 -#: ../../../modules/web/Controllers/UserProfileController.php:213 +#: ../../../modules/web/Controllers/UserProfileController.php:214 +#: ../../../modules/web/Controllers/UserProfileController.php:218 msgid "Perfil eliminado" msgstr "Profile deleted" -#: ../../../modules/web/Controllers/UserProfileController.php:243 +#: ../../../modules/web/Controllers/UserProfileController.php:248 msgid "Perfil creado" msgstr "Profile added" -#: ../../../modules/web/Controllers/UserProfileController.php:279 +#: ../../../modules/web/Controllers/UserProfileController.php:285 msgid "Perfil actualizado" msgstr "Profile updated" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/UserProfileController.php:301 +#: ../../../modules/web/Controllers/UserProfileController.php:308 #: ../../../config/actions.xml:625 msgid "Ver Perfil" msgstr "View Profile" -#: ../../../modules/web/Controllers/UserSettingsGeneralController.php:70 +#: ../../../modules/web/Controllers/UserSettingsGeneralController.php:69 msgid "Preferencias actualizadas" msgstr "Preferences updated" -#: ../../../modules/web/Controllers/UserSettingsManagerController.php:90 +#: ../../../modules/web/Controllers/UserSettingsManagerController.php:89 msgid "Preferencias" msgstr "Preferences" -#: ../../../modules/web/Forms/AccountForm.php:140 +#: ../../../modules/web/Forms/AccountForm.php:138 msgid "Es necesaria una clave" msgstr "A key is needed" -#: ../../../modules/web/Forms/AccountForm.php:154 +#: ../../../modules/web/Forms/AccountForm.php:152 msgid "Es necesario un nombre de cuenta" msgstr "An account name needed" -#: ../../../modules/web/Forms/AccountForm.php:158 -#: ../../../modules/web/Forms/ClientForm.php:84 +#: ../../../modules/web/Forms/AccountForm.php:156 +#: ../../../modules/web/Forms/ClientForm.php:83 msgid "Es necesario un nombre de cliente" msgstr "A client name needed" -#: ../../../modules/web/Forms/AccountForm.php:162 +#: ../../../modules/web/Forms/AccountForm.php:160 msgid "Es necesario un usuario" msgstr "An username is needed" -#: ../../../modules/web/Forms/AccountForm.php:166 +#: ../../../modules/web/Forms/AccountForm.php:164 msgid "Es necesario una categoría" msgstr "A category is needed" -#: ../../../modules/web/Forms/AuthTokenForm.php:90 +#: ../../../modules/web/Forms/AuthTokenForm.php:89 msgid "Usuario no indicado" msgstr "User not set" -#: ../../../modules/web/Forms/AuthTokenForm.php:94 +#: ../../../modules/web/Forms/AuthTokenForm.php:93 msgid "Acción no indicada" msgstr "Action not set" -#: ../../../modules/web/Forms/CategoryForm.php:83 +#: ../../../modules/web/Forms/CategoryForm.php:82 msgid "Es necesario un nombre de categoría" msgstr "A category name needed" -#: ../../../modules/web/Forms/CustomFieldDefForm.php:87 +#: ../../../modules/web/Forms/CustomFieldDefForm.php:86 msgid "Nombre del campo no indicado" msgstr "Field name not set" -#: ../../../modules/web/Forms/CustomFieldDefForm.php:91 +#: ../../../modules/web/Forms/CustomFieldDefForm.php:90 msgid "Tipo del campo no indicado" msgstr "Field type not set" -#: ../../../modules/web/Forms/CustomFieldDefForm.php:95 +#: ../../../modules/web/Forms/CustomFieldDefForm.php:94 msgid "Módulo del campo no indicado" msgstr "Field module not set" -#: ../../../modules/web/Forms/NotificationForm.php:92 +#: ../../../modules/web/Forms/NotificationForm.php:91 msgid "Es necesario un componente" msgstr "A component is needed" -#: ../../../modules/web/Forms/NotificationForm.php:96 +#: ../../../modules/web/Forms/NotificationForm.php:95 msgid "Es necesario un tipo" msgstr "A type is needed" -#: ../../../modules/web/Forms/NotificationForm.php:106 +#: ../../../modules/web/Forms/NotificationForm.php:105 msgid "Es necesario un destinatario" msgstr "A target is needed" @@ -4098,39 +4204,39 @@ msgstr "A target is needed" msgid "Es necesario una cuenta" msgstr "An account is needed" -#: ../../../modules/web/Forms/TagForm.php:82 +#: ../../../modules/web/Forms/TagForm.php:81 msgid "Es necesario un nombre de etiqueta" msgstr "A tag name is needed" -#: ../../../modules/web/Forms/UserForm.php:108 +#: ../../../modules/web/Forms/UserForm.php:111 msgid "Es necesario un nombre de usuario" msgstr "An username is needed" -#: ../../../modules/web/Forms/UserForm.php:112 +#: ../../../modules/web/Forms/UserForm.php:115 msgid "Es necesario un login" msgstr "A login is needed" -#: ../../../modules/web/Forms/UserForm.php:116 +#: ../../../modules/web/Forms/UserForm.php:119 msgid "Es necesario un perfil" msgstr "A profile is needed" -#: ../../../modules/web/Forms/UserForm.php:120 +#: ../../../modules/web/Forms/UserForm.php:123 msgid "Es necesario un grupo" msgstr "A group is needed" -#: ../../../modules/web/Forms/UserForm.php:124 +#: ../../../modules/web/Forms/UserForm.php:127 msgid "Es necesario un email" msgstr "An email is needed" -#: ../../../modules/web/Forms/UserForm.php:166 +#: ../../../modules/web/Forms/UserForm.php:179 msgid "No es posible eliminar, usuario en uso" msgstr "Unable to delete, user in use" -#: ../../../modules/web/Forms/UserGroupForm.php:84 +#: ../../../modules/web/Forms/UserGroupForm.php:83 msgid "Es necesario un nombre de grupo" msgstr "A group name is needed" -#: ../../../modules/web/Forms/UserProfileForm.php:115 +#: ../../../modules/web/Forms/UserProfileForm.php:114 msgid "Es necesario un nombre de perfil" msgstr "A profile name is needed" @@ -4174,7 +4280,7 @@ msgid "Usuario de LDAP" msgstr "LDAP User" #: ../../../modules/web/themes/material-blue/inc/Icons.php:43 -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:249 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:251 msgid "Deshabilitado" msgstr "Disabled" @@ -4215,10 +4321,6 @@ msgstr "Restore" #: ../../../modules/web/themes/material-blue/inc/Icons.php:54 #: ../../../config/strings.js.inc:79 -#: ../../../modules/web/themes/material-blue/views/config/backup.inc:58 -#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:150 -#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:318 -#: ../../../modules/web/themes/material-blue/views/config/import.inc:101 msgid "Ayuda" msgstr "Help" @@ -4367,14 +4469,14 @@ msgid "Seleccionar Perfil" msgstr "Select Profile" #: ../../../config/strings.js.inc:50 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:79 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:78 #: ../../../modules/web/themes/material-blue/views/account/search-searchbox.inc:60 msgid "Seleccionar Cliente" msgstr "Select Client" #: ../../../config/strings.js.inc:51 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:68 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:103 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:102 #: ../../../modules/web/themes/material-blue/views/account/search-searchbox.inc:69 msgid "Seleccionar Categoría" msgstr "Select Category" @@ -4564,12 +4666,12 @@ msgstr "User preferences" #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:72 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:75 -#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:145 -#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:148 +#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:147 +#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:150 msgid "Salir" msgstr "Sign Out" -#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:161 +#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:163 #: ../../../modules/web/themes/material-blue/views/_partials/footer.inc:43 msgid "Demo" msgstr "Demo" @@ -4594,8 +4696,8 @@ msgid "Un proyecto de cygnux.org" msgstr "A cygnux.org project" #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:77 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:161 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:168 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:160 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:167 #: ../../../modules/web/themes/material-blue/views/install/index.inc:61 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:109 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:116 @@ -4606,7 +4708,7 @@ msgid "Clave (repetir)" msgstr "Password (repeat)" #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:101 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:188 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:186 msgid "Seleccionar Fecha" msgstr "Select date" @@ -4622,7 +4724,7 @@ msgstr "Details" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:117 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:71 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:194 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:192 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:157 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:163 msgid "Notas" @@ -4630,22 +4732,22 @@ msgstr "Notes" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:129 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:131 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:246 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:248 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:245 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:247 msgid "Historial" msgstr "History" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:136 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:253 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:252 msgid "Seleccionar fecha" msgstr "Select date" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:147 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:265 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:264 #: ../../../modules/web/themes/material-blue/views/account/details.inc:27 #: ../../../modules/web/themes/material-blue/views/account/details.inc:29 -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:283 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:285 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:287 msgid "Última Modificación" msgstr "Last Modification" @@ -4710,25 +4812,25 @@ msgstr "Send" msgid "Permisos" msgstr "Permissions" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:211 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:210 msgid "Seleccionar Etiquetas" msgstr "Select Tags" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:239 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:238 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:22 msgid "Seleccionar Cuenta" msgstr "Select Account" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:272 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:274 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:277 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:271 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:273 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:276 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:180 msgid "Enlace Público" msgstr "Public Link" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:285 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:287 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:290 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:284 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:286 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:289 msgid "Enlace Directo" msgstr "Direct Link" @@ -5126,6 +5228,7 @@ msgstr "" "place or use it to make the application portable." #: ../../../modules/web/themes/material-blue/views/config/backup.inc:81 +#: ../../../modules/web/themes/material-blue/views/config/backup.inc:166 msgid "Exportar Cuentas" msgstr "Export Accounts" @@ -5171,6 +5274,7 @@ msgstr "" "the XML file." #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:14 +#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:150 #: ../../../modules/web/themes/material-blue/views/config/import.inc:150 #: ../../../modules/web/themes/material-blue/views/config/import.inc:165 #: ../../../modules/web/themes/material-blue/views/install/index.inc:47 @@ -5269,6 +5373,7 @@ msgid "Actualizar hash de clave maestra" msgstr "Update master password hash" #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:186 +#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:318 msgid "Clave Temporal" msgstr "Temporary Password" @@ -5561,6 +5666,7 @@ msgstr "" "won't be readable." #: ../../../modules/web/themes/material-blue/views/config/import.inc:10 +#: ../../../modules/web/themes/material-blue/views/config/import.inc:101 msgid "Importar CSV/XML" msgstr "CSV/XML Import" @@ -5719,14 +5825,6 @@ msgstr "Encrypted Session" msgid "Indica si los datos de la sesión están encriptados en el servidor" msgstr "Tells whether the session data are encrypted in the server or not" -#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 -msgid "Sí" -msgstr "Yes" - -#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 -msgid "No" -msgstr "No" - #: ../../../modules/web/themes/material-blue/views/config/info.inc:114 #: ../../../modules/web/themes/material-blue/views/config/info.inc:117 msgid "Plugins Cargados" @@ -6187,27 +6285,27 @@ msgstr "Application administrator" msgid "Administrador de cuentas" msgstr "Accounts administrator" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:233 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:234 msgid "Forzar cambio de clave" msgstr "Force password change" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:265 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:267 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:269 msgid "Entradas" msgstr "Entries" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:274 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:276 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:278 msgid "Último Acceso" msgstr "Last Access" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:292 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:294 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:296 msgid "Fecha Clave Maestra" msgstr "Master Password Date" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:301 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:303 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:305 msgid "Usado en" msgstr "Used in" @@ -6905,15 +7003,27 @@ msgstr "Text" msgid "Link" msgstr "Link" +#~ msgid "Error al actualizar track" +#~ msgstr "Error while updating the track" + +#~ msgid "Grupo en uso" +#~ msgstr "Group in use" + +#~ msgid "Perfil en uso" +#~ msgstr "Profile in use" + +#~ msgid "Error en el módulo de encriptación" +#~ msgstr "Error on the encryption module" + +#~ msgid "No es posible leer/escribir el archivo: %s" +#~ msgstr "Unable to read/write the file: %s" + #~ msgid "Hablitar edición" #~ msgstr "Enable Edit" #~ msgid "Se permite un máximo de 4 caracteres." #~ msgstr "Max 4 characters allowed." -#~ msgid "Campo personalizado no encontrado" -#~ msgstr "Custom field not found" - #~ msgid "No se encontraron campos personalizados" #~ msgstr "Custom fields not found" @@ -7050,9 +7160,6 @@ msgstr "Link" #~ msgid "Error al obtener los datos del usuario de la BBDD" #~ msgstr "Error while retrieving the user's data from DB" -#~ msgid "Error al obtener la clave maestra del usuario" -#~ msgstr "Error while retrieving the user's Master Pass" - #~ msgid "Descargar nueva versión" #~ msgstr "Download new version" diff --git a/app/locales/en_US/LC_MESSAGES/messages.mo b/app/locales/en_US/LC_MESSAGES/messages.mo index 0eca7fa621acd5be6783cb04328d03bac7e9d49c..76e77719f9542543fbda2598224a8453384afdb9 100644 GIT binary patch delta 29618 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 F{{!=@kB0yN delta 28815 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\n" "Language-Team: nuxsmin@syspass.org\n" "Language: en_US\n" @@ -26,8 +26,8 @@ msgstr "" "X-Poedit-SearchPath-2: ../../../config\n" #: ../../../../lib/SP/Api/SyspassApi.php:76 -#: ../../../../lib/SP/Api/SyspassApi.php:148 -#: ../../../../lib/SP/Services/Api/ApiService.php:273 +#: ../../../../lib/SP/Api/SyspassApi.php:147 +#: ../../../../lib/SP/Services/Api/ApiService.php:285 #: ../../../modules/api/Controllers/ControllerBase.php:146 msgid "Acceso no permitido" msgstr "Unauthorized access" @@ -45,7 +45,7 @@ msgid "Ver Clave" msgstr "View password" #: ../../../../lib/SP/Api/SyspassApi.php:84 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1222 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1249 #: ../../../modules/web/themes/material-blue/views/account/details.inc:138 #: ../../../modules/web/themes/material-blue/views/account/details.inc:140 msgid "ID" @@ -57,18 +57,21 @@ msgstr "ID" #: ../../../modules/api/Controllers/AccountController.php:142 #: ../../../modules/api/Controllers/AccountController.php:194 #: ../../../modules/web/Controllers/AccountController.php:222 -#: ../../../modules/web/Controllers/AccountController.php:548 -#: ../../../modules/web/Controllers/AccountController.php:583 -#: ../../../modules/web/Controllers/AccountController.php:617 -#: ../../../modules/web/Controllers/AccountController.php:646 -#: ../../../modules/web/Controllers/AccountController.php:681 -#: ../../../modules/web/Controllers/AccountController.php:726 -#: ../../../modules/web/Controllers/AccountController.php:767 -#: ../../../modules/web/Controllers/AccountController.php:806 -#: ../../../modules/web/Controllers/AccountController.php:855 -#: ../../../modules/web/Controllers/AccountController.php:890 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:340 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:950 +#: ../../../modules/web/Controllers/AccountController.php:554 +#: ../../../modules/web/Controllers/AccountController.php:589 +#: ../../../modules/web/Controllers/AccountController.php:624 +#: ../../../modules/web/Controllers/AccountController.php:654 +#: ../../../modules/web/Controllers/AccountController.php:689 +#: ../../../modules/web/Controllers/AccountController.php:735 +#: ../../../modules/web/Controllers/AccountController.php:777 +#: ../../../modules/web/Controllers/AccountController.php:817 +#: ../../../modules/web/Controllers/AccountController.php:867 +#: ../../../modules/web/Controllers/AccountController.php:903 +#: ../../../modules/web/Controllers/AccountFileController.php:223 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:105 +#: ../../../modules/web/Controllers/AccountManagerController.php:110 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:349 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:974 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:15 #: ../../../modules/web/themes/material-blue/views/account/account.inc:24 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:17 @@ -77,48 +80,48 @@ msgid "Cuenta" msgstr "Account" #: ../../../../lib/SP/Api/SyspassApi.php:86 -#: ../../../../lib/SP/Api/SyspassApi.php:191 -#: ../../../../lib/SP/Api/SyspassApi.php:229 -#: ../../../../lib/SP/Api/SyspassApi.php:282 -#: ../../../../lib/SP/Api/SyspassApi.php:318 -#: ../../../../lib/SP/Api/SyspassApi.php:371 -#: ../../../../lib/SP/Api/SyspassApi.php:407 -#: ../../../../lib/SP/Util/Wiki/DokuWikiApiBase.php:218 -msgid "Origen" -msgstr "Source" - -#: ../../../../lib/SP/Api/SyspassApi.php:188 -msgid "Crear Cuenta" -msgstr "Add Account" - -#: ../../../../lib/SP/Api/SyspassApi.php:189 -#: ../../../modules/api/Controllers/AccountController.php:141 -#: ../../../modules/api/Controllers/AccountController.php:146 -#: ../../../modules/web/Controllers/AccountController.php:680 -#: ../../../modules/web/Controllers/AccountController.php:691 -msgid "Cuenta creada" -msgstr "Account added" - #: ../../../../lib/SP/Api/SyspassApi.php:190 #: ../../../../lib/SP/Api/SyspassApi.php:228 #: ../../../../lib/SP/Api/SyspassApi.php:281 #: ../../../../lib/SP/Api/SyspassApi.php:317 #: ../../../../lib/SP/Api/SyspassApi.php:370 #: ../../../../lib/SP/Api/SyspassApi.php:406 +#: ../../../../lib/SP/Util/Wiki/DokuWikiApiBase.php:218 +msgid "Origen" +msgstr "Source" + +#: ../../../../lib/SP/Api/SyspassApi.php:187 +msgid "Crear Cuenta" +msgstr "Add Account" + +#: ../../../../lib/SP/Api/SyspassApi.php:188 +#: ../../../modules/api/Controllers/AccountController.php:141 +#: ../../../modules/api/Controllers/AccountController.php:146 +#: ../../../modules/web/Controllers/AccountController.php:688 +#: ../../../modules/web/Controllers/AccountController.php:699 +msgid "Cuenta creada" +msgstr "Account added" + +#: ../../../../lib/SP/Api/SyspassApi.php:189 +#: ../../../../lib/SP/Api/SyspassApi.php:227 +#: ../../../../lib/SP/Api/SyspassApi.php:280 +#: ../../../../lib/SP/Api/SyspassApi.php:316 +#: ../../../../lib/SP/Api/SyspassApi.php:369 +#: ../../../../lib/SP/Api/SyspassApi.php:405 #: ../../../../lib/SP/Core/Plugin/PluginDataStore.php:77 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:220 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:71 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:172 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:255 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:342 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:425 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:481 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:555 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:682 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:772 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1049 -#: ../../../modules/web/Controllers/UserGroupController.php:250 -#: ../../../modules/web/Controllers/UserGroupController.php:289 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:221 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:76 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:179 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:263 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:351 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:437 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:496 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:573 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:701 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:792 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1074 +#: ../../../modules/web/Controllers/UserGroupController.php:254 +#: ../../../modules/web/Controllers/UserGroupController.php:294 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:22 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:33 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:15 @@ -138,205 +141,214 @@ msgstr "Account added" msgid "Nombre" msgstr "Name" -#: ../../../../lib/SP/Api/SyspassApi.php:219 -#: ../../../../lib/SP/Services/Account/AccountService.php:408 +#: ../../../../lib/SP/Api/SyspassApi.php:218 +#: ../../../../lib/SP/Services/Account/AccountService.php:175 +#: ../../../../lib/SP/Services/Account/AccountService.php:433 msgid "Cuenta no encontrada" msgstr "Account not found" #. (itstool) path: action/text -#: ../../../../lib/SP/Api/SyspassApi.php:226 -#: ../../../modules/web/Controllers/AccountController.php:384 +#: ../../../../lib/SP/Api/SyspassApi.php:225 +#: ../../../modules/web/Controllers/AccountController.php:387 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:310 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:311 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:461 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:462 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:535 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:536 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:475 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:476 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:552 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:553 #: ../../../config/actions.xml:163 ../../../config/actions.xml:481 #: ../../../config/actions.xml:781 msgid "Eliminar Cuenta" msgstr "Remove Account" -#: ../../../../lib/SP/Api/SyspassApi.php:227 +#: ../../../../lib/SP/Api/SyspassApi.php:226 #: ../../../modules/api/Controllers/AccountController.php:193 #: ../../../modules/api/Controllers/AccountController.php:198 -#: ../../../modules/web/Controllers/AccountController.php:854 -#: ../../../modules/web/Controllers/AccountController.php:859 +#: ../../../modules/web/Controllers/AccountController.php:866 +#: ../../../modules/web/Controllers/AccountController.php:871 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:104 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:109 +#: ../../../modules/web/Controllers/AccountManagerController.php:109 +#: ../../../modules/web/Controllers/AccountManagerController.php:114 msgid "Cuenta eliminada" msgstr "Account removed" -#: ../../../../lib/SP/Api/SyspassApi.php:279 +#: ../../../../lib/SP/Api/SyspassApi.php:278 msgid "Crear Categoría" msgstr "Add Category" -#: ../../../../lib/SP/Api/SyspassApi.php:280 +#: ../../../../lib/SP/Api/SyspassApi.php:279 #: ../../../modules/api/Controllers/CategoryController.php:86 #: ../../../modules/api/Controllers/CategoryController.php:90 -#: ../../../modules/web/Controllers/CategoryController.php:246 -#: ../../../modules/web/Controllers/CategoryController.php:250 +#: ../../../modules/web/Controllers/CategoryController.php:251 +#: ../../../modules/web/Controllers/CategoryController.php:255 msgid "Categoría creada" msgstr "Category added" -#: ../../../../lib/SP/Api/SyspassApi.php:309 +#: ../../../../lib/SP/Api/SyspassApi.php:308 +#: ../../../../lib/SP/Services/Category/CategoryService.php:77 #: ../../../../lib/SP/Services/Category/CategoryService.php:98 +#: ../../../../lib/SP/Services/Category/CategoryService.php:115 msgid "Categoría no encontrada" msgstr "Category not found" #. (itstool) path: action/text -#: ../../../../lib/SP/Api/SyspassApi.php:315 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:131 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:132 +#: ../../../../lib/SP/Api/SyspassApi.php:314 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:136 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:137 #: ../../../config/actions.xml:313 msgid "Eliminar Categoría" msgstr "Delete Category" -#: ../../../../lib/SP/Api/SyspassApi.php:316 +#: ../../../../lib/SP/Api/SyspassApi.php:315 #: ../../../modules/api/Controllers/CategoryController.php:143 #: ../../../modules/api/Controllers/CategoryController.php:147 -#: ../../../modules/web/Controllers/CategoryController.php:208 -#: ../../../modules/web/Controllers/CategoryController.php:212 +#: ../../../modules/web/Controllers/CategoryController.php:213 +#: ../../../modules/web/Controllers/CategoryController.php:217 msgid "Categoría eliminada" msgstr "Category deleted" -#: ../../../../lib/SP/Api/SyspassApi.php:368 +#: ../../../../lib/SP/Api/SyspassApi.php:367 msgid "Crear Cliente" msgstr "Add Client" -#: ../../../../lib/SP/Api/SyspassApi.php:369 +#: ../../../../lib/SP/Api/SyspassApi.php:368 #: ../../../../lib/SP/Services/Import/KeepassImport.php:76 #: ../../../modules/api/Controllers/ClientController.php:84 #: ../../../modules/api/Controllers/ClientController.php:88 -#: ../../../modules/web/Controllers/ClientController.php:242 -#: ../../../modules/web/Controllers/ClientController.php:246 +#: ../../../modules/web/Controllers/ClientController.php:245 +#: ../../../modules/web/Controllers/ClientController.php:249 msgid "Cliente creado" msgstr "Client added" -#: ../../../../lib/SP/Api/SyspassApi.php:398 -#: ../../../../lib/SP/Services/Client/ClientService.php:89 +#: ../../../../lib/SP/Api/SyspassApi.php:397 +#: ../../../../lib/SP/Services/Client/ClientService.php:76 +#: ../../../../lib/SP/Services/Client/ClientService.php:95 +#: ../../../../lib/SP/Services/Client/ClientService.php:110 msgid "Cliente no encontrado" msgstr "Client not found" #. (itstool) path: action/text -#: ../../../../lib/SP/Api/SyspassApi.php:404 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:235 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:236 +#: ../../../../lib/SP/Api/SyspassApi.php:403 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:242 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:243 #: ../../../config/actions.xml:343 msgid "Eliminar Cliente" msgstr "Delete Client" -#: ../../../../lib/SP/Api/SyspassApi.php:405 +#: ../../../../lib/SP/Api/SyspassApi.php:404 #: ../../../modules/api/Controllers/ClientController.php:142 #: ../../../modules/api/Controllers/ClientController.php:146 -#: ../../../modules/web/Controllers/ClientController.php:209 -#: ../../../modules/web/Controllers/ClientController.php:213 +#: ../../../modules/web/Controllers/ClientController.php:212 +#: ../../../modules/web/Controllers/ClientController.php:216 msgid "Cliente eliminado" msgstr "Client deleted" -#: ../../../../lib/SP/Api/SyspassApi.php:428 -#: ../../../modules/api/Controllers/ConfigController.php:59 +#: ../../../../lib/SP/Api/SyspassApi.php:427 +#: ../../../modules/api/Controllers/ConfigController.php:60 #: ../../../modules/web/Controllers/ConfigBackupController.php:68 msgid "Proceso de backup finalizado" msgstr "Backup process finished" -#: ../../../../lib/SP/Api/SyspassApi.php:434 -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:89 +#: ../../../../lib/SP/Api/SyspassApi.php:433 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:102 msgid "Error al realizar el backup" msgstr "Error while doing the backup" -#: ../../../../lib/SP/Api/SyspassApi.php:435 +#: ../../../../lib/SP/Api/SyspassApi.php:434 #: ../../../../lib/SP/Controller/ChecksController.php:113 #: ../../../../lib/SP/Controller/ChecksController.php:142 -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:91 -#: ../../../../lib/SP/Services/Export/XmlExportService.php:175 -#: ../../../modules/web/Controllers/ConfigImportController.php:81 -#: ../../../modules/web/Controllers/ConfigImportController.php:83 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:104 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:163 +#: ../../../modules/web/Controllers/ConfigImportController.php:80 +#: ../../../modules/web/Controllers/ConfigImportController.php:82 msgid "Revise el registro de eventos para más detalles" msgstr "Please check out the event log for more details" -#: ../../../../lib/SP/Api/SyspassApi.php:465 -#: ../../../../lib/SP/Api/SyspassApi.php:482 -#: ../../../../lib/SP/Api/SyspassApi.php:488 -#: ../../../../lib/SP/Services/Api/ApiService.php:169 -#: ../../../../lib/SP/Services/Api/ApiService.php:184 -#: ../../../../lib/SP/Services/Api/ApiService.php:189 +#: ../../../../lib/SP/Api/SyspassApi.php:464 +#: ../../../../lib/SP/Api/SyspassApi.php:481 +#: ../../../../lib/SP/Api/SyspassApi.php:487 +#: ../../../../lib/SP/Services/Api/ApiService.php:181 +#: ../../../../lib/SP/Services/Api/ApiService.php:196 +#: ../../../../lib/SP/Services/Api/ApiService.php:201 msgid "Id de la cuenta" msgstr "Account Id" -#: ../../../../lib/SP/Api/SyspassApi.php:466 -#: ../../../../lib/SP/Api/SyspassApi.php:494 -#: ../../../../lib/SP/Services/Api/ApiService.php:170 -#: ../../../../lib/SP/Services/Api/ApiService.php:194 +#: ../../../../lib/SP/Api/SyspassApi.php:465 +#: ../../../../lib/SP/Api/SyspassApi.php:493 +#: ../../../../lib/SP/Services/Api/ApiService.php:182 +#: ../../../../lib/SP/Services/Api/ApiService.php:206 msgid "Clave del token" msgstr "Token's password" -#: ../../../../lib/SP/Api/SyspassApi.php:467 -#: ../../../../lib/SP/Services/Api/ApiService.php:171 +#: ../../../../lib/SP/Api/SyspassApi.php:466 +#: ../../../../lib/SP/Services/Api/ApiService.php:183 msgid "Devolver detalles en la respuesta" msgstr "Send details in the response" -#: ../../../../lib/SP/Api/SyspassApi.php:473 -#: ../../../../lib/SP/Services/Api/ApiService.php:176 -#: ../../../../lib/SP/Services/Api/ApiService.php:213 -#: ../../../../lib/SP/Services/Api/ApiService.php:230 -#: ../../../../lib/SP/Services/Api/ApiService.php:248 +#: ../../../../lib/SP/Api/SyspassApi.php:472 +#: ../../../../lib/SP/Services/Api/ApiService.php:188 +#: ../../../../lib/SP/Services/Api/ApiService.php:225 +#: ../../../../lib/SP/Services/Api/ApiService.php:242 +#: ../../../../lib/SP/Services/Api/ApiService.php:260 #: ../../../modules/web/themes/material-blue/views/account/search-searchbox.inc:16 msgid "Texto a buscar" msgstr "Text to search" -#: ../../../../lib/SP/Api/SyspassApi.php:474 -#: ../../../../lib/SP/Api/SyspassApi.php:512 -#: ../../../../lib/SP/Api/SyspassApi.php:532 -#: ../../../../lib/SP/Services/Api/ApiService.php:177 -#: ../../../../lib/SP/Services/Api/ApiService.php:214 -#: ../../../../lib/SP/Services/Api/ApiService.php:231 -#: ../../../../lib/SP/Services/Api/ApiService.php:249 +#: ../../../../lib/SP/Api/SyspassApi.php:473 +#: ../../../../lib/SP/Api/SyspassApi.php:511 +#: ../../../../lib/SP/Api/SyspassApi.php:531 +#: ../../../../lib/SP/Services/Api/ApiService.php:189 +#: ../../../../lib/SP/Services/Api/ApiService.php:226 +#: ../../../../lib/SP/Services/Api/ApiService.php:243 +#: ../../../../lib/SP/Services/Api/ApiService.php:261 msgid "Número de resultados a mostrar" msgstr "Number of results to show" -#: ../../../../lib/SP/Api/SyspassApi.php:475 -#: ../../../../lib/SP/Services/Api/ApiService.php:178 +#: ../../../../lib/SP/Api/SyspassApi.php:474 +#: ../../../../lib/SP/Services/Api/ApiService.php:190 msgid "Id de categoría a filtrar" msgstr "Category Id to filter on" -#: ../../../../lib/SP/Api/SyspassApi.php:476 -#: ../../../../lib/SP/Services/Api/ApiService.php:179 +#: ../../../../lib/SP/Api/SyspassApi.php:475 +#: ../../../../lib/SP/Services/Api/ApiService.php:191 msgid "Id de cliente a filtrar" msgstr "Client Id to filter on" -#: ../../../../lib/SP/Api/SyspassApi.php:495 -#: ../../../../lib/SP/Services/Api/ApiService.php:195 +#: ../../../../lib/SP/Api/SyspassApi.php:494 +#: ../../../../lib/SP/Services/Api/ApiService.php:207 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:28 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:42 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:22 #: ../../../modules/web/themes/material-blue/views/account/account-request.inc:24 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:68 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:67 msgid "Nombre de cuenta" msgstr "Account name" -#: ../../../../lib/SP/Api/SyspassApi.php:496 -#: ../../../../lib/SP/Api/SyspassApi.php:525 -#: ../../../../lib/SP/Services/Api/ApiService.php:196 -#: ../../../../lib/SP/Services/Api/ApiService.php:225 +#: ../../../../lib/SP/Api/SyspassApi.php:495 +#: ../../../../lib/SP/Api/SyspassApi.php:524 +#: ../../../../lib/SP/Services/Api/ApiService.php:208 +#: ../../../../lib/SP/Services/Api/ApiService.php:237 msgid "Id de categoría" msgstr "Category Id" -#: ../../../../lib/SP/Api/SyspassApi.php:497 -#: ../../../../lib/SP/Api/SyspassApi.php:545 -#: ../../../../lib/SP/Services/Api/ApiService.php:197 -#: ../../../../lib/SP/Services/Api/ApiService.php:243 +#: ../../../../lib/SP/Api/SyspassApi.php:496 +#: ../../../../lib/SP/Api/SyspassApi.php:544 +#: ../../../../lib/SP/Services/Api/ApiService.php:209 +#: ../../../../lib/SP/Services/Api/ApiService.php:255 msgid "Id de cliente" msgstr "Client Id" -#: ../../../../lib/SP/Api/SyspassApi.php:498 -#: ../../../../lib/SP/Services/Api/ApiService.php:198 +#: ../../../../lib/SP/Api/SyspassApi.php:497 +#: ../../../../lib/SP/Services/Api/ApiService.php:210 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:66 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:72 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:83 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:82 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:85 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:93 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:148 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:156 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:147 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:155 #: ../../../modules/web/themes/material-blue/views/account/viewpass.inc:31 #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:288 #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:291 @@ -359,67 +371,67 @@ msgstr "Client Id" msgid "Clave" msgstr "Password" -#: ../../../../lib/SP/Api/SyspassApi.php:499 -#: ../../../../lib/SP/Services/Api/ApiService.php:199 +#: ../../../../lib/SP/Api/SyspassApi.php:498 +#: ../../../../lib/SP/Services/Api/ApiService.php:211 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:99 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:142 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:141 msgid "Usuario de acceso" msgstr "Access user" -#: ../../../../lib/SP/Api/SyspassApi.php:500 -#: ../../../../lib/SP/Services/Api/ApiService.php:200 +#: ../../../../lib/SP/Api/SyspassApi.php:499 +#: ../../../../lib/SP/Services/Api/ApiService.php:212 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:86 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:129 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:128 msgid "URL o IP de acceso" msgstr "Access URL or IP" -#: ../../../../lib/SP/Api/SyspassApi.php:501 -#: ../../../../lib/SP/Services/Api/ApiService.php:201 +#: ../../../../lib/SP/Api/SyspassApi.php:500 +#: ../../../../lib/SP/Services/Api/ApiService.php:213 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:124 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:78 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:201 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:199 msgid "Notas sobre la cuenta" msgstr "Notes about the account" -#: ../../../../lib/SP/Api/SyspassApi.php:511 +#: ../../../../lib/SP/Api/SyspassApi.php:510 msgid "Nombre de categoría a buscar" msgstr "Category name to search for" -#: ../../../../lib/SP/Api/SyspassApi.php:518 -#: ../../../../lib/SP/Services/Api/ApiService.php:219 +#: ../../../../lib/SP/Api/SyspassApi.php:517 +#: ../../../../lib/SP/Services/Api/ApiService.php:231 #: ../../../modules/web/themes/material-blue/views/itemshow/category.inc:24 msgid "Nombre de la categoría" msgstr "Category name" -#: ../../../../lib/SP/Api/SyspassApi.php:519 -#: ../../../../lib/SP/Services/Api/ApiService.php:220 +#: ../../../../lib/SP/Api/SyspassApi.php:518 +#: ../../../../lib/SP/Services/Api/ApiService.php:232 #: ../../../modules/web/themes/material-blue/views/itemshow/category.inc:36 msgid "Descripción de la categoría" msgstr "Category description" -#: ../../../../lib/SP/Api/SyspassApi.php:531 +#: ../../../../lib/SP/Api/SyspassApi.php:530 msgid "Nombre de cliente a buscar" msgstr "Client name to search for" -#: ../../../../lib/SP/Api/SyspassApi.php:538 -#: ../../../../lib/SP/Services/Api/ApiService.php:236 +#: ../../../../lib/SP/Api/SyspassApi.php:537 +#: ../../../../lib/SP/Services/Api/ApiService.php:248 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:27 msgid "Nombre del cliente" msgstr "Client name" -#: ../../../../lib/SP/Api/SyspassApi.php:539 -#: ../../../../lib/SP/Services/Api/ApiService.php:237 +#: ../../../../lib/SP/Api/SyspassApi.php:538 +#: ../../../../lib/SP/Services/Api/ApiService.php:249 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:40 msgid "Descripción del cliente" msgstr "Client description" -#: ../../../../lib/SP/Bootstrap.php:282 +#: ../../../../lib/SP/Bootstrap.php:287 #, php-format msgid "Versión de PHP requerida >= %s <= %s" msgstr "Required PHP version >= %s <= %s" -#: ../../../../lib/SP/Bootstrap.php:284 -#: ../../../modules/web/Controllers/InstallController.php:64 +#: ../../../../lib/SP/Bootstrap.php:289 +#: ../../../modules/web/Controllers/InstallController.php:63 msgid "" "Actualice la versión de PHP para que la aplicación funcione correctamente" msgstr "Please update the PHP version to run sysPass" @@ -449,14 +461,14 @@ msgstr "The LDAP parameters are not set" #: ../../../../lib/SP/Controller/ChecksController.php:107 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:123 -#: ../../../modules/web/Controllers/ConfigLdapController.php:152 -#: ../../../modules/web/Controllers/ConfigLdapController.php:195 +#: ../../../modules/web/Controllers/ConfigLdapController.php:151 +#: ../../../modules/web/Controllers/ConfigLdapController.php:194 msgid "Conexión a LDAP correcta" msgstr "LDAP connection OK" #: ../../../../lib/SP/Controller/ChecksController.php:108 -#: ../../../modules/web/Controllers/ConfigLdapController.php:153 -#: ../../../modules/web/Controllers/ConfigLdapController.php:196 +#: ../../../modules/web/Controllers/ConfigLdapController.php:152 +#: ../../../modules/web/Controllers/ConfigLdapController.php:195 #, php-format msgid "Objetos encontrados: %d" msgstr "Objects found: %d" @@ -478,7 +490,8 @@ msgstr "Connection successful" #: ../../../../lib/SP/Controller/MainActionController.php:150 #: ../../../../lib/SP/Services/Upgrade/UpgradeConfigService.php:111 #: ../../../../lib/SP/Services/Upgrade/UpgradeConfigService.php:227 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:165 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:168 +#: ../../../modules/web/Controllers/ConfigBackupController.php:120 #: ../../../modules/web/themes/material-blue/views/config/info.inc:38 #: ../../../modules/web/themes/material-blue/views/itemshow/plugin.inc:25 msgid "Versión" @@ -494,23 +507,23 @@ msgid "Actualización" msgstr "Update" #: ../../../../lib/SP/Controller/MainActionController.php:94 -#: ../../../modules/web/Controllers/UpgradeController.php:66 +#: ../../../modules/web/Controllers/UpgradeController.php:65 msgid "Código de seguridad incorrecto" msgstr "Wrong security code" #: ../../../../lib/SP/Controller/MainActionController.php:96 -#: ../../../modules/web/Controllers/UpgradeController.php:62 +#: ../../../modules/web/Controllers/UpgradeController.php:61 msgid "Es necesario confirmar la actualización" msgstr "The updating need to be confirmed" #: ../../../../lib/SP/Controller/MainActionController.php:103 -#: ../../../modules/web/Controllers/UpgradeController.php:87 +#: ../../../modules/web/Controllers/UpgradeController.php:86 #: ../../../modules/web/themes/material-blue/views/login/index.inc:78 msgid "Aplicación actualizada correctamente" msgstr "Application successfully updated" #: ../../../../lib/SP/Controller/MainActionController.php:104 -#: ../../../modules/web/Controllers/UpgradeController.php:87 +#: ../../../modules/web/Controllers/UpgradeController.php:86 msgid "En 5 segundos será redirigido al login" msgstr "You will be redirected to log in within 5 seconds" @@ -519,13 +532,14 @@ msgid "Actualización de versión realizada." msgstr "Version updating done." #: ../../../../lib/SP/Controller/MainActionController.php:151 -#: ../../../../lib/SP/Services/Auth/LoginService.php:427 -#: ../../../../lib/SP/Services/Auth/LoginService.php:490 -#: ../../../../lib/SP/Services/Auth/LoginService.php:536 -#: ../../../../lib/SP/Services/Auth/LoginService.php:576 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:257 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:343 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1332 +#: ../../../../lib/SP/Services/Auth/LoginService.php:432 +#: ../../../../lib/SP/Services/Auth/LoginService.php:495 +#: ../../../../lib/SP/Services/Auth/LoginService.php:541 +#: ../../../../lib/SP/Services/Auth/LoginService.php:582 +#: ../../../modules/web/Controllers/AccountFileController.php:225 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:265 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:352 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1360 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:32 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:34 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:16 @@ -535,7 +549,7 @@ msgstr "Type" #: ../../../../lib/SP/Core/Acl/AccountPermissionException.php:45 #: ../../../../lib/SP/Util/ErrorUtil.php:131 -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:89 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:92 msgid "No tiene permisos para acceder a esta cuenta" msgstr "You don't have permission to access to this account" @@ -554,49 +568,49 @@ msgid "Consulte con el administrador" msgstr "Please contact to the administrator" # Not available -#: ../../../../lib/SP/Core/Acl/Acl.php:260 +#: ../../../../lib/SP/Core/Acl/Acl.php:265 #: ../../../../lib/SP/Providers/Auth/AuthUtil.php:41 msgid "N/D" msgstr "N/A" -#: ../../../../lib/SP/Core/Acl/Acl.php:265 +#: ../../../../lib/SP/Core/Acl/Acl.php:270 msgid "Acceso denegado" msgstr "Access denied" -#: ../../../../lib/SP/Core/Acl/Acl.php:266 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:861 +#: ../../../../lib/SP/Core/Acl/Acl.php:271 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:882 #: ../../../modules/web/themes/material-blue/views/itemshow/authtoken.inc:31 #: ../../../modules/web/themes/material-blue/views/itemshow/authtoken.inc:33 msgid "Acción" msgstr "Action" -#: ../../../../lib/SP/Core/Acl/Acl.php:267 +#: ../../../../lib/SP/Core/Acl/Acl.php:272 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:404 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapMsAds.php:165 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:114 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:126 -#: ../../../../lib/SP/Services/Auth/LoginService.php:226 -#: ../../../../lib/SP/Services/Auth/LoginService.php:244 -#: ../../../../lib/SP/Services/Auth/LoginService.php:381 -#: ../../../../lib/SP/Services/Auth/LoginService.php:429 -#: ../../../../lib/SP/Services/Auth/LoginService.php:537 -#: ../../../../lib/SP/Services/Auth/LoginService.php:577 +#: ../../../../lib/SP/Services/Auth/LoginService.php:212 +#: ../../../../lib/SP/Services/Auth/LoginService.php:230 +#: ../../../../lib/SP/Services/Auth/LoginService.php:367 +#: ../../../../lib/SP/Services/Auth/LoginService.php:434 +#: ../../../../lib/SP/Services/Auth/LoginService.php:542 +#: ../../../../lib/SP/Services/Auth/LoginService.php:583 #: ../../../../lib/SP/Services/Ldap/LdapImportService.php:228 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:234 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:860 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:954 -#: ../../../modules/web/Controllers/LoginController.php:99 -#: ../../../modules/web/Controllers/UserController.php:274 -#: ../../../modules/web/Controllers/UserController.php:308 -#: ../../../modules/web/Controllers/UserController.php:371 -#: ../../../modules/web/Controllers/UserController.php:408 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:235 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:881 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:978 +#: ../../../modules/web/Controllers/LoginController.php:105 +#: ../../../modules/web/Controllers/UserController.php:280 +#: ../../../modules/web/Controllers/UserController.php:314 +#: ../../../modules/web/Controllers/UserController.php:375 +#: ../../../modules/web/Controllers/UserController.php:412 #: ../../../modules/web/Controllers/UserPassResetController.php:188 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:55 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:61 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:91 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:60 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:66 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:134 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:133 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:63 #: ../../../modules/web/themes/material-blue/views/account/viewpass.inc:20 #: ../../../modules/web/themes/material-blue/views/config/general-proxy.inc:65 @@ -620,7 +634,7 @@ msgstr "Action" msgid "Usuario" msgstr "User" -#: ../../../../lib/SP/Core/Acl/Actions.php:174 +#: ../../../../lib/SP/Core/Acl/Actions.php:176 msgid "Acción no encontrada" msgstr "Action not found" @@ -629,20 +643,24 @@ msgstr "Action not found" msgid "No tiene permisos para acceder a esta página" msgstr "You don't have permission to access this page" -#: ../../../../lib/SP/Core/Context/ContextBase.php:51 -#: ../../../../lib/SP/Core/Context/ContextBase.php:73 +#: ../../../../lib/SP/Core/Context/ContextBase.php:75 +msgid "No es posible cambiar el valor de la clave" +msgstr "Unable to change password value" + +#: ../../../../lib/SP/Core/Context/ContextBase.php:105 +#: ../../../../lib/SP/Core/Context/ContextBase.php:128 msgid "Contexto ya inicializado" msgstr "Context already initialized" -#: ../../../../lib/SP/Core/Context/ContextBase.php:57 +#: ../../../../lib/SP/Core/Context/ContextBase.php:111 msgid "Contexto inválido" msgstr "Invalid context" -#: ../../../../lib/SP/Core/Context/ContextBase.php:121 +#: ../../../../lib/SP/Core/Context/ContextBase.php:156 msgid "Contexto no inicializado" msgstr "Context not initialized" -#: ../../../../lib/SP/Core/Context/SessionContext.php:536 +#: ../../../../lib/SP/Core/Context/SessionContext.php:545 msgid "La sesión no puede ser inicializada" msgstr "Session cannot be initialized" @@ -658,27 +676,29 @@ msgstr "The key file does not exist" #: ../../../../lib/SP/Core/Crypt/OldCrypt.php:169 #: ../../../../lib/SP/Core/Crypt/OldCrypt.php:179 #: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:59 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:126 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:135 #: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:224 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:306 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:357 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:386 -#: ../../../../lib/SP/Services/Account/AccountService.php:206 -#: ../../../../lib/SP/Services/Account/AccountService.php:211 -#: ../../../../lib/SP/Services/Api/ApiService.php:115 -#: ../../../../lib/SP/Services/Api/ApiService.php:314 -#: ../../../../lib/SP/Services/Api/ApiService.php:322 -#: ../../../../lib/SP/Services/Auth/LoginService.php:197 -#: ../../../../lib/SP/Services/Auth/LoginService.php:348 -#: ../../../../lib/SP/Services/Auth/LoginService.php:476 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:314 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:369 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:397 +#: ../../../../lib/SP/Services/Account/AccountService.php:232 +#: ../../../../lib/SP/Services/Account/AccountService.php:237 +#: ../../../../lib/SP/Services/Api/ApiService.php:126 +#: ../../../../lib/SP/Services/Api/ApiService.php:326 +#: ../../../../lib/SP/Services/Api/ApiService.php:334 +#: ../../../../lib/SP/Services/Auth/LoginService.php:183 +#: ../../../../lib/SP/Services/Auth/LoginService.php:334 #: ../../../../lib/SP/Services/Auth/LoginService.php:481 -#: ../../../../lib/SP/Services/Auth/LoginService.php:514 -#: ../../../../lib/SP/Services/Auth/LoginService.php:617 -#: ../../../../lib/SP/Services/CustomField/CustomFieldService.php:196 +#: ../../../../lib/SP/Services/Auth/LoginService.php:486 +#: ../../../../lib/SP/Services/Auth/LoginService.php:518 +#: ../../../../lib/SP/Services/Auth/LoginService.php:623 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:277 +#: ../../../../lib/SP/Services/CustomField/CustomFieldService.php:203 +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:102 #: ../../../../lib/SP/Services/Import/XmlFileImport.php:101 -#: ../../../../lib/SP/Services/User/UserPassService.php:226 -#: ../../../modules/web/Controllers/Traits/ItemTrait.php:120 -#: ../../../modules/web/Controllers/Traits/ItemTrait.php:172 +#: ../../../../lib/SP/Services/User/UserPassService.php:231 +#: ../../../modules/web/Controllers/Traits/ItemTrait.php:122 +#: ../../../modules/web/Controllers/Traits/ItemTrait.php:177 msgid "Error interno" msgstr "Internal error" @@ -694,7 +714,7 @@ msgstr "Error while creating the encrypted data" msgid "Es necesario un objeto" msgstr "An object is needed" -#: ../../../../lib/SP/Core/Events/EventDispatcherBase.php:81 +#: ../../../../lib/SP/Core/Events/EventDispatcherBase.php:85 msgid "Observador no inicializado" msgstr "Observer not initialized" @@ -715,20 +735,20 @@ msgstr "Unable to load the \"%s\" plugin" msgid "Clase no válida para iconos" msgstr "Invalid icons class" -#: ../../../../lib/SP/DataModel/PublicLinkListData.php:80 +#: ../../../../lib/SP/DataModel/PublicLinkListData.php:88 #: ../../../modules/web/Controllers/AccountController.php:225 msgid "ON" msgstr "ON" -#: ../../../../lib/SP/DataModel/PublicLinkListData.php:80 +#: ../../../../lib/SP/DataModel/PublicLinkListData.php:88 #: ../../../modules/web/Controllers/AccountController.php:225 msgid "OFF" msgstr "OFF" #: ../../../../lib/SP/DataModel/TrackData.php:154 #: ../../../../lib/SP/DataModel/TrackData.php:156 -#: ../../../../lib/SP/Repositories/Track/TrackRequest.php:54 #: ../../../../lib/SP/Repositories/Track/TrackRequest.php:56 +#: ../../../../lib/SP/Repositories/Track/TrackRequest.php:58 msgid "IP inválida" msgstr "Invalid IP" @@ -742,21 +762,16 @@ msgstr "Unable to retrieve the \"%s\" template: %s" msgid "Respuesta XML-RPC inválida" msgstr "Invalid XML-RPC response" -#: ../../../../lib/SP/Log/Log.php:91 -#: ../../../../lib/SP/Repositories/EventLog/EventlogRepository.php:52 +#: ../../../../lib/SP/Log/Log.php:90 +#: ../../../../lib/SP/Repositories/EventLog/EventlogRepository.php:53 msgid "Error al vaciar el registro de eventos" msgstr "Error while clearing the event log" -#: ../../../../lib/SP/Log/LogUtil.php:44 -#, php-format -msgid "Extensión '%s' no cargada" -msgstr "Extension '%s' not loaded" - -#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:64 +#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:65 msgid "La sesión no se ha iniciado o ha caducado" msgstr "Session not started or timed out" -#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:104 +#: ../../../../lib/SP/Mvc/Controller/ControllerTrait.php:115 msgid "Acción Inválida" msgstr "Invalid Action" @@ -785,14 +800,14 @@ msgstr "Unable to unset the \"%s\" variable" msgid "La plantilla no contiene archivos" msgstr "Template does not contain files" -#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:180 -msgid "Método ya inicializado" -msgstr "Method already initialized" - -#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:184 +#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:182 msgid "Método no disponible" msgstr "Method unavailable" +#: ../../../../lib/SP/Providers/Auth/AuthProvider.php:186 +msgid "Método ya inicializado" +msgstr "Method already initialized" + #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:162 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapBase.php:167 msgid "No es posible conectar con el servidor de LDAP" @@ -832,8 +847,8 @@ msgstr "Error while searching the group RDN" #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:115 #: ../../../../lib/SP/Providers/Auth/Ldap/LdapStd.php:127 #: ../../../../lib/SP/Services/Ldap/LdapImportService.php:136 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:558 -#: ../../../modules/web/Controllers/UserGroupController.php:216 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:576 +#: ../../../modules/web/Controllers/UserGroupController.php:220 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:135 #: ../../../modules/web/themes/material-blue/views/_partials/footer.inc:15 #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:269 @@ -868,12 +883,12 @@ msgstr "Error while searching users group" msgid "Usuario no pertenece al grupo" msgstr "The user doesn't belong to the group" -#: ../../../../lib/SP/Providers/Mail/MailHandler.php:90 +#: ../../../../lib/SP/Providers/Mail/MailHandler.php:94 #, php-format msgid "Realizado por: %s (%s)" msgstr "Performed by: %s (%s)" -#: ../../../../lib/SP/Providers/Mail/MailHandler.php:91 +#: ../../../../lib/SP/Providers/Mail/MailHandler.php:95 #, php-format msgid "Dirección IP: %s" msgstr "IP Address: %s" @@ -883,16 +898,17 @@ msgid "No es posible inicializar" msgstr "Unable to initialize" #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:91 -#: ../../../modules/web/Controllers/AccountController.php:888 +#: ../../../modules/web/Controllers/AccountController.php:901 msgid "Solicitud" msgstr "Request" #. (itstool) path: action/text #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:92 #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:123 -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:68 -#: ../../../modules/web/Controllers/ConfigManagerController.php:168 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:442 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:74 +#: ../../../modules/web/Controllers/ConfigBackupController.php:122 +#: ../../../modules/web/Controllers/ConfigManagerController.php:163 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:456 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:21 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:390 #: ../../../config/actions.xml:13 @@ -900,730 +916,744 @@ msgid "Cuentas" msgstr "Accounts" #: ../../../../lib/SP/Providers/Notification/NotificationHandler.php:122 -#: ../../../modules/web/Controllers/NotificationController.php:260 -#: ../../../modules/web/Controllers/NotificationController.php:290 +#: ../../../modules/web/Controllers/NotificationController.php:267 +#: ../../../modules/web/Controllers/NotificationController.php:297 msgid "Notificación" msgstr "Notification" -#: ../../../../lib/SP/Repositories/Account/AccountFavoriteRepository.php:68 -msgid "Error al añadir favorito" -msgstr "Error while adding favorite" - -#: ../../../../lib/SP/Repositories/Account/AccountFavoriteRepository.php:88 -msgid "Error al eliminar favorito" -msgstr "Error while deleting favorite" - #: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:77 msgid "No se pudo guardar el archivo" msgstr "Error while saving file" -#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:273 +#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:279 msgid "Error al eliminar el archivo" msgstr "Error while deleting the file" -#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:278 -#: ../../../../lib/SP/Services/Account/AccountFileService.php:148 -msgid "Archivo no encontrado" -msgstr "File not found" - -#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:297 +#: ../../../../lib/SP/Repositories/Account/AccountFileRepository.php:302 msgid "Error al eliminar los archivos" msgstr "Error while deleting the files" -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:186 +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:169 msgid "Error al actualizar el historial" msgstr "Error while updating history" -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:217 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:308 +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:188 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:329 +#: ../../../../lib/SP/Services/Account/AccountHistoryService.php:192 msgid "Error al eliminar la cuenta" msgstr "Error while deleting the account" -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:289 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:394 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:562 -msgid "No se pudieron obtener los datos de la cuenta" -msgstr "Error while retrieving the account data" - -#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:461 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:222 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:248 -msgid "Error al actualizar la clave" -msgstr "Error while updating the password" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:188 -msgid "Error al crear la cuenta" -msgstr "Error while creating the account" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:290 -msgid "Error al restaurar cuenta" -msgstr "Error on restoring the account" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:371 -msgid "Error al modificar la cuenta" -msgstr "Error while updating the account" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:398 -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:566 -msgid "La cuenta no existe" -msgstr "The account doesn't exist" - -#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:442 -#: ../../../../lib/SP/Services/Account/AccountService.php:423 +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:318 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:461 +#: ../../../../lib/SP/Services/Account/AccountService.php:449 msgid "Error al eliminar las cuentas" msgstr "Error while deleting the accounts" -#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:81 -msgid "Error al añadir las etiquetas de la cuenta" -msgstr "Error while adding the account's tags" +#: ../../../../lib/SP/Repositories/Account/AccountHistoryRepository.php:439 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:241 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:266 +#: ../../../../lib/SP/Services/Account/AccountHistoryService.php:219 +msgid "Error al actualizar la clave" +msgstr "Error while updating the password" -#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:104 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:206 +msgid "Error al crear la cuenta" +msgstr "Error while creating the account" + +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:309 +#: ../../../../lib/SP/Services/Account/AccountService.php:417 +msgid "Error al restaurar cuenta" +msgstr "Error on restoring the account" + +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:391 +msgid "Error al modificar la cuenta" +msgstr "Error while updating the account" + +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:411 +#: ../../../../lib/SP/Repositories/Account/AccountRepository.php:577 +#: ../../../../lib/SP/Services/Account/AccountHistoryService.php:75 +msgid "No se pudieron obtener los datos de la cuenta" +msgstr "Error while retrieving the account data" + +#: ../../../../lib/SP/Repositories/Account/AccountToFavoriteRepository.php:71 +msgid "Error al añadir favorito" +msgstr "Error while adding favorite" + +#: ../../../../lib/SP/Repositories/Account/AccountToFavoriteRepository.php:91 +msgid "Error al eliminar favorito" +msgstr "Error while deleting favorite" + +#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:94 msgid "Error al eliminar las etiquetas de la cuenta" msgstr "Error while removing the account's tags" -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:100 -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:130 -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:186 +#: ../../../../lib/SP/Repositories/Account/AccountToTagRepository.php:115 +msgid "Error al añadir las etiquetas de la cuenta" +msgstr "Error while adding the account's tags" + +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:106 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:137 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:194 msgid "Error al eliminar grupos asociados a la cuenta" msgstr "Error while deleting the account's groups" -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:156 -#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:212 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:158 +#: ../../../../lib/SP/Repositories/Account/AccountToUserGroupRepository.php:215 msgid "Error al actualizar los grupos secundarios" msgstr "Error while updating the secondary groups" -#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:72 -#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:135 +#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:73 +#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:137 msgid "Error al eliminar usuarios asociados a la cuenta" msgstr "Error while deleting the account users" #: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:96 -#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:159 +#: ../../../../lib/SP/Repositories/Account/AccountToUserRepository.php:160 msgid "Error al actualizar los usuarios de la cuenta" msgstr "Error while updating the account users" -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:203 -#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:283 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:201 +#: ../../../../lib/SP/Repositories/AuthToken/AuthTokenRepository.php:289 msgid "La autorización ya existe" msgstr "The authorization already exist" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:57 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:58 msgid "Categoría duplicada" msgstr "Duplicated category" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:65 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:68 msgid "Error al crear la categoría" msgstr "Error while creating the category" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:105 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:107 msgid "Nombre de categoría duplicado" msgstr "Duplicated category name" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:121 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:125 msgid "Error al actualizar la categoría" msgstr "Error while updating the category" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:228 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:253 msgid "Error al eliminar la categorías" msgstr "Error while deleting the categories" -#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:251 -#: ../../../../lib/SP/Services/Category/CategoryService.php:116 +#: ../../../../lib/SP/Repositories/Category/CategoryRepository.php:275 msgid "Error al eliminar la categoría" msgstr "Error while deleting the category" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:59 -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:113 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:62 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:116 msgid "Cliente duplicado" msgstr "Duplicated client" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:75 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:80 msgid "Error al crear el cliente" msgstr "Error while creating the client" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:131 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:136 msgid "Error al actualizar el cliente" msgstr "Error while updating the client" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:237 -#: ../../../../lib/SP/Services/Client/ClientService.php:105 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:264 +#: ../../../../lib/SP/Services/Client/ClientService.php:127 msgid "Error al eliminar los clientes" msgstr "Error while deleting the clients" -#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:256 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:283 msgid "Error al eliminar el cliente" msgstr "Error while deleting the client" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:71 +#: ../../../../lib/SP/Repositories/Client/ClientRepository.php:344 +msgid "Filtro incorrecto" +msgstr "Wrong filter" + +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:75 msgid "Error al crear el campo personalizado" msgstr "Error while creating the custom field" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:103 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:119 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:165 msgid "Error al actualizar el campo personalizado" msgstr "Error while updating the custom field" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:193 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:160 +msgid "El campo personalizado no existe" +msgstr "Custom field not found" + +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:240 msgid "Error al eliminar los campos personalizados" msgstr "Error while removing the custom fields" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:214 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldDefRepository.php:260 msgid "Error al eliminar el campo personalizado" msgstr "Error while removing the custom field" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:60 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:62 msgid "Error al crear el tipo de campo" msgstr "Error while creating the field type" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:94 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:98 msgid "Error al actualizar el tipo de campo" msgstr "Error while updating the field type" -#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:181 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:135 +msgid "Tipo de campo no encontrado" +msgstr "Field type not found" + +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:187 +#: ../../../../lib/SP/Repositories/CustomField/CustomFieldTypeRepository.php:206 msgid "Error al eliminar el tipo de campo" msgstr "Error while deleting the field type" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:73 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:78 msgid "Error al crear la notificación" msgstr "Error while adding the notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:112 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:410 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:118 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:427 msgid "Error al modificar la notificación" msgstr "Error while updating the notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:132 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:152 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:137 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:156 msgid "Error al eliminar la notificación" msgstr "Error while deleting the notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:172 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:278 -#: ../../../../lib/SP/Services/Notification/NotificationService.php:130 -#: ../../../../lib/SP/Services/Notification/NotificationService.php:148 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:179 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:302 +#: ../../../../lib/SP/Services/Notification/NotificationService.php:139 +#: ../../../../lib/SP/Services/Notification/NotificationService.php:158 msgid "Error al eliminar las notificaciones" msgstr "Error while deleting the notifications" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:204 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:212 msgid "Error al obtener la notificación" msgstr "Error while retrieving notification" -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:231 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:445 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:475 -#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:506 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:242 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:464 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:497 +#: ../../../../lib/SP/Repositories/Notification/NotificationRepository.php:531 msgid "Error al obtener las notificaciones" msgstr "Error while retrieving the notifications" -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:65 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:70 msgid "Error al crear el plugin" msgstr "Error while adding the plugin" -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:97 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:317 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:337 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:357 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:377 -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:395 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:104 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:347 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:367 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:387 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:407 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:426 msgid "Error al actualizar el plugin" msgstr "Error while updating the plugin" -#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:203 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:212 +#: ../../../../lib/SP/Repositories/Plugin/PluginRepository.php:232 msgid "Error al eliminar el plugin" msgstr "Error while deleting the plugin" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:61 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:63 msgid "Error al eliminar enlace" msgstr "Error while removing the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:241 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:254 msgid "Enlace ya creado" msgstr "Link already created" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:266 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:281 msgid "Error al crear enlace" msgstr "Error while creating the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:322 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:367 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:340 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:388 msgid "Error al actualizar enlace" msgstr "Error while updating the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:399 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:423 msgid "Error al renovar enlace" msgstr "Error while renewing link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:443 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:487 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:516 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:465 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:506 +#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:526 msgid "Error al obtener enlace" msgstr "Error while retrieving the link" -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:447 -#: ../../../../lib/SP/Repositories/PublicLink/PublicLinkRepository.php:493 -msgid "El enlace no existe" -msgstr "The link does not exist" - -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:57 -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:102 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:60 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:108 msgid "Etiqueta duplicada" msgstr "Duplicated tag" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:64 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:69 msgid "Error al crear etiqueta" msgstr "Error while creating the tag" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:110 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:118 msgid "Error al actualizar etiqueta" msgstr "Error while updating the tag" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:196 -#: ../../../../lib/SP/Services/Tag/TagService.php:89 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:224 +#: ../../../../lib/SP/Services/Tag/TagService.php:99 msgid "Error al eliminar etiquetas" msgstr "Error while removing the tags" -#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:216 +#: ../../../../lib/SP/Repositories/Tag/TagRepository.php:243 msgid "Error al eliminar etiqueta" msgstr "Error while removing the tag" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:60 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:63 msgid "Error al crear track" msgstr "Error while creating track" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:78 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:80 msgid "Error al eliminar track" msgstr "Error while removing the track" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:109 -msgid "Error al actualizar track" -msgstr "Error while updating the track" - -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:134 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:108 msgid "Error al obtener track" msgstr "Error while retrieving the track" -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:155 -#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:182 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:131 +#: ../../../../lib/SP/Repositories/Track/TrackRepository.php:163 msgid "Error al obtener tracks" msgstr "Error while retrieving the tracks" -#: ../../../../lib/SP/Repositories/User/UserRepository.php:60 -#: ../../../../lib/SP/Repositories/User/UserRepository.php:421 -msgid "Login/email de usuario duplicados" -msgstr "Duplicated user login/email" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:95 -#: ../../../../lib/SP/Repositories/User/UserRepository.php:671 -msgid "Error al actualizar el usuario" -msgstr "Error while updating the user" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:162 -msgid "Error al modificar la clave" -msgstr "Error while updating the password" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:180 -msgid "Error al eliminar el usuario" -msgstr "Error while deleting the user" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:234 -#: ../../../../lib/SP/Repositories/User/UserRepository.php:543 -msgid "Error al obtener los datos del usuario" -msgstr "Error while retrieving the user's data" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:344 -#: ../../../../lib/SP/Services/User/UserService.php:177 -msgid "Error al eliminar los usuarios" -msgstr "Error while deleting the users" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:462 -msgid "Error al crear el usuario" -msgstr "Error while creating the user" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:547 -msgid "El usuario no existe" -msgstr "The user does not exist" - -#: ../../../../lib/SP/Repositories/User/UserRepository.php:691 -msgid "Error al actualizar preferencias" -msgstr "Error while updating the preferences" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:55 -msgid "Grupo en uso" -msgstr "Group in use" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:61 -msgid "Error al eliminar el grupo" -msgstr "Error while deleting the group" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:289 -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:337 -msgid "Nombre de grupo duplicado" -msgstr "Duplicated group name" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:299 -msgid "Error al crear el grupo" -msgstr "Error while creating the group" - -#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:345 -msgid "Error al actualizar el grupo" -msgstr "Error while updating the group" - -#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:104 -msgid "Error al eliminar los usuarios del grupo" -msgstr "Error while deleting the group users" - -#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:133 -msgid "Error al asignar los usuarios al grupo" -msgstr "Error while setting users in the group" - -#: ../../../../lib/SP/Repositories/UserPassRecover/UserPassRecoverRepository.php:89 +#: ../../../../lib/SP/Repositories/User/UserPassRecoverRepository.php:86 msgid "Error al generar el hash de recuperación" msgstr "Error while generating the recovering hash" -#: ../../../../lib/SP/Repositories/UserPassRecover/UserPassRecoverRepository.php:115 +#: ../../../../lib/SP/Repositories/User/UserPassRecoverRepository.php:112 msgid "Error en comprobación de hash" msgstr "Error while checking hash" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:73 -msgid "Perfil en uso" -msgstr "Profile in use" +#: ../../../../lib/SP/Repositories/User/UserRepository.php:64 +#: ../../../../lib/SP/Repositories/User/UserRepository.php:435 +msgid "Login/email de usuario duplicados" +msgstr "Duplicated user login/email" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:101 +#: ../../../../lib/SP/Repositories/User/UserRepository.php:682 +#: ../../../../lib/SP/Services/User/UserService.php:297 +msgid "Error al actualizar el usuario" +msgstr "Error while updating the user" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:166 +msgid "Error al modificar la clave" +msgstr "Error while updating the password" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:185 +msgid "Error al eliminar el usuario" +msgstr "Error while deleting the user" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:236 +#: ../../../../lib/SP/Repositories/User/UserRepository.php:556 +msgid "Error al obtener los datos del usuario" +msgstr "Error while retrieving the user's data" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:241 +#: ../../../../lib/SP/Services/User/UserService.php:160 +msgid "El usuario no existe" +msgstr "The user does not exist" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:361 +#: ../../../../lib/SP/Services/User/UserService.php:196 +msgid "Error al eliminar los usuarios" +msgstr "Error while deleting the users" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:479 +msgid "Error al crear el usuario" +msgstr "Error while creating the user" + +#: ../../../../lib/SP/Repositories/User/UserRepository.php:702 +msgid "Error al actualizar preferencias" +msgstr "Error while updating the preferences" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:62 +msgid "Error al eliminar el grupo" +msgstr "Error while deleting the group" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:305 +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:350 +msgid "Nombre de grupo duplicado" +msgstr "Duplicated group name" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:314 +msgid "Error al crear el grupo" +msgstr "Error while creating the group" + +#: ../../../../lib/SP/Repositories/UserGroup/UserGroupRepository.php:360 +msgid "Error al actualizar el grupo" +msgstr "Error while updating the group" + +#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:108 +msgid "Error al eliminar los usuarios del grupo" +msgstr "Error while deleting the group users" + +#: ../../../../lib/SP/Repositories/UserGroup/UserToUserGroupRepository.php:138 +msgid "Error al asignar los usuarios al grupo" +msgstr "Error while setting users in the group" #: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:79 msgid "Error al eliminar perfil" msgstr "Error while removing the profile" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:171 -#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:105 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:181 +#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:104 msgid "Error al eliminar los perfiles" msgstr "Error while removing the profiles" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:223 -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:268 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:229 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:274 msgid "Nombre de perfil duplicado" msgstr "Duplicated profile name" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:230 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:238 msgid "Error al crear perfil" msgstr "Error while creating the profile" -#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:279 +#: ../../../../lib/SP/Repositories/UserProfile/UserProfileRepository.php:287 msgid "Error al modificar perfil" msgstr "Error while updating the profile" +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:71 #: ../../../../lib/SP/Services/Account/AccountCryptService.php:77 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:94 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:113 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:174 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:180 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:240 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:93 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:101 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:109 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:134 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:138 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:67 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:75 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:83 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:108 msgid "Actualizar Clave Maestra" msgstr "Update Master Password" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:81 -msgid "Error en el módulo de encriptación" -msgstr "Error on the encryption module" +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:89 +msgid "Errores al actualizar las claves de las cuentas" +msgstr "Error while updating the accounts' passwords" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:88 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:217 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:115 msgid "Error al obtener las claves de las cuentas" msgstr "Error while retrieving the accounts' passwords" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:114 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:241 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:139 #, php-format msgid "Cuentas actualizadas: %d / %d" msgstr "Accounts updated: %d / %d" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:124 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:250 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:148 #, php-format msgid "Cuentas actualizadas: %d / %d - %d%% - ETA: %ds (%.2f/s)" msgstr "Updated accounts: %d / %d - %d%% - ETA: %ds (%.2f/s)" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:151 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:284 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:289 -msgid "Fallo al actualizar la clave de la cuenta" -msgstr "Error while updating the account's password" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:156 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:294 -msgid "Cuentas actualizadas" -msgstr "Accounts updated" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:157 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:295 -msgid "Errores" -msgstr "Errors" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:192 -msgid "Errores al actualizar las claves de las cuentas" -msgstr "Error while updating the accounts' passwords" - -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:260 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:158 msgid "La clave maestra del registro no coincide" msgstr "The record's master password does not match" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:312 -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:318 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:183 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:188 +msgid "Fallo al actualizar la clave de la cuenta" +msgstr "Error while updating the account's password" + +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:193 +msgid "Cuentas actualizadas" +msgstr "Accounts updated" + +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:194 +msgid "Errores" +msgstr "Errors" + +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:212 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:218 msgid "Actualizar Clave Maestra (H)" msgstr "Update Master Password (H)" -#: ../../../../lib/SP/Services/Account/AccountCryptService.php:333 +#: ../../../../lib/SP/Services/Account/AccountCryptService.php:233 msgid "Errores al actualizar las claves de las cuentas del histórico" msgstr "Error while updating the accounts' passwords in history" -#: ../../../../lib/SP/Services/Account/AccountFileService.php:131 +#: ../../../../lib/SP/Services/Account/AccountFileService.php:137 msgid "Error al eliminar archivos" msgstr "Error while deleting the files" -#: ../../../../lib/SP/Services/Api/ApiRequest.php:75 -#: ../../../../lib/SP/Services/Api/ApiService.php:316 +#: ../../../../lib/SP/Services/Account/AccountFileService.php:156 +msgid "Archivo no encontrado" +msgstr "File not found" + +#: ../../../../lib/SP/Services/Account/AccountService.php:90 +#: ../../../../lib/SP/Services/Account/AccountService.php:504 +#: ../../../../lib/SP/Services/Account/AccountService.php:559 +msgid "La cuenta no existe" +msgstr "The account doesn't exist" + +#: ../../../../lib/SP/Services/Account/AccountService.php:225 +msgid "Clave maestra no establecida" +msgstr "Master password not set" + +#: ../../../../lib/SP/Services/Api/ApiRequest.php:79 +#: ../../../../lib/SP/Services/Api/ApiRequest.php:113 +#: ../../../../lib/SP/Services/Api/ApiService.php:328 msgid "Datos inválidos" msgstr "Invalid data" -#: ../../../../lib/SP/Services/Api/ApiRequest.php:84 +#: ../../../../lib/SP/Services/Api/ApiRequest.php:88 msgid "Fomato incorrecto" msgstr "Invalid format" -#: ../../../../lib/SP/Services/Api/ApiService.php:85 -#: ../../../../lib/SP/Services/Auth/LoginService.php:147 -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:101 +#: ../../../../lib/SP/Services/Api/ApiService.php:91 +#: ../../../../lib/SP/Services/Auth/LoginService.php:133 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:100 #: ../../../modules/web/Controllers/UserPassResetController.php:125 msgid "Intentos excedidos" msgstr "Attempts exceeded" -#: ../../../../lib/SP/Services/Api/ApiService.php:138 +#: ../../../../lib/SP/Services/Api/ApiService.php:149 msgid "Parámetros incorrectos" msgstr "Wrong parameters" -#: ../../../../lib/SP/Services/Api/ApiService.php:202 +#: ../../../../lib/SP/Services/Api/ApiService.php:214 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:126 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:106 msgid "Cuenta Privada" msgstr "Private Account" -#: ../../../../lib/SP/Services/Api/ApiService.php:203 +#: ../../../../lib/SP/Services/Api/ApiService.php:215 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:139 msgid "Cuenta Privada Grupo" msgstr "Private Account for Group" -#: ../../../../lib/SP/Services/Api/ApiService.php:204 +#: ../../../../lib/SP/Services/Api/ApiService.php:216 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:89 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:104 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:174 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:173 #: ../../../modules/web/themes/material-blue/views/account/details.inc:129 #: ../../../modules/web/themes/material-blue/views/account/details.inc:131 msgid "Fecha Caducidad Clave" msgstr "Password Expiry Date" -#: ../../../../lib/SP/Services/Api/ApiService.php:205 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:229 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:231 +#: ../../../../lib/SP/Services/Api/ApiService.php:217 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:228 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:230 #: ../../../modules/web/themes/material-blue/views/account/viewpass.inc:9 msgid "Cuenta Vinculada" msgstr "Linked Account" -#: ../../../../lib/SP/Services/Api/ApiService.php:238 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:174 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1349 +#: ../../../../lib/SP/Services/Api/ApiService.php:250 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:181 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1377 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:63 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:92 msgid "Global" msgstr "Global" -#: ../../../../lib/SP/Services/Api/ApiService.php:254 +#: ../../../../lib/SP/Services/Api/ApiService.php:266 #: ../../../modules/web/themes/material-blue/views/itemshow/tag.inc:24 msgid "Nombre de la etiqueta" msgstr "Tag name" -#: ../../../../lib/SP/Services/Api/ApiService.php:259 +#: ../../../../lib/SP/Services/Api/ApiService.php:271 msgid "Id de etiqueta" msgstr "Tag Id" -#: ../../../../lib/SP/Services/Auth/LoginService.php:167 -#: ../../../../lib/SP/Services/Auth/LoginService.php:432 -#: ../../../../lib/SP/Services/Auth/LoginService.php:439 -#: ../../../../lib/SP/Services/Auth/LoginService.php:547 +#: ../../../../lib/SP/Services/Auth/LoginService.php:153 +#: ../../../../lib/SP/Services/Auth/LoginService.php:437 +#: ../../../../lib/SP/Services/Auth/LoginService.php:444 #: ../../../../lib/SP/Services/Auth/LoginService.php:552 -#: ../../../../lib/SP/Services/Auth/LoginService.php:588 -#: ../../../../lib/SP/Services/Auth/LoginService.php:593 +#: ../../../../lib/SP/Services/Auth/LoginService.php:557 +#: ../../../../lib/SP/Services/Auth/LoginService.php:594 +#: ../../../../lib/SP/Services/Auth/LoginService.php:599 msgid "Login incorrecto" msgstr "Wrong login" -#: ../../../../lib/SP/Services/Auth/LoginService.php:225 -#: ../../../../lib/SP/Services/Auth/LoginService.php:232 +#: ../../../../lib/SP/Services/Auth/LoginService.php:211 +#: ../../../../lib/SP/Services/Auth/LoginService.php:218 msgid "Usuario deshabilitado" msgstr "User disabled" -#: ../../../../lib/SP/Services/Auth/LoginService.php:277 +#: ../../../../lib/SP/Services/Auth/LoginService.php:263 msgid "Usando clave temporal" msgstr "Using temporary password" -#: ../../../../lib/SP/Services/Auth/LoginService.php:285 -#: ../../../../lib/SP/Services/Auth/LoginService.php:291 -#: ../../../../lib/SP/Services/Auth/LoginService.php:304 -#: ../../../../lib/SP/Services/Auth/LoginService.php:310 +#: ../../../../lib/SP/Services/Auth/LoginService.php:271 +#: ../../../../lib/SP/Services/Auth/LoginService.php:277 +#: ../../../../lib/SP/Services/Auth/LoginService.php:290 +#: ../../../../lib/SP/Services/Auth/LoginService.php:296 msgid "Clave maestra incorrecta" msgstr "Wrong master password" -#: ../../../../lib/SP/Services/Auth/LoginService.php:299 -#: ../../../../lib/SP/Services/Auth/LoginService.php:318 +#: ../../../../lib/SP/Services/Auth/LoginService.php:285 +#: ../../../../lib/SP/Services/Auth/LoginService.php:304 #: ../../../../lib/SP/Services/User/UpdatedMasterPassException.php:45 #: ../../../../lib/SP/Util/ErrorUtil.php:143 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:74 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:151 -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:93 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:67 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:141 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:96 msgid "Clave maestra actualizada" msgstr "Master password updated" -#: ../../../../lib/SP/Services/Auth/LoginService.php:324 +#: ../../../../lib/SP/Services/Auth/LoginService.php:310 msgid "Es necesaria su clave anterior" msgstr "Your previous password is needed" -#: ../../../../lib/SP/Services/Auth/LoginService.php:336 +#: ../../../../lib/SP/Services/Auth/LoginService.php:322 msgid "La clave maestra no ha sido guardada o es incorrecta" msgstr "The Master Password either is not saved or is wrong" -#: ../../../../lib/SP/Services/Auth/LoginService.php:428 -#: ../../../../lib/SP/Services/Auth/LoginService.php:491 +#: ../../../../lib/SP/Services/Auth/LoginService.php:433 +#: ../../../../lib/SP/Services/Auth/LoginService.php:496 msgid "Servidor LDAP" msgstr "LDAP Server" -#: ../../../../lib/SP/Services/Auth/LoginService.php:447 #: ../../../../lib/SP/Services/Auth/LoginService.php:452 +#: ../../../../lib/SP/Services/Auth/LoginService.php:457 msgid "Cuenta expirada" msgstr "Account expired" -#: ../../../../lib/SP/Services/Auth/LoginService.php:460 #: ../../../../lib/SP/Services/Auth/LoginService.php:465 +#: ../../../../lib/SP/Services/Auth/LoginService.php:470 msgid "El usuario no tiene grupos asociados" msgstr "The user has no associated groups" -#: ../../../../lib/SP/Services/Auth/LoginService.php:578 +#: ../../../../lib/SP/Services/Auth/LoginService.php:584 #: ../../../modules/web/themes/material-blue/views/config/general-auth.inc:10 msgid "Autentificación" msgstr "Authentication" -#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:118 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:126 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:257 msgid "Token no encontrado" msgstr "Token not found" -#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:136 +#: ../../../../lib/SP/Services/AuthToken/AuthTokenService.php:145 msgid "Error al eliminar tokens" msgstr "Error while removing the tokens" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:81 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:91 msgid "Realizar Backup" msgstr "Make Backup" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:108 -#: ../../../../lib/SP/Services/Export/XmlExportService.php:191 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:123 #, php-format msgid "No es posible crear el directorio de backups (\"%s\")" msgstr "Unable to create the backups directory (\"%s\")" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:113 -#: ../../../../lib/SP/Services/Export/XmlExportService.php:197 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:128 msgid "Compruebe los permisos del directorio de backups" msgstr "Please, check the backup directory permissions" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:141 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:157 msgid "Copiando base de datos" msgstr "Copying database" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:259 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:284 msgid "Copiando aplicación" msgstr "Copying application" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:265 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:290 msgid "Esta operación sólo es posible en entornos Linux" msgstr "This operation is only available on Linux environments" -#: ../../../../lib/SP/Services/Backup/FileBackupService.php:270 +#: ../../../../lib/SP/Services/Backup/FileBackupService.php:295 msgid "Error al realizar backup en modo compatibilidad" msgstr "Error while doing the backup in compatibility mode" -#: ../../../../lib/SP/Services/Config/ConfigService.php:63 +#: ../../../../lib/SP/Services/Category/CategoryService.php:134 +msgid "Error al eliminar las categorías" +msgstr "Error while deleting categories" + +#: ../../../../lib/SP/Services/Config/ConfigBackupService.php:80 +#: ../../../../lib/SP/Services/Config/ConfigBackupService.php:87 +msgid "No es posible restaurar la configuración" +msgstr "Unable to restore configuration" + +#: ../../../../lib/SP/Services/Config/ConfigService.php:68 +#: ../../../../lib/SP/Services/Config/ConfigService.php:153 #, php-format msgid "Parámetro no encontrado (%s)" msgstr "Parameter not found (%s)" -#: ../../../../lib/SP/Services/Crypt/MasterPassService.php:91 -#: ../../../../lib/SP/Services/Import/ImportService.php:71 -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:71 -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:71 -msgid "No es posible iniciar una transacción" -msgstr "Unable to start a transaction" - -#: ../../../../lib/SP/Services/Crypt/MasterPassService.php:101 -#: ../../../../lib/SP/Services/Import/ImportService.php:77 -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:97 -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:102 -msgid "No es posible finalizar una transacción" -msgstr "Unable to finish a transaction" - -#: ../../../../lib/SP/Services/Crypt/MasterPassService.php:107 -#: ../../../../lib/SP/Services/Import/ImportService.php:85 -msgid "Rollback" -msgstr "Rollback" - -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:83 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:102 msgid "Generar Clave Temporal" msgstr "Generate Temporary Password" -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:90 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:109 msgid "Error al generar clave temporal" msgstr "Error while generating the temporary password" -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:112 -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:155 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:130 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:180 msgid "Clave temporal caducada" msgstr "Temporary password expired" -#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:138 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:159 msgid "Error al comprobar clave temporal" msgstr "Error while checking the temporary password" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:75 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:161 -msgid "Errores al actualizar datos de campos personalizados" -msgstr "Error while updating the custom fields data" +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:212 +#, php-format +msgid "Clave Maestra %s" +msgstr "Master Password %s" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:94 +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:213 +msgid "" +"Se ha generado una nueva clave para el acceso a sysPass y se solicitará en " +"el siguiente inicio." +msgstr "" +"A new sysPass master password has been generated, so the next time you log " +"into the application it will be requested." + +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:215 +#, php-format +msgid "La nueva clave es: %s" +msgstr "The new Master Password is: %s" + +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:217 +#, php-format +msgid "Esta clave estará activa hasta: %s" +msgstr "This password will be valid until: %s" + +#: ../../../../lib/SP/Services/Crypt/TemporaryMasterPassService.php:219 +msgid "No olvide acceder lo antes posible para guardar los cambios." +msgstr "" +"Please, don't forget to log in as soon as possible to save the changes." + +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:68 msgid "No hay datos de campos personalizados" msgstr "There aren't any data from custom fields" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:102 -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:110 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:76 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:84 msgid "Actualizando datos encriptados" msgstr "Updating encrypted data" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:135 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:109 msgid "Registros actualizados" msgstr "Records updated" -#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:136 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:110 msgid "Registros no actualizados" msgstr "Records not updated" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:69 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:88 +#: ../../../../lib/SP/Services/CustomField/CustomFieldCryptService.php:135 +msgid "Errores al actualizar datos de campos personalizados" +msgstr "Error while updating the custom fields data" + +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:75 +#: ../../../modules/web/Controllers/ConfigBackupController.php:124 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:93 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:294 msgid "Categorías" msgstr "Categories" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:70 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:193 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:76 +#: ../../../modules/web/Controllers/ConfigBackupController.php:123 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:200 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:326 msgid "Clientes" msgstr "Clients" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:71 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:581 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:77 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:599 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:13 #: ../../../modules/web/themes/material-blue/views/itemshow/usergroup.inc:46 #: ../../../modules/web/themes/material-blue/views/itemshow/usergroup.inc:48 @@ -1632,14 +1662,14 @@ msgstr "Clients" msgid "Usuarios" msgstr "Users" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:72 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:699 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:78 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:718 #: ../../../modules/web/themes/material-blue/views/account/account-permissions.inc:51 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:262 msgid "Grupos" msgstr "Groups" -#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:108 +#: ../../../../lib/SP/Services/CustomField/CustomFieldDefService.php:109 msgid "Campo no encontrado" msgstr "Field not found" @@ -1647,30 +1677,53 @@ msgstr "Field not found" msgid "Error al eliminar los campos" msgstr "Error while deleting the fields" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:173 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:112 +#: ../../../../lib/SP/Storage/FileCache.php:64 +#: ../../../../lib/SP/Storage/FileCachePacked.php:99 +#, php-format +msgid "No es posible crear el directorio (%s)" +msgstr "Unable to create the directory (%s)" + +#: ../../../../lib/SP/Services/Export/XmlExportService.php:161 msgid "Error al realizar la exportación" msgstr "Error while exporting" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:262 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:229 msgid "Exportando categorías" msgstr "Exporting categories" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:372 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:341 msgid "Exportando clientes" msgstr "Exporting clients" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:418 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:387 msgid "Exportando etiquetas" msgstr "Exporting tags" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:462 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:431 msgid "Exportando cuentas" msgstr "Exporting accounts" -#: ../../../../lib/SP/Services/Export/XmlExportService.php:570 +#: ../../../../lib/SP/Services/Export/XmlExportService.php:538 msgid "Error al crear el archivo XML" msgstr "Error while creating the XML file" +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:104 +#: ../../../../lib/SP/Services/Import/XmlFileImport.php:103 +msgid "No es posible procesar el archivo XML" +msgstr "Unable to process the XML file" + +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:126 +msgid "Fallo en la verificación del hash de integridad" +msgstr "Error while checking integrity hash" + +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:188 +#: ../../../../lib/SP/Services/Export/XmlVerifyService.php:218 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:126 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:148 +msgid "Clave de encriptación incorrecta" +msgstr "Wrong encryption password" + #: ../../../../lib/SP/Services/Import/CsvImport.php:48 #, php-format msgid "Formato detectado: %s" @@ -1688,7 +1741,7 @@ msgstr "Please, check the CSV file format in line %s" #: ../../../../lib/SP/Services/Import/CsvImportBase.php:157 #: ../../../../lib/SP/Services/Import/KeepassImport.php:104 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:367 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:365 msgid "Cuenta importada" msgstr "Account imported" @@ -1720,8 +1773,8 @@ msgstr "Please, check the file extension" #: ../../../../lib/SP/Services/Import/FileImport.php:113 #: ../../../../lib/SP/Services/Import/FileImport.php:155 #: ../../../../lib/SP/Services/Import/FileImport.php:181 -#: ../../../modules/web/Controllers/AccountFileController.php:180 -#: ../../../modules/web/Controllers/AccountFileController.php:193 +#: ../../../modules/web/Controllers/AccountFileController.php:188 +#: ../../../modules/web/Controllers/AccountFileController.php:209 msgid "Error interno al leer el archivo" msgstr "Internal error while reading the file" @@ -1734,12 +1787,30 @@ msgstr "Please, check PHP configuration for upload files" msgid "Compruebe los permisos del directorio temporal" msgstr "Please, check the temporary directory permissions" -#: ../../../../lib/SP/Services/Import/ImportService.php:114 +#: ../../../../lib/SP/Services/Import/ImportService.php:70 +#: ../../../../lib/SP/Services/Service.php:118 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:70 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:70 +msgid "No es posible iniciar una transacción" +msgstr "Unable to start a transaction" + +#: ../../../../lib/SP/Services/Import/ImportService.php:76 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:96 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:101 +msgid "No es posible finalizar una transacción" +msgstr "Unable to finish a transaction" + +#: ../../../../lib/SP/Services/Import/ImportService.php:84 +#: ../../../../lib/SP/Services/Service.php:112 +msgid "Rollback" +msgstr "Rollback" + +#: ../../../../lib/SP/Services/Import/ImportService.php:113 #, php-format msgid "Tipo mime no soportado (\"%s\")" msgstr "Mime type not supported (\"%s\")" -#: ../../../../lib/SP/Services/Import/ImportService.php:116 +#: ../../../../lib/SP/Services/Import/ImportService.php:115 msgid "Compruebe el formato del archivo" msgstr "Please, check the file format" @@ -1757,34 +1828,29 @@ msgid "Importación XML KeePass" msgstr "KeePass XML Import" #: ../../../../lib/SP/Services/Import/KeepassImport.php:85 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:199 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:197 msgid "Categoría importada" msgstr "Category imported" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:58 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:88 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:57 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:87 msgid "Importación XML sysPass" msgstr "sysPass XML Import" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:69 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:68 msgid "Clave de encriptación no indicada" msgstr "Encryption password not set" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:127 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:150 -msgid "Clave de encriptación incorrecta" -msgstr "Wrong encryption password" - -#: ../../../../lib/SP/Services/Import/SyspassImport.php:166 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:164 msgid "Datos desencriptados" msgstr "Data unencrypted" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:236 -#: ../../../../lib/SP/Services/Import/SyspassImport.php:274 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:234 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:272 msgid "Cliente importado" msgstr "Client imported" -#: ../../../../lib/SP/Services/Import/SyspassImport.php:308 +#: ../../../../lib/SP/Services/Import/SyspassImport.php:306 msgid "Etiqueta importada" msgstr "Tag imported" @@ -1796,10 +1862,6 @@ msgstr "XML file not supported" msgid "No es posible detectar la aplicación que exportó los datos" msgstr "Unable to detect the application the data was exported from" -#: ../../../../lib/SP/Services/Import/XmlFileImport.php:103 -msgid "No es posible procesar el archivo XML" -msgstr "Unable to process the XML file" - #: ../../../../lib/SP/Services/Import/XmlImport.php:100 msgid "Formato no detectado" msgstr "Format not detected" @@ -1808,18 +1870,18 @@ msgstr "Format not detected" msgid "Not implemented" msgstr "Not implemented" -#: ../../../../lib/SP/Services/Import/XmlImportBase.php:94 +#: ../../../../lib/SP/Services/Import/XmlImportBase.php:102 #: ../../../../lib/SP/Services/Import/XmlImportTrait.php:67 msgid "Formato de XML inválido" msgstr "Invalid XML format" -#: ../../../../lib/SP/Services/Import/XmlImportBase.php:96 +#: ../../../../lib/SP/Services/Import/XmlImportBase.php:104 #: ../../../../lib/SP/Services/Import/XmlImportTrait.php:69 #, php-format msgid "El nodo \"%s\" no existe" msgstr "The \"%s\" node doesn't exist" -#: ../../../../lib/SP/Services/Import/XmlImportBase.php:101 +#: ../../../../lib/SP/Services/Import/XmlImportBase.php:109 #: ../../../../lib/SP/Services/Import/XmlImportTrait.php:77 msgid "Método inválido" msgstr "Invalid Method" @@ -1902,16 +1964,16 @@ msgid "Informe al desarrollador" msgstr "Warn to developer" #: ../../../../lib/SP/Services/Install/MySQL.php:96 -#: ../../../../lib/SP/Storage/MySQLHandler.php:92 -#: ../../../../lib/SP/Storage/MySQLHandler.php:111 -#: ../../../../lib/SP/Storage/MySQLHandler.php:162 -#: ../../../../lib/SP/Storage/MySQLHandler.php:174 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:96 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:116 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:167 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:179 msgid "No es posible conectar con la BD" msgstr "Unable to connect to the DB" #: ../../../../lib/SP/Services/Install/MySQL.php:98 -#: ../../../../lib/SP/Storage/MySQLHandler.php:94 -#: ../../../../lib/SP/Storage/MySQLHandler.php:164 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:98 +#: ../../../../lib/SP/Storage/Database/MySQLHandler.php:169 msgid "Compruebe los datos de conexión" msgstr "Please, check the connection parameters" @@ -2003,11 +2065,11 @@ msgstr "Objects found" msgid "Importado desde LDAP" msgstr "Imported from LDAP" -#: ../../../../lib/SP/Services/MailService.php:67 +#: ../../../../lib/SP/Services/MailService.php:68 msgid "Prueba de correo" msgstr "Mail test" -#: ../../../../lib/SP/Services/MailService.php:68 +#: ../../../../lib/SP/Services/MailService.php:69 msgid "" "Esto es una prueba de correo para verificar el correcto funcionamiento de la " "configuración." @@ -2015,40 +2077,55 @@ msgstr "" "This is a test email in order to verify that the configuration is working " "right." -#: ../../../../lib/SP/Services/MailService.php:82 -#: ../../../../lib/SP/Services/MailService.php:150 +#: ../../../../lib/SP/Services/MailService.php:83 +#: ../../../../lib/SP/Services/MailService.php:153 msgid "Error al enviar correo" msgstr "Error while sending the email" -#: ../../../../lib/SP/Services/MailService.php:140 -#: ../../../modules/web/Controllers/ConfigMailController.php:139 -#: ../../../modules/web/Controllers/ConfigMailController.php:145 +#: ../../../../lib/SP/Services/MailService.php:143 +#: ../../../modules/web/Controllers/ConfigMailController.php:138 +#: ../../../modules/web/Controllers/ConfigMailController.php:144 msgid "Correo enviado" msgstr "Email sent" -#: ../../../../lib/SP/Services/MailService.php:141 -#: ../../../modules/web/Controllers/ConfigMailController.php:140 +#: ../../../../lib/SP/Services/MailService.php:144 +#: ../../../modules/web/Controllers/ConfigMailController.php:139 msgid "Destinatario" msgstr "Recipient" -#: ../../../../lib/SP/Services/Notification/NotificationService.php:94 -#: ../../../../lib/SP/Services/Notification/NotificationService.php:112 +#: ../../../../lib/SP/Services/MailService.php:188 +msgid "Servicio de correo no disponible" +msgstr "Mail service unavailable" + +#: ../../../../lib/SP/Services/Notification/NotificationService.php:101 +#: ../../../../lib/SP/Services/Notification/NotificationService.php:120 msgid "Notificación no encontrada" msgstr "Notification not found" -#: ../../../../lib/SP/Services/Plugin/PluginService.php:129 +#: ../../../../lib/SP/Services/Plugin/PluginService.php:143 msgid "Plugin no encontrado" msgstr "Plugin not found" -#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:197 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:132 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:350 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:371 +msgid "El enlace no existe" +msgstr "The link does not exist" + +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:217 msgid "Enlace no encontrado" msgstr "Link not found" -#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:215 +#: ../../../../lib/SP/Services/PublicLink/PublicLinkService.php:236 msgid "Error al eliminar los enlaces" msgstr "Error while removing the links" -#: ../../../../lib/SP/Services/Tag/TagService.php:75 +#: ../../../../lib/SP/Services/Service.php:136 +#: ../../../../lib/SP/Services/Service.php:143 +msgid "Error ol obtener la clave maestra del contexto" +msgstr "Error while retrieving master pass from context" + +#: ../../../../lib/SP/Services/Tag/TagService.php:84 msgid "Etiqueta no encontrada" msgstr "Tag not found" @@ -2060,12 +2137,12 @@ msgstr "Unable to create the lock file" msgid "Esperando actualización de progreso ..." msgstr "Waiting for progress updating ..." -#: ../../../../lib/SP/Services/Track/TrackService.php:139 +#: ../../../../lib/SP/Services/Track/TrackService.php:128 #, php-format msgid "Intentos excedidos (%d/%d)" msgstr "Attempts exceeded (%d/%d)" -#: ../../../../lib/SP/Services/Track/TrackService.php:140 +#: ../../../../lib/SP/Services/Track/TrackService.php:129 msgid "Segundos" msgstr "Seconds" @@ -2079,8 +2156,8 @@ msgid "Error al aplicar la actualización de la aplicación" msgstr "Error while applying the application update" #: ../../../../lib/SP/Services/Upgrade/UpgradeAppService.php:69 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:88 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:96 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:89 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:97 msgid "Compruebe el registro de eventos para más detalles" msgstr "Please, check the event log for more details" @@ -2100,134 +2177,136 @@ msgid "Error al actualizar la configuración" msgstr "Error while updating the configuration" #: ../../../../lib/SP/Services/Upgrade/UpgradeConfigService.php:120 -#: ../../../modules/web/Controllers/AccountFileController.php:82 -#: ../../../modules/web/Controllers/AccountFileController.php:95 -#: ../../../modules/web/Controllers/AccountFileController.php:133 -#: ../../../modules/web/Controllers/AccountFileController.php:202 -#: ../../../modules/web/Controllers/AccountFileController.php:288 +#: ../../../modules/web/Controllers/AccountFileController.php:81 +#: ../../../modules/web/Controllers/AccountFileController.php:94 +#: ../../../modules/web/Controllers/AccountFileController.php:132 +#: ../../../modules/web/Controllers/AccountFileController.php:222 +#: ../../../modules/web/Controllers/AccountFileController.php:315 #: ../../../modules/web/themes/material-blue/views/config/import.inc:70 msgid "Archivo" msgstr "File" -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:60 -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:109 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:59 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:108 msgid "Actualización de campos personalizados" msgstr "Custom fields update" -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:91 -#: ../../../modules/web/Controllers/CustomFieldController.php:266 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:90 #: ../../../modules/web/Controllers/CustomFieldController.php:270 +#: ../../../modules/web/Controllers/CustomFieldController.php:274 msgid "Campo actualizado" msgstr "Field updated" -#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:92 -#: ../../../modules/web/Controllers/CustomFieldController.php:232 -#: ../../../modules/web/Controllers/CustomFieldController.php:267 +#: ../../../../lib/SP/Services/Upgrade/UpgradeCustomFieldDefinition.php:91 +#: ../../../modules/web/Controllers/CustomFieldController.php:236 +#: ../../../modules/web/Controllers/CustomFieldController.php:271 msgid "Campo" msgstr "Field" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:79 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:122 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:80 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:123 msgid "Actualizar BBDD" msgstr "Update DB" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:86 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:87 msgid "Error al aplicar la actualización auxiliar" msgstr "Error while applying an auxiliary update" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:94 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:177 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:95 #: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:181 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:185 msgid "Error al aplicar la actualización de la Base de Datos" msgstr "Error while updating the database" -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:151 -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:155 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:154 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:158 msgid "No es necesario actualizar la Base de Datos." msgstr "Database update not needed." -#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:187 +#: ../../../../lib/SP/Services/Upgrade/UpgradeDatabaseService.php:191 msgid "Actualización de la Base de Datos realizada correctamente." msgstr "Database updating was completed successfully." -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:60 -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:114 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:59 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:113 msgid "Actualización de enlaces públicos" msgstr "Public links update" -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:96 -#: ../../../modules/web/Controllers/PublicLinkController.php:170 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:95 +#: ../../../modules/web/Controllers/PublicLinkController.php:172 msgid "Enlace actualizado" msgstr "Link updated" -#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:97 -#: ../../../modules/web/Controllers/PublicLinkController.php:240 +#: ../../../../lib/SP/Services/Upgrade/UpgradePublicLink.php:96 +#: ../../../modules/web/Controllers/PublicLinkController.php:244 msgid "Enlace" msgstr "Link" #: ../../../../lib/SP/Services/User/UpdatedMasterPassException.php:45 #: ../../../../lib/SP/Util/ErrorUtil.php:144 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:74 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:151 -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:93 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:67 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:141 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:96 msgid "Reinicie la sesión para cambiarla" msgstr "Please, restart the session for update it" -#: ../../../../lib/SP/Services/User/UserService.php:161 +#: ../../../../lib/SP/Services/User/UserService.php:179 msgid "Usuario no encontrado" msgstr "User not found" -#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:80 +#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:87 msgid "Grupo no encontrado" msgstr "Group not found" -#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:96 +#: ../../../../lib/SP/Services/UserGroup/UserGroupService.php:104 msgid "Error al eliminar los grupos" msgstr "Error while deleting the groups" -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:65 -#: ../../../modules/web/Controllers/UserController.php:220 -#: ../../../modules/web/Controllers/UserController.php:334 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:64 +#: ../../../modules/web/Controllers/UserController.php:225 +#: ../../../modules/web/Controllers/UserController.php:344 #: ../../../modules/web/Controllers/UserPassResetController.php:106 -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:231 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:232 msgid "Cambio de Clave" msgstr "Password Change" -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:66 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:65 msgid "Se ha solicitado el cambio de su clave de usuario." msgstr "A request for changing your user password has been done." -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:68 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:67 msgid "Para completar el proceso es necesario que acceda a la siguiente URL:" msgstr "In order to complete the process, please go to this URL:" -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:72 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:71 msgid "Si no ha solicitado esta acción, ignore este mensaje." msgstr "If you have not requested this action, please dismiss this message." -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:86 -#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:148 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:85 +#: ../../../../lib/SP/Services/UserPassRecover/UserPassRecoverService.php:150 msgid "Hash inválido o expirado" msgstr "Wrong hash or expired" -#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:89 +#: ../../../../lib/SP/Services/UserProfile/UserProfileService.php:87 msgid "Perfil no encontrado" msgstr "Profile not found" -#: ../../../../lib/SP/Storage/DbWrapper.php:148 +#: ../../../../lib/SP/Storage/Database/Database.php:131 +msgid "Consulta en blanco" +msgstr "Blank query" + +#: ../../../../lib/SP/Storage/Database/Database.php:273 +msgid "Restricción de integridad" +msgstr "Integrity constraint" + +#: ../../../../lib/SP/Storage/Database/QueryData.php:354 #: ../../../config/strings.js.inc:26 msgid "Error en la consulta" msgstr "Error while querying" -#: ../../../../lib/SP/Storage/DbWrapper.php:154 -msgid "Consulta en blanco" -msgstr "Blank query" - -#: ../../../../lib/SP/Storage/DbWrapper.php:169 -msgid "Restricción de integridad" -msgstr "Integrity constraint" - #: ../../../../lib/SP/Storage/FileCache.php:43 +#: ../../../../lib/SP/Storage/FileHandler.php:167 +#: ../../../../lib/SP/Storage/FileHandler.php:206 #, php-format msgid "No es posible leer el archivo (%s)" msgstr "Unable to read/write the file (%s)" @@ -2238,21 +2317,15 @@ msgstr "Unable to read/write the file (%s)" msgid "Error al leer datos del archivo (%s)" msgstr "Error while reading file data (%s)" -#: ../../../../lib/SP/Storage/FileCache.php:64 -#: ../../../../lib/SP/Storage/FileCachePacked.php:99 -#, php-format -msgid "No es posible crear el directorio (%s)" -msgstr "Unable to create the directory (%s)" - #: ../../../../lib/SP/Storage/FileCache.php:68 #: ../../../../lib/SP/Storage/FileCache.php:72 -#: ../../../../lib/SP/Storage/FileHandler.php:63 +#: ../../../../lib/SP/Storage/FileHandler.php:68 #, php-format msgid "No es posible escribir en el archivo (%s)" msgstr "Unable to read/write the file (%s)" #: ../../../../lib/SP/Storage/FileCache.php:87 -#: ../../../../lib/SP/Storage/FileHandler.php:77 +#: ../../../../lib/SP/Storage/FileHandler.php:84 #, php-format msgid "No es posible abrir el archivo (%s)" msgstr "Unable to open the file (%s)" @@ -2293,17 +2366,36 @@ msgstr "Error while writing data to file (%s)" msgid "Datos no cargados" msgstr "Data not loaded" -#: ../../../../lib/SP/Storage/FileHandler.php:89 +#: ../../../../lib/SP/Storage/FileHandler.php:99 +#, php-format +msgid "No es posible leer desde el archivo (%s)" +msgstr "Unable to read from file (%s)" + +#: ../../../../lib/SP/Storage/FileHandler.php:137 #, php-format msgid "No es posible cerrar el archivo (%s)" msgstr "Unable to close the file (%s)" -#: ../../../../lib/SP/Storage/XmlHandler.php:98 +#: ../../../../lib/SP/Storage/FileHandler.php:152 #, php-format -msgid "No es posible leer/escribir el archivo: %s" -msgstr "Unable to read/write the file: %s" +msgid "No es posible escribir el archivo (%s)" +msgstr "Unable to write in file (%s)" -#: ../../../../lib/SP/Storage/XmlHandler.php:165 +#: ../../../../lib/SP/Storage/FileHandler.php:182 +#, php-format +msgid "Archivo no encontrado (%s)" +msgstr "File not found (%s)" + +#: ../../../../lib/SP/Storage/FileHandler.php:233 +#, php-format +msgid "No es posible eliminar el archivo (%s)" +msgstr "Unable to delete file (%s)" + +#: ../../../../lib/SP/Storage/XmlHandler.php:88 +msgid "El nodo XML no existe" +msgstr "The XML node does not exist" + +#: ../../../../lib/SP/Storage/XmlHandler.php:163 msgid "No hay elementos para guardar" msgstr "There aren't any items to save" @@ -2328,11 +2420,22 @@ msgstr "You don't have permission to do this operation" msgid "Se ha producido una excepción" msgstr "An exception occured" +#: ../../../../lib/SP/Util/ImageUtil.php:49 +#: ../../../../lib/SP/Util/ImageUtil.php:100 +#: ../../../../lib/SP/Util/Util.php:180 ../../../../lib/SP/Util/Util.php:182 +#, php-format +msgid "Extensión '%s' no cargada" +msgstr "Extension '%s' not loaded" + +#: ../../../../lib/SP/Util/ImageUtil.php:106 +msgid "Imagen no válida" +msgstr "Invalid image" + #: ../../../../lib/SP/Util/Json.php:83 msgid "Error de codificación" msgstr "Encoding error" -#: ../../../../lib/SP/Util/Util.php:240 +#: ../../../../lib/SP/Util/Util.php:243 msgid "Respuesta" msgstr "Response" @@ -2360,20 +2463,23 @@ msgstr "Account displayed" #: ../../../modules/api/Controllers/ClientController.php:115 #: ../../../modules/api/Controllers/ClientController.php:143 #: ../../../modules/web/Controllers/AccountController.php:223 -#: ../../../modules/web/Controllers/AccountController.php:682 -#: ../../../modules/web/Controllers/AccountController.php:727 -#: ../../../modules/web/Controllers/AccountController.php:768 -#: ../../../modules/web/Controllers/AccountController.php:807 -#: ../../../modules/web/Controllers/AccountController.php:856 -#: ../../../modules/web/Controllers/AccountController.php:891 -#: ../../../modules/web/Controllers/ClientController.php:210 -#: ../../../modules/web/Controllers/ClientController.php:243 -#: ../../../modules/web/Controllers/ClientController.php:277 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:213 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:341 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:426 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:482 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:951 +#: ../../../modules/web/Controllers/AccountController.php:690 +#: ../../../modules/web/Controllers/AccountController.php:736 +#: ../../../modules/web/Controllers/AccountController.php:778 +#: ../../../modules/web/Controllers/AccountController.php:818 +#: ../../../modules/web/Controllers/AccountController.php:868 +#: ../../../modules/web/Controllers/AccountController.php:904 +#: ../../../modules/web/Controllers/AccountFileController.php:224 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:106 +#: ../../../modules/web/Controllers/AccountManagerController.php:111 +#: ../../../modules/web/Controllers/ClientController.php:213 +#: ../../../modules/web/Controllers/ClientController.php:246 +#: ../../../modules/web/Controllers/ClientController.php:280 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:214 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:350 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:438 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:497 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:975 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:33 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:39 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:47 @@ -2382,69 +2488,71 @@ msgstr "Account displayed" #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:33 #: ../../../modules/web/themes/material-blue/views/account/account-request.inc:29 #: ../../../modules/web/themes/material-blue/views/account/account-request.inc:35 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:73 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:75 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:72 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:74 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:21 msgid "Cliente" msgstr "Client" #: ../../../modules/api/Controllers/AccountController.php:94 -#: ../../../modules/web/Controllers/AccountController.php:547 -#: ../../../modules/web/Controllers/AccountController.php:582 +#: ../../../modules/web/Controllers/AccountController.php:553 +#: ../../../modules/web/Controllers/AccountController.php:588 msgid "Clave visualizada" msgstr "Password viewed" #: ../../../modules/api/Controllers/CategoryController.php:87 #: ../../../modules/api/Controllers/CategoryController.php:116 #: ../../../modules/api/Controllers/CategoryController.php:144 -#: ../../../modules/web/Controllers/CategoryController.php:209 -#: ../../../modules/web/Controllers/CategoryController.php:247 -#: ../../../modules/web/Controllers/CategoryController.php:288 -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:227 +#: ../../../modules/web/Controllers/CategoryController.php:214 +#: ../../../modules/web/Controllers/CategoryController.php:252 +#: ../../../modules/web/Controllers/CategoryController.php:294 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:228 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:439 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:498 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:62 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:64 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:38 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:44 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:97 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:99 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:96 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:98 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:57 msgid "Categoría" msgstr "Category" #: ../../../modules/api/Controllers/CategoryController.php:115 #: ../../../modules/api/Controllers/CategoryController.php:119 -#: ../../../modules/web/Controllers/CategoryController.php:287 -#: ../../../modules/web/Controllers/CategoryController.php:291 +#: ../../../modules/web/Controllers/CategoryController.php:293 +#: ../../../modules/web/Controllers/CategoryController.php:297 msgid "Categoría actualizada" msgstr "Category updated" #: ../../../modules/api/Controllers/ClientController.php:114 #: ../../../modules/api/Controllers/ClientController.php:118 -#: ../../../modules/web/Controllers/ClientController.php:276 -#: ../../../modules/web/Controllers/ClientController.php:280 +#: ../../../modules/web/Controllers/ClientController.php:279 +#: ../../../modules/web/Controllers/ClientController.php:283 msgid "Cliente actualizado" msgstr "Client updated" -#: ../../../modules/api/Controllers/ConfigController.php:56 +#: ../../../modules/api/Controllers/ConfigController.php:57 #: ../../../modules/web/Controllers/ConfigBackupController.php:65 msgid "Copia de la aplicación y base de datos realizada correctamente" msgstr "Application and database backup completed successfully" -#: ../../../modules/api/Controllers/ConfigController.php:82 +#: ../../../modules/api/Controllers/ConfigController.php:83 #: ../../../modules/web/Controllers/ConfigBackupController.php:94 msgid "Exportación de sysPass en XML" msgstr "sysPass XML export" -#: ../../../modules/api/Controllers/ConfigController.php:90 -#: ../../../modules/api/Controllers/ConfigController.php:93 +#: ../../../modules/api/Controllers/ConfigController.php:91 +#: ../../../modules/api/Controllers/ConfigController.php:94 #: ../../../modules/web/Controllers/ConfigBackupController.php:104 -#: ../../../modules/web/Controllers/ConfigBackupController.php:107 +#: ../../../modules/web/Controllers/ConfigBackupController.php:129 msgid "Proceso de exportación finalizado" msgstr "Export process finished" #: ../../../modules/api/Controllers/TagController.php:81 #: ../../../modules/api/Controllers/TagController.php:85 -#: ../../../modules/web/Controllers/TagController.php:226 +#: ../../../modules/web/Controllers/TagController.php:228 msgid "Etiqueta creada" msgstr "Tag added" @@ -2456,13 +2564,13 @@ msgstr "Tag" #: ../../../modules/api/Controllers/TagController.php:109 #: ../../../modules/api/Controllers/TagController.php:113 -#: ../../../modules/web/Controllers/TagController.php:255 +#: ../../../modules/web/Controllers/TagController.php:257 msgid "Etiqueta actualizada" msgstr "Tag updated" #: ../../../modules/api/Controllers/TagController.php:137 #: ../../../modules/api/Controllers/TagController.php:141 -#: ../../../modules/web/Controllers/TagController.php:200 +#: ../../../modules/web/Controllers/TagController.php:202 msgid "Etiqueta eliminada" msgstr "Tag removed" @@ -2470,9 +2578,9 @@ msgstr "Tag removed" msgid "Es necesario actualizar" msgstr "Updating needed" -#: ../../../modules/web/Controllers/AccountController.php:149 +#: ../../../modules/web/Controllers/AccountController.php:148 #: ../../../modules/web/Controllers/AccountController.php:203 -#: ../../../modules/web/Controllers/AccountController.php:469 +#: ../../../modules/web/Controllers/AccountController.php:474 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:60 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:61 #: ../../../modules/web/themes/material-blue/views/account/linkedAccounts.inc:26 @@ -2494,14 +2602,14 @@ msgstr "HTTPS" #. (itstool) path: action/text #: ../../../modules/web/Controllers/AccountController.php:254 -#: ../../../modules/web/Controllers/AccountController.php:297 -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:255 +#: ../../../modules/web/Controllers/AccountController.php:298 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:274 #: ../../../config/actions.xml:151 msgid "Nueva Cuenta" msgstr "New Account" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/AccountController.php:340 +#: ../../../modules/web/Controllers/AccountController.php:342 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:175 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:176 #: ../../../modules/web/themes/material-blue/views/account/linkedAccounts.inc:18 @@ -2509,56 +2617,60 @@ msgstr "New Account" msgid "Editar Cuenta" msgstr "Edit Account" -#: ../../../modules/web/Controllers/AccountController.php:426 +#: ../../../modules/web/Controllers/AccountController.php:430 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:154 #: ../../../modules/web/Controllers/Helpers/Account/AccountActionsHelper.php:155 msgid "Modificar Clave de Cuenta" msgstr "Edit Account Password" -#: ../../../modules/web/Controllers/AccountController.php:616 -#: ../../../modules/web/Controllers/AccountController.php:645 +#: ../../../modules/web/Controllers/AccountController.php:623 +#: ../../../modules/web/Controllers/AccountController.php:653 msgid "Clave copiada" msgstr "Password copied" -#: ../../../modules/web/Controllers/AccountController.php:725 -#: ../../../modules/web/Controllers/AccountController.php:736 +#: ../../../modules/web/Controllers/AccountController.php:734 +#: ../../../modules/web/Controllers/AccountController.php:745 msgid "Cuenta actualizada" msgstr "Account updated" -#: ../../../modules/web/Controllers/AccountController.php:766 -#: ../../../modules/web/Controllers/AccountController.php:777 -#: ../../../modules/web/Controllers/UserController.php:407 +#: ../../../modules/web/Controllers/AccountController.php:776 +#: ../../../modules/web/Controllers/AccountController.php:787 #: ../../../modules/web/Controllers/UserController.php:411 +#: ../../../modules/web/Controllers/UserController.php:415 #: ../../../modules/web/Controllers/UserPassResetController.php:187 #: ../../../modules/web/Controllers/UserPassResetController.php:191 msgid "Clave actualizada" msgstr "Password updated" -#: ../../../modules/web/Controllers/AccountController.php:805 #: ../../../modules/web/Controllers/AccountController.php:816 +#: ../../../modules/web/Controllers/AccountController.php:827 msgid "Cuenta restaurada" msgstr "Account restored" -#: ../../../modules/web/Controllers/AccountController.php:841 -#: ../../../modules/web/Controllers/AccountController.php:844 +#: ../../../modules/web/Controllers/AccountController.php:853 +#: ../../../modules/web/Controllers/AccountController.php:856 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:93 +#: ../../../modules/web/Controllers/AccountHistoryManagerController.php:96 +#: ../../../modules/web/Controllers/AccountManagerController.php:96 +#: ../../../modules/web/Controllers/AccountManagerController.php:99 msgid "Cuentas eliminadas" msgstr "Accounts removed" -#: ../../../modules/web/Controllers/AccountController.php:881 -#: ../../../modules/web/Forms/NotificationForm.php:100 +#: ../../../modules/web/Controllers/AccountController.php:894 +#: ../../../modules/web/Forms/NotificationForm.php:99 msgid "Es necesaria una descripción" msgstr "A description is needed" -#: ../../../modules/web/Controllers/AccountController.php:889 +#: ../../../modules/web/Controllers/AccountController.php:902 msgid "Solicitante" msgstr "Requester" -#: ../../../modules/web/Controllers/AccountController.php:892 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:72 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:173 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:683 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1228 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1334 +#: ../../../modules/web/Controllers/AccountController.php:905 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:77 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:180 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:702 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1255 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1362 #: ../../../modules/web/themes/material-blue/views/itemshow/category.inc:29 #: ../../../modules/web/themes/material-blue/views/itemshow/client.inc:33 #: ../../../modules/web/themes/material-blue/views/itemshow/usergroup.inc:33 @@ -2567,7 +2679,7 @@ msgstr "Requester" msgid "Descripción" msgstr "Description" -#: ../../../modules/web/Controllers/AccountController.php:905 +#: ../../../modules/web/Controllers/AccountController.php:918 msgid "Solicitud realizada" msgstr "Request done" @@ -2579,526 +2691,533 @@ msgstr "Favorite added" msgid "Favorito eliminado" msgstr "Favorite deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:68 -#: ../../../modules/web/Controllers/AccountFileController.php:118 +#: ../../../modules/web/Controllers/AccountFileController.php:67 +#: ../../../modules/web/Controllers/AccountFileController.php:117 msgid "El archivo no existe" msgstr "The file does not exist" -#: ../../../modules/web/Controllers/AccountFileController.php:81 -#: ../../../modules/web/Controllers/AccountFileController.php:94 +#: ../../../modules/web/Controllers/AccountFileController.php:80 +#: ../../../modules/web/Controllers/AccountFileController.php:93 msgid "Archivo visualizado" msgstr "File viewed" -#: ../../../modules/web/Controllers/AccountFileController.php:106 +#: ../../../modules/web/Controllers/AccountFileController.php:105 #: ../../../config/strings.js.inc:40 msgid "Archivo no soportado para visualizar" msgstr "File not supported for preview" -#: ../../../modules/web/Controllers/AccountFileController.php:132 +#: ../../../modules/web/Controllers/AccountFileController.php:131 msgid "Archivo descargado" msgstr "File downloaded" -#: ../../../modules/web/Controllers/AccountFileController.php:153 +#: ../../../modules/web/Controllers/AccountFileController.php:152 msgid "CONSULTA INVÁLIDA" msgstr "INVALID QUERY" -#: ../../../modules/web/Controllers/AccountFileController.php:159 +#: ../../../modules/web/Controllers/AccountFileController.php:158 msgid "No hay extensiones permitidas" msgstr "There aren't any allowed extensions" -#: ../../../modules/web/Controllers/AccountFileController.php:173 +#: ../../../modules/web/Controllers/AccountFileController.php:175 #, php-format msgid "Extensión: %s" msgstr "Extension: %s" -#: ../../../modules/web/Controllers/AccountFileController.php:176 +#: ../../../modules/web/Controllers/AccountFileController.php:180 msgid "Archivo inválido" msgstr "Invalid file" -#: ../../../modules/web/Controllers/AccountFileController.php:176 +#: ../../../modules/web/Controllers/AccountFileController.php:182 #, php-format msgid "Archivo: %s" msgstr "File: %s" -#: ../../../modules/web/Controllers/AccountFileController.php:180 +#: ../../../modules/web/Controllers/AccountFileController.php:190 #, php-format msgid "Máximo tamaño: %s" msgstr "Maximum size: %s" -#: ../../../modules/web/Controllers/AccountFileController.php:186 +#: ../../../modules/web/Controllers/AccountFileController.php:198 msgid "Tamaño de archivo superado" msgstr "File size exceeded" -#: ../../../modules/web/Controllers/AccountFileController.php:186 +#: ../../../modules/web/Controllers/AccountFileController.php:200 #, php-format msgid "Máximo tamaño: %d KB" msgstr "Maximum size: %d KB" -#: ../../../modules/web/Controllers/AccountFileController.php:201 -#: ../../../modules/web/Controllers/AccountFileController.php:205 +#: ../../../modules/web/Controllers/AccountFileController.php:221 +#: ../../../modules/web/Controllers/AccountFileController.php:230 msgid "Archivo guardado" msgstr "File saved" -#: ../../../modules/web/Controllers/AccountFileController.php:280 -#: ../../../modules/web/Controllers/AccountFileController.php:283 +#: ../../../modules/web/Controllers/AccountFileController.php:226 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:353 +msgid "Tamaño" +msgstr "Size" + +#: ../../../modules/web/Controllers/AccountFileController.php:307 +#: ../../../modules/web/Controllers/AccountFileController.php:310 msgid "Archivos eliminados" msgstr "Files deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:287 +#: ../../../modules/web/Controllers/AccountFileController.php:314 msgid "Archivo eliminado" msgstr "File deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:293 +#: ../../../modules/web/Controllers/AccountFileController.php:320 msgid "Archivo Eliminado" msgstr "File Deleted" -#: ../../../modules/web/Controllers/AccountFileController.php:329 +#: ../../../modules/web/Controllers/AccountFileController.php:357 msgid "Gestión de archivos deshabilitada" msgstr "Files management disabled" #: ../../../modules/web/Controllers/AuthTokenController.php:102 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:896 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:897 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:919 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:920 msgid "Nueva Autorización" msgstr "New Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:162 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:919 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:920 +#: ../../../modules/web/Controllers/AuthTokenController.php:165 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:942 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:943 msgid "Editar Autorización" msgstr "Edit Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:201 -#: ../../../modules/web/Controllers/AuthTokenController.php:204 +#: ../../../modules/web/Controllers/AuthTokenController.php:205 +#: ../../../modules/web/Controllers/AuthTokenController.php:208 msgid "Autorizaciones eliminadas" msgstr "Authorizations deleted" -#: ../../../modules/web/Controllers/AuthTokenController.php:213 #: ../../../modules/web/Controllers/AuthTokenController.php:217 +#: ../../../modules/web/Controllers/AuthTokenController.php:221 msgid "Autorización eliminada" msgstr "Authorization deleted" -#: ../../../modules/web/Controllers/AuthTokenController.php:214 -#: ../../../modules/web/Controllers/AuthTokenController.php:281 -#: ../../../modules/web/Controllers/AuthTokenController.php:290 -#: ../../../modules/web/Controllers/AuthTokenController.php:327 +#: ../../../modules/web/Controllers/AuthTokenController.php:218 +#: ../../../modules/web/Controllers/AuthTokenController.php:286 +#: ../../../modules/web/Controllers/AuthTokenController.php:295 +#: ../../../modules/web/Controllers/AuthTokenController.php:333 msgid "Autorización" msgstr "Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:247 +#: ../../../modules/web/Controllers/AuthTokenController.php:251 msgid "Autorización creada" msgstr "Authorization added" -#: ../../../modules/web/Controllers/AuthTokenController.php:280 -#: ../../../modules/web/Controllers/AuthTokenController.php:289 -#: ../../../modules/web/Controllers/AuthTokenController.php:296 +#: ../../../modules/web/Controllers/AuthTokenController.php:285 +#: ../../../modules/web/Controllers/AuthTokenController.php:294 +#: ../../../modules/web/Controllers/AuthTokenController.php:301 msgid "Autorización actualizada" msgstr "Authorization updated" -#: ../../../modules/web/Controllers/AuthTokenController.php:318 +#: ../../../modules/web/Controllers/AuthTokenController.php:324 msgid "Ver Autorización" msgstr "View Authorization" -#: ../../../modules/web/Controllers/AuthTokenController.php:326 +#: ../../../modules/web/Controllers/AuthTokenController.php:332 msgid "Autorización visualizada" msgstr "Authorization viewed" #. (itstool) path: action/text #: ../../../modules/web/Controllers/CategoryController.php:100 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:107 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:108 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:111 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:112 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:113 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:110 #: ../../../config/actions.xml:301 msgid "Nueva Categoría" msgstr "New Category" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/CategoryController.php:157 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:119 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:120 +#: ../../../modules/web/Controllers/CategoryController.php:161 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:124 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:125 #: ../../../config/actions.xml:307 msgid "Editar Categoría" msgstr "Edit Category" -#: ../../../modules/web/Controllers/CategoryController.php:196 -#: ../../../modules/web/Controllers/CategoryController.php:199 +#: ../../../modules/web/Controllers/CategoryController.php:201 +#: ../../../modules/web/Controllers/CategoryController.php:204 msgid "Categorías eliminadas" msgstr "Categories deleted" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/CategoryController.php:313 +#: ../../../modules/web/Controllers/CategoryController.php:320 #: ../../../config/actions.xml:295 msgid "Ver Categoría" msgstr "View Category" #: ../../../modules/web/Controllers/ClientController.php:101 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:212 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:213 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:87 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:219 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:220 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:86 msgid "Nuevo Cliente" msgstr "New Client" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ClientController.php:158 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:224 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:225 +#: ../../../modules/web/Controllers/ClientController.php:162 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:231 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:232 #: ../../../config/actions.xml:337 msgid "Editar Cliente" msgstr "Edit Client" -#: ../../../modules/web/Controllers/ClientController.php:197 -#: ../../../modules/web/Controllers/ClientController.php:200 +#: ../../../modules/web/Controllers/ClientController.php:201 +#: ../../../modules/web/Controllers/ClientController.php:204 msgid "Clientes eliminados" msgstr "Clients deleted" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ClientController.php:302 +#: ../../../modules/web/Controllers/ClientController.php:306 #: ../../../config/actions.xml:325 msgid "Ver Cliente" msgstr "View Client" -#: ../../../modules/web/Controllers/ConfigAccountController.php:71 +#: ../../../modules/web/Controllers/ConfigAccountController.php:70 msgid "El tamaño máximo por archivo es de 16MB" msgstr "The maximum size per file is 16MB" -#: ../../../modules/web/Controllers/ConfigAccountController.php:79 +#: ../../../modules/web/Controllers/ConfigAccountController.php:78 msgid "Archivos habilitados" msgstr "Files enabled" -#: ../../../modules/web/Controllers/ConfigAccountController.php:84 +#: ../../../modules/web/Controllers/ConfigAccountController.php:83 msgid "Archivos deshabilitados" msgstr "Files disabled" -#: ../../../modules/web/Controllers/ConfigAccountController.php:97 +#: ../../../modules/web/Controllers/ConfigAccountController.php:96 msgid "Enlaces públicos habilitados" msgstr "Public links enabled" -#: ../../../modules/web/Controllers/ConfigAccountController.php:102 +#: ../../../modules/web/Controllers/ConfigAccountController.php:101 msgid "Enlaces públicos deshabilitados" msgstr "Public links disabled" #: ../../../modules/web/Controllers/ConfigBackupController.php:54 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:98 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:160 -#: ../../../modules/web/Controllers/ConfigImportController.php:57 -#: ../../../modules/web/Controllers/ConfigLdapController.php:216 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:91 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:150 +#: ../../../modules/web/Controllers/ConfigImportController.php:56 +#: ../../../modules/web/Controllers/ConfigLdapController.php:215 #: ../../../modules/web/Controllers/Traits/ConfigTrait.php:53 -#: ../../../modules/web/Forms/UserForm.php:128 -#: ../../../modules/web/Forms/UserForm.php:140 -#: ../../../modules/web/Forms/UserForm.php:158 +#: ../../../modules/web/Forms/UserForm.php:131 +#: ../../../modules/web/Forms/UserForm.php:153 +#: ../../../modules/web/Forms/UserForm.php:171 msgid "Ey, esto es una DEMO!!" msgstr "Ey, this is a DEMO!!" #: ../../../modules/web/Controllers/ConfigBackupController.php:88 #: ../../../modules/web/Controllers/UserPassResetController.php:174 -#: ../../../modules/web/Forms/AccountForm.php:144 -#: ../../../modules/web/Forms/UserForm.php:148 +#: ../../../modules/web/Forms/AccountForm.php:142 +#: ../../../modules/web/Forms/UserForm.php:161 msgid "Las claves no coinciden" msgstr "The passwords do not match" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:78 +#: ../../../modules/web/Controllers/ConfigBackupController.php:119 +msgid "Verificación de datos exportados finalizada" +msgstr "Verification of exported data finished" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:121 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:276 +#: ../../../modules/web/themes/material-blue/views/common/aux-customfields.inc:13 +#: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:87 +msgid "Encriptado" +msgstr "Encrypted" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:121 +#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 +msgid "Sí" +msgstr "Yes" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:121 +#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 +msgid "No" +msgstr "No" + +#: ../../../modules/web/Controllers/ConfigBackupController.php:125 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1089 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:203 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:205 +#: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:310 +msgid "Etiquetas" +msgstr "Tags" + +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:71 msgid "Clave maestra no indicada" msgstr "Master password needed" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:82 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:75 msgid "Se ha de confirmar el cambio de clave" msgstr "The password update must be confirmed" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:86 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:79 msgid "Las claves son idénticas" msgstr "The passwords are the same" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:90 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:83 msgid "Las claves maestras no coinciden" msgstr "The master passwords do not match" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:94 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:87 msgid "La clave maestra actual no coincide" msgstr "The current master password does not match" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:147 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:137 msgid "Error al guardar el hash de la clave maestra" msgstr "Error while saving the Master Password's hash" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:168 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:170 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:158 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:160 msgid "Hash de clave maestra actualizado" msgstr "Master password hash updated" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:177 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:167 msgid "Error al actualizar el hash de la clave maestra" msgstr "Error while updating the master password hash" +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:189 #: ../../../modules/web/Controllers/ConfigEncryptionController.php:195 -#, php-format -msgid "Clave Maestra %s" -msgstr "Master Password %s" - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:196 -msgid "" -"Se ha generado una nueva clave para el acceso a sysPass y se solicitará en " -"el siguiente inicio." -msgstr "" -"A new sysPass master password has been generated, so the next time you log " -"into the application it will be requested." - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:198 -#, php-format -msgid "La nueva clave es: %s" -msgstr "The new Master Password is: %s" - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:200 -#, php-format -msgid "Esta clave estará activa hasta: %s" -msgstr "This password will be valid until: %s" - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:202 -msgid "No olvide acceder lo antes posible para guardar los cambios." -msgstr "" -"Please, don't forget to log in as soon as possible to save the changes." - -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:211 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:217 -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:221 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:199 msgid "Clave Temporal Generada" msgstr "Temporary Password Generated" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:211 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:189 msgid "Email enviado" msgstr "Email sent" -#: ../../../modules/web/Controllers/ConfigEncryptionController.php:217 +#: ../../../modules/web/Controllers/ConfigEncryptionController.php:195 msgid "Error al enviar email" msgstr "Error while sending the email" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:90 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:89 msgid "Faltan parámetros de syslog remoto" msgstr "Missing remote syslog parameters" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:98 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:97 msgid "Syslog remoto habilitado" msgstr "Remote syslog enabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:103 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:102 msgid "Syslog remoto deshabilitado" msgstr "Remote syslog disabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:116 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:115 msgid "Faltan parámetros de Proxy" msgstr "Missing Proxy parameters " -#: ../../../modules/web/Controllers/ConfigGeneralController.php:130 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:129 msgid "Proxy habiltado" msgstr "Proxy enabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:135 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:134 msgid "Proxy deshabilitado" msgstr "Proxy disabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:154 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:153 msgid "Auth Basic habilitada" msgstr "Auth Basic enabled" -#: ../../../modules/web/Controllers/ConfigGeneralController.php:160 +#: ../../../modules/web/Controllers/ConfigGeneralController.php:159 msgid "Auth Basic deshabiltada" msgstr "Auth Basic disabled" -#: ../../../modules/web/Controllers/ConfigImportController.php:77 +#: ../../../modules/web/Controllers/ConfigImportController.php:76 msgid "Cuentas importadas" msgstr "Accounts imported" -#: ../../../modules/web/Controllers/ConfigImportController.php:81 -#: ../../../modules/web/Controllers/ConfigLdapController.php:256 +#: ../../../modules/web/Controllers/ConfigImportController.php:80 +#: ../../../modules/web/Controllers/ConfigLdapController.php:255 msgid "Importación finalizada" msgstr "Import finished" -#: ../../../modules/web/Controllers/ConfigImportController.php:83 +#: ../../../modules/web/Controllers/ConfigImportController.php:82 msgid "No se importaron cuentas" msgstr "No accounts were imported" -#: ../../../modules/web/Controllers/ConfigLdapController.php:69 -#: ../../../modules/web/Controllers/ConfigLdapController.php:137 -#: ../../../modules/web/Controllers/ConfigLdapController.php:173 +#: ../../../modules/web/Controllers/ConfigLdapController.php:68 +#: ../../../modules/web/Controllers/ConfigLdapController.php:136 +#: ../../../modules/web/Controllers/ConfigLdapController.php:172 msgid "Faltan parámetros de LDAP" msgstr "Missing LDAP parameters" -#: ../../../modules/web/Controllers/ConfigLdapController.php:87 +#: ../../../modules/web/Controllers/ConfigLdapController.php:86 msgid "LDAP habiltado" msgstr "LDAP enabled" -#: ../../../modules/web/Controllers/ConfigLdapController.php:92 +#: ../../../modules/web/Controllers/ConfigLdapController.php:91 msgid "LDAP deshabilitado" msgstr "LDAP disabled" -#: ../../../modules/web/Controllers/ConfigLdapController.php:94 -#: ../../../modules/web/Controllers/ConfigMailController.php:103 +#: ../../../modules/web/Controllers/ConfigLdapController.php:93 +#: ../../../modules/web/Controllers/ConfigMailController.php:102 #: ../../../config/strings.js.inc:80 msgid "Sin cambios" msgstr "No changes" -#: ../../../modules/web/Controllers/ConfigLdapController.php:114 -#: ../../../modules/web/Controllers/ConfigLdapController.php:236 +#: ../../../modules/web/Controllers/ConfigLdapController.php:113 +#: ../../../modules/web/Controllers/ConfigLdapController.php:235 msgid "Parámetros de LDAP incorrectos" msgstr "Wrong LDAP parameters" -#: ../../../modules/web/Controllers/ConfigLdapController.php:147 -#: ../../../modules/web/Controllers/ConfigLdapController.php:189 +#: ../../../modules/web/Controllers/ConfigLdapController.php:146 +#: ../../../modules/web/Controllers/ConfigLdapController.php:188 msgid "Resultados" msgstr "Results" -#: ../../../modules/web/Controllers/ConfigLdapController.php:242 +#: ../../../modules/web/Controllers/ConfigLdapController.php:241 msgid "Importación LDAP" msgstr "LDAP Import" -#: ../../../modules/web/Controllers/ConfigLdapController.php:260 +#: ../../../modules/web/Controllers/ConfigLdapController.php:259 msgid "No se encontraron objetos para sincronizar" msgstr "There aren't any objects to synchronize" -#: ../../../modules/web/Controllers/ConfigLdapController.php:265 +#: ../../../modules/web/Controllers/ConfigLdapController.php:264 msgid "Importación de usuarios de LDAP realizada" msgstr "LDAP users import finished" -#: ../../../modules/web/Controllers/ConfigLdapController.php:267 +#: ../../../modules/web/Controllers/ConfigLdapController.php:266 #, php-format msgid "Usuarios importados: %d / %d" msgstr "Imported users: %d / %d" -#: ../../../modules/web/Controllers/ConfigLdapController.php:268 +#: ../../../modules/web/Controllers/ConfigLdapController.php:267 #, php-format msgid "Errores: %d" msgstr "Errors: %d" -#: ../../../modules/web/Controllers/ConfigMailController.php:69 -#: ../../../modules/web/Controllers/ConfigMailController.php:126 +#: ../../../modules/web/Controllers/ConfigMailController.php:68 +#: ../../../modules/web/Controllers/ConfigMailController.php:125 msgid "Faltan parámetros de Correo" msgstr "Missing Mail parameters" -#: ../../../modules/web/Controllers/ConfigMailController.php:94 +#: ../../../modules/web/Controllers/ConfigMailController.php:93 msgid "Correo habiltado" msgstr "Mail enabled" -#: ../../../modules/web/Controllers/ConfigMailController.php:101 +#: ../../../modules/web/Controllers/ConfigMailController.php:100 msgid "Correo deshabilitado" msgstr "Mail disabled" -#: ../../../modules/web/Controllers/ConfigMailController.php:146 +#: ../../../modules/web/Controllers/ConfigMailController.php:145 msgid "Compruebe su buzón de correo" msgstr "Please, check your inbox" -#: ../../../modules/web/Controllers/ConfigManagerController.php:156 +#: ../../../modules/web/Controllers/ConfigManagerController.php:151 #: ../../../modules/web/themes/material-blue/views/install/index.inc:131 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:426 msgid "General" msgstr "General" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ConfigManagerController.php:180 +#: ../../../modules/web/Controllers/ConfigManagerController.php:175 #: ../../../modules/web/themes/material-blue/views/config/wiki.inc:14 #: ../../../config/actions.xml:37 msgid "Wiki" msgstr "Wiki" -#: ../../../modules/web/Controllers/ConfigManagerController.php:198 +#: ../../../modules/web/Controllers/ConfigManagerController.php:193 msgid "LDAP" msgstr "LDAP" -#: ../../../modules/web/Controllers/ConfigManagerController.php:219 +#: ../../../modules/web/Controllers/ConfigManagerController.php:214 #: ../../../modules/web/themes/material-blue/views/config/mail.inc:10 msgid "Correo" msgstr "Mail" -#: ../../../modules/web/Controllers/ConfigManagerController.php:254 +#: ../../../modules/web/Controllers/ConfigManagerController.php:251 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:442 msgid "Encriptación" msgstr "Encryption" -#: ../../../modules/web/Controllers/ConfigManagerController.php:292 +#: ../../../modules/web/Controllers/ConfigManagerController.php:289 msgid "Último backup" msgstr "Last backup" -#: ../../../modules/web/Controllers/ConfigManagerController.php:292 +#: ../../../modules/web/Controllers/ConfigManagerController.php:289 msgid "No se encontraron backups" msgstr "There aren't any backups available" -#: ../../../modules/web/Controllers/ConfigManagerController.php:304 +#: ../../../modules/web/Controllers/ConfigManagerController.php:301 msgid "Última exportación" msgstr "Last export" -#: ../../../modules/web/Controllers/ConfigManagerController.php:304 +#: ../../../modules/web/Controllers/ConfigManagerController.php:301 msgid "No se encontró archivo de exportación" msgstr "No export file found" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/ConfigManagerController.php:306 +#: ../../../modules/web/Controllers/ConfigManagerController.php:303 #: ../../../modules/web/themes/material-blue/views/config/backup.inc:5 +#: ../../../modules/web/themes/material-blue/views/config/backup.inc:58 #: ../../../config/actions.xml:721 msgid "Copia de Seguridad" msgstr "Backup" -#: ../../../modules/web/Controllers/ConfigManagerController.php:323 +#: ../../../modules/web/Controllers/ConfigManagerController.php:320 msgid "Importar Cuentas" msgstr "Import Accounts" -#: ../../../modules/web/Controllers/ConfigManagerController.php:340 +#: ../../../modules/web/Controllers/ConfigManagerController.php:338 msgid "No instalado" msgstr "Not installed" -#: ../../../modules/web/Controllers/ConfigManagerController.php:343 +#: ../../../modules/web/Controllers/ConfigManagerController.php:341 #: ../../../modules/web/themes/material-blue/inc/Icons.php:65 msgid "Información" msgstr "Information" -#: ../../../modules/web/Controllers/ConfigWikiController.php:60 +#: ../../../modules/web/Controllers/ConfigWikiController.php:59 msgid "Faltan parámetros de Wiki" msgstr "Missing Wiki parameters" -#: ../../../modules/web/Controllers/ConfigWikiController.php:70 +#: ../../../modules/web/Controllers/ConfigWikiController.php:69 msgid "Wiki habiltada" msgstr "Wiki enabled" -#: ../../../modules/web/Controllers/ConfigWikiController.php:75 +#: ../../../modules/web/Controllers/ConfigWikiController.php:74 msgid "Wiki deshabilitada" msgstr "Wiki disabled" -#: ../../../modules/web/Controllers/ConfigWikiController.php:88 +#: ../../../modules/web/Controllers/ConfigWikiController.php:87 msgid "Faltan parámetros de DokuWiki" msgstr "Missing DokuWiki parameters" -#: ../../../modules/web/Controllers/ConfigWikiController.php:100 +#: ../../../modules/web/Controllers/ConfigWikiController.php:99 msgid "DokuWiki habilitada" msgstr "DokuWiki enabled" -#: ../../../modules/web/Controllers/ConfigWikiController.php:105 +#: ../../../modules/web/Controllers/ConfigWikiController.php:104 msgid "DokuWiki deshabilitada" msgstr "DokuWiki disabled" #: ../../../modules/web/Controllers/CustomFieldController.php:102 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:297 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:298 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:305 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:306 msgid "Nuevo Campo" msgstr "New Field" -#: ../../../modules/web/Controllers/CustomFieldController.php:159 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:309 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:310 +#: ../../../modules/web/Controllers/CustomFieldController.php:162 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:317 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:318 msgid "Editar Campo" msgstr "Edit Field" -#: ../../../modules/web/Controllers/CustomFieldController.php:194 -#: ../../../modules/web/Controllers/CustomFieldController.php:197 +#: ../../../modules/web/Controllers/CustomFieldController.php:198 +#: ../../../modules/web/Controllers/CustomFieldController.php:201 msgid "Campos eliminados" msgstr "Fields deleted" -#: ../../../modules/web/Controllers/CustomFieldController.php:203 +#: ../../../modules/web/Controllers/CustomFieldController.php:207 msgid "Campo eliminado" msgstr "Field deleted" -#: ../../../modules/web/Controllers/CustomFieldController.php:231 #: ../../../modules/web/Controllers/CustomFieldController.php:235 +#: ../../../modules/web/Controllers/CustomFieldController.php:239 msgid "Campo creado" msgstr "Field added" -#: ../../../modules/web/Controllers/CustomFieldController.php:292 +#: ../../../modules/web/Controllers/CustomFieldController.php:297 msgid "Ver Campo" msgstr "View Field" @@ -3114,8 +3233,8 @@ msgstr "It will be running shortly" msgid "Error en la verificación de la base de datos" msgstr "Error while checking the database" -#: ../../../modules/web/Controllers/EventlogController.php:103 -#: ../../../modules/web/Controllers/EventlogController.php:106 +#: ../../../modules/web/Controllers/EventlogController.php:113 +#: ../../../modules/web/Controllers/EventlogController.php:116 msgid "Registro de eventos vaciado" msgstr "Event log cleared" @@ -3187,107 +3306,97 @@ msgstr "Copy Password to Clipboard" msgid "Copiar Cuenta" msgstr "Copy Account" -#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:112 +#: ../../../modules/web/Controllers/Helpers/Account/AccountPasswordHelper.php:113 #: ../../../config/strings.js.inc:72 msgid "Clave de Cuenta" msgstr "Account Password" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:160 #: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:161 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:162 msgid "Más Acciones" msgstr "More Actions" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:214 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:215 msgid "Ordenar por Cliente" msgstr "Sort by Client" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:221 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:222 msgid "Ordenar por Nombre" msgstr "Sort by Name" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:228 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:229 msgid "Ordenar por Categoría" msgstr "Sort by Category" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:235 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:236 msgid "Ordenar por Usuario" msgstr "Sort by Username" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:241 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:242 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:44 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:50 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:78 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:49 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:55 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:121 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:120 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:68 msgid "URL / IP" msgstr "URL / IP" -#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:242 +#: ../../../modules/web/Controllers/Helpers/Account/AccountSearchHelper.php:243 msgid "Ordenar por URL / IP" msgstr "Sort by URL / IP" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:96 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:101 #: ../../../config/actions.xml:319 msgid "Buscar Categoría" msgstr "Search for Category" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:182 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:189 #: ../../../config/strings.js.inc:66 msgid "SI" msgstr "YES" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:182 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:189 #: ../../../config/strings.js.inc:67 msgid "NO" msgstr "NO" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:201 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:208 #: ../../../config/actions.xml:349 msgid "Buscar Cliente" msgstr "Search for Client" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:256 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:264 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:46 #: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:48 msgid "Módulo" msgstr "Module" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:258 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:559 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:266 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:577 msgid "Propiedades" msgstr "Properties" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:268 -#: ../../../modules/web/themes/material-blue/views/common/aux-customfields.inc:13 -#: ../../../modules/web/themes/material-blue/views/itemshow/customfield.inc:87 -msgid "Encriptado" -msgstr "Encrypted" - -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:278 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:286 #: ../../../modules/web/themes/material-blue/views/account/account.inc:27 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:342 msgid "Campos Personalizados" msgstr "Custom Fields" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:286 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:294 msgid "Buscar Campo" msgstr "Search for Field" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:320 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:321 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:328 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:329 msgid "Eliminar Campo" msgstr "Delete Field" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:344 -msgid "Tamaño" -msgstr "Size" - #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:363 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:374 #: ../../../modules/web/themes/material-blue/views/account/account.inc:35 #: ../../../modules/web/themes/material-blue/views/config/accounts.inc:265 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:146 @@ -3297,127 +3406,127 @@ msgid "Archivos" msgstr "Files" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:371 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:382 #: ../../../config/actions.xml:469 msgid "Buscar Archivo" msgstr "Search for File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:382 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:383 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:393 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:394 #: ../../../modules/web/themes/material-blue/views/account/files-list.inc:45 #: ../../../config/actions.xml:199 ../../../config/actions.xml:445 msgid "Ver Archivo" msgstr "View File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:394 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:395 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:405 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:406 #: ../../../modules/web/themes/material-blue/views/account/files-list.inc:38 #: ../../../config/actions.xml:211 ../../../config/actions.xml:451 msgid "Descargar Archivo" msgstr "Download File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:405 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:406 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:416 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:417 #: ../../../modules/web/themes/material-blue/views/account/files-list.inc:30 #: ../../../config/actions.xml:217 ../../../config/actions.xml:457 msgid "Eliminar Archivo" msgstr "Delete File" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:450 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:514 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:464 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:531 #: ../../../config/actions.xml:487 ../../../config/actions.xml:787 msgid "Buscar Cuenta" msgstr "Search for Account" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:483 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1331 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:499 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1359 #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:98 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:112 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:184 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:182 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:41 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:48 #: ../../../modules/web/themes/material-blue/views/wiki/wikipage.inc:24 msgid "Fecha" msgstr "Date" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:484 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1127 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1335 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:500 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1153 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1363 msgid "Estado" msgstr "Status" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:495 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:512 msgid "Modificada" msgstr "Modified" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:496 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:513 msgid "Eliminada" msgstr "Removed" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:506 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:523 msgid "Cuentas (H)" msgstr "Accounts (H)" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:525 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:526 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:542 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:543 #: ../../../config/actions.xml:181 ../../../config/actions.xml:793 msgid "Restaurar Cuenta" msgstr "Account Restore" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:556 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1226 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:574 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1253 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:45 #: ../../../modules/web/themes/material-blue/views/itemshow/userpass.inc:26 msgid "Login" msgstr "Login" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:557 -#: ../../../modules/web/Controllers/UserProfileController.php:210 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:575 +#: ../../../modules/web/Controllers/UserProfileController.php:215 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:123 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:125 msgid "Perfil" msgstr "Profile" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:589 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:607 #: ../../../config/actions.xml:589 msgid "Buscar Usuario" msgstr "Search for User" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:599 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:600 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:617 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:618 #: ../../../modules/web/Controllers/UserController.php:106 #: ../../../config/actions.xml:565 msgid "Nuevo Usuario" msgstr "New User" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:614 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:615 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:632 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:633 #: ../../../modules/web/themes/material-blue/views/config/ldap.inc:429 msgid "Importar usuarios de LDAP" msgstr "Import users from LDAP" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:628 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:629 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:646 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:647 msgid "Ver Detalles de Usuario" msgstr "View User Details" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:639 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:640 -#: ../../../modules/web/Controllers/UserController.php:187 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:657 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:658 +#: ../../../modules/web/Controllers/UserController.php:191 #: ../../../config/actions.xml:571 msgid "Editar Usuario" msgstr "Edit User" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:650 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:651 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:668 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:669 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:61 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:119 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:124 @@ -3425,128 +3534,128 @@ msgid "Cambiar Clave de Usuario" msgstr "Change User's Password" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:662 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:663 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:680 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:681 #: ../../../config/actions.xml:577 msgid "Eliminar Usuario" msgstr "Delete User" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:707 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:726 #: ../../../config/actions.xml:619 msgid "Buscar Grupo" msgstr "Search for Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:718 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:719 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:737 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:738 #: ../../../modules/web/Controllers/UserGroupController.php:107 #: ../../../config/actions.xml:601 msgid "Nuevo Grupo" msgstr "New Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:730 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:731 -#: ../../../modules/web/Controllers/UserGroupController.php:314 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:749 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:750 +#: ../../../modules/web/Controllers/UserGroupController.php:320 #: ../../../config/actions.xml:595 msgid "Ver Grupo" msgstr "View Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:741 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:742 -#: ../../../modules/web/Controllers/UserGroupController.php:167 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:760 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:761 +#: ../../../modules/web/Controllers/UserGroupController.php:170 #: ../../../config/actions.xml:607 msgid "Editar Grupo" msgstr "Edit Group" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:752 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:753 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:771 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:772 #: ../../../config/actions.xml:613 msgid "Eliminar Grupo" msgstr "Delete Group" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:787 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:807 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:278 msgid "Perfiles" msgstr "Profiles" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:795 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:815 #: ../../../config/actions.xml:649 msgid "Buscar Perfil" msgstr "Search for Profile" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:806 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:807 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:826 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:827 #: ../../../modules/web/Controllers/UserProfileController.php:101 #: ../../../config/actions.xml:631 msgid "Nuevo Perfil" msgstr "New Profile" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:818 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:819 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:838 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:839 msgid "Ver Detalles de Perfil" msgstr "View Profile Details" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:829 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:830 -#: ../../../modules/web/Controllers/UserProfileController.php:161 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:849 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:850 +#: ../../../modules/web/Controllers/UserProfileController.php:165 #: ../../../config/actions.xml:637 msgid "Editar Perfil" msgstr "Edit Profile" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:840 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:841 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:860 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:861 #: ../../../config/actions.xml:643 msgid "Eliminar Perfil" msgstr "Delete Profile" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:877 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:900 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:358 msgid "Autorizaciones API" msgstr "API Authorizations" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:885 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:908 msgid "Buscar Token" msgstr "Search for Token" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:908 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:909 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:931 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:932 msgid "Ver token de Autorización" msgstr "View Authorization token" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:930 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:931 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:953 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:954 msgid "Eliminar Autorización" msgstr "Delete Authorization" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:952 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:976 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:45 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:47 msgid "Fecha Creación" msgstr "Creation Date" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:953 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:977 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:182 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:53 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:55 msgid "Fecha Caducidad" msgstr "Expiry Date " -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:955 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:979 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:32 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:35 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:39 msgid "Notificar" msgstr "Notify" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:956 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:980 #: ../../../modules/web/themes/material-blue/views/account/details.inc:9 #: ../../../modules/web/themes/material-blue/views/account/details.inc:11 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:184 @@ -3555,169 +3664,162 @@ msgstr "Notify" msgid "Visitas" msgstr "Visits" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:977 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1001 #: ../../../modules/web/themes/material-blue/views/account/account.inc:43 msgid "Enlaces" msgstr "Links" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:985 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1009 msgid "Buscar Enlace" msgstr "Search for Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:996 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:997 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1020 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1021 msgid "Nuevo Enlace" msgstr "New Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1008 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1009 -#: ../../../modules/web/Controllers/PublicLinkController.php:337 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1032 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1033 +#: ../../../modules/web/Controllers/PublicLinkController.php:343 msgid "Ver Enlace" msgstr "View Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1018 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1019 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1042 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1043 msgid "Renovar Enlace" msgstr "Renew Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1029 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1030 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1053 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1054 msgid "Eliminar Enlace" msgstr "Delete Link" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1064 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:205 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:207 -#: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:310 -msgid "Etiquetas" -msgstr "Tags" - #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1072 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1097 #: ../../../config/actions.xml:517 msgid "Buscar Etiqueta" msgstr "Search for Tag" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1083 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1084 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1108 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1109 #: ../../../modules/web/Controllers/TagController.php:99 #: ../../../config/actions.xml:493 msgid "Nueva Etiqueta" msgstr "New Tag" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1095 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1096 -#: ../../../modules/web/Controllers/TagController.php:154 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1120 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1121 +#: ../../../modules/web/Controllers/TagController.php:156 #: ../../../config/actions.xml:505 msgid "Editar Etiqueta" msgstr "Edit Tag" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1106 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1107 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1131 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1132 #: ../../../config/actions.xml:511 msgid "Eliminar Etiqueta" msgstr "Delete Tag" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1126 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1152 msgid "Plugin" msgstr "Plugin" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1135 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1161 msgid "No disponible" msgstr "Unavailable" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1145 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1171 msgid "Plugins" msgstr "Plugins" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1153 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1179 #: ../../../config/actions.xml:535 msgid "Buscar Plugin" msgstr "Search for Plugin" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1164 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1165 -#: ../../../modules/web/Controllers/PluginController.php:115 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1190 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1191 +#: ../../../modules/web/Controllers/PluginController.php:120 #: ../../../config/actions.xml:529 msgid "Ver Plugin" msgstr "View Plugin" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1175 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1176 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1201 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1202 msgid "Habilitar" msgstr "Enable" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1188 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1189 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1214 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1215 msgid "Deshabilitar" msgstr "Disable" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1201 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1202 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1227 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1228 msgid "Restablecer Datos" msgstr "Reset Data" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1223 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1250 msgid "Fecha / Hora" msgstr "Date / Time" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1224 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1251 msgid "Nivel" msgstr "Level" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1225 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1252 msgid "Evento" msgstr "Event" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1227 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1254 msgid "IP" msgstr "IP" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1276 -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:311 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1303 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:330 #: ../../../modules/web/themes/material-blue/views/eventlog/index.inc:1 #: ../../../config/actions.xml:127 msgid "Registro de Eventos" msgstr "Event Log" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1284 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1311 msgid "Buscar Evento" msgstr "Search for Events" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1293 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1294 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1320 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1321 msgid "Refrescar" msgstr "Refresh" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1305 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1306 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1332 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1333 msgid "Vaciar registro de eventos" msgstr "Clear event log" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1333 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1361 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:28 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:35 msgid "Componente" msgstr "Component" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1347 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1375 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:104 #: ../../../modules/web/themes/material-blue/views/notification/notification.inc:108 msgid "Leída" msgstr "Read" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1348 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1376 msgid "Sólo Admins" msgstr "Only Admins" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1359 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1387 #: ../../../modules/web/themes/material-blue/inc/Icons.php:67 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:104 #: ../../../modules/web/themes/material-blue/views/notification/index.inc:1 @@ -3726,66 +3828,66 @@ msgid "Notificaciones" msgstr "Notifications" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1367 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1395 #: ../../../config/actions.xml:829 msgid "Buscar Notificación" msgstr "Search for Notification" -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1379 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1380 -#: ../../../modules/web/Controllers/NotificationController.php:175 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1407 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1408 +#: ../../../modules/web/Controllers/NotificationController.php:181 msgid "Nueva Notificación" msgstr "New Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1392 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1393 -#: ../../../modules/web/Controllers/NotificationController.php:100 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1420 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1421 +#: ../../../modules/web/Controllers/NotificationController.php:105 #: ../../../config/actions.xml:799 msgid "Ver Notificación" msgstr "View Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1402 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1403 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1430 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1431 #: ../../../config/actions.xml:823 msgid "Marcar Notificación" msgstr "Checkout Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1414 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1415 -#: ../../../modules/web/Controllers/NotificationController.php:206 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1442 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1443 +#: ../../../modules/web/Controllers/NotificationController.php:213 #: ../../../config/actions.xml:811 msgid "Editar Notificación" msgstr "Edit Notification" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1425 -#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1426 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1453 +#: ../../../modules/web/Controllers/Helpers/ItemsGridHelper.php:1454 #: ../../../config/actions.xml:817 msgid "Eliminar Notificación" msgstr "Delete Notification" -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:242 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:261 #: ../../../modules/web/themes/material-blue/inc/Icons.php:60 msgid "Buscar" msgstr "Search" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:269 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:288 #: ../../../config/actions.xml:103 msgid "Usuarios y Accesos" msgstr "Users and Accesses" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:283 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:302 #: ../../../config/actions.xml:43 msgid "Elementos y Personalización" msgstr "Items and Customizations" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:297 +#: ../../../modules/web/Controllers/Helpers/LayoutHelper.php:316 #: ../../../modules/web/themes/material-blue/inc/Icons.php:63 #: ../../../modules/web/themes/material-blue/views/config/ldap.inc:10 #: ../../../modules/web/themes/material-blue/views/itemshow/userprofile.inc:23 @@ -3793,90 +3895,90 @@ msgstr "Items and Customizations" msgid "Configuración" msgstr "Configuration" -#: ../../../modules/web/Controllers/InstallController.php:63 +#: ../../../modules/web/Controllers/InstallController.php:62 msgid "Versión de PHP requerida >= " msgstr "Required PHP version >=" -#: ../../../modules/web/Controllers/InstallController.php:74 +#: ../../../modules/web/Controllers/InstallController.php:73 #: ../../../modules/web/themes/material-blue/views/config/ldap.inc:440 msgid "Módulo no disponible" msgstr "Module unavailable" -#: ../../../modules/web/Controllers/InstallController.php:75 +#: ../../../modules/web/Controllers/InstallController.php:74 msgid "Sin este módulo la aplicación puede no funcionar correctamente." msgstr "Without this module the application could not run correctly" -#: ../../../modules/web/Controllers/InstallController.php:83 +#: ../../../modules/web/Controllers/InstallController.php:82 msgid "La version de PHP es vulnerable al ataque NULL Byte (CVE-2006-7243)" msgstr "This PHP version is vulnerable to NULL Byte attack CVE-2006-7243)" -#: ../../../modules/web/Controllers/InstallController.php:84 +#: ../../../modules/web/Controllers/InstallController.php:83 msgid "Actualice la versión de PHP para usar sysPass de forma segura" msgstr "Please update PHP version to run sysPass in a secure way" -#: ../../../modules/web/Controllers/InstallController.php:90 +#: ../../../modules/web/Controllers/InstallController.php:89 msgid "No se encuentra el generador de números aleatorios." msgstr "Cannot find random number generator." -#: ../../../modules/web/Controllers/InstallController.php:91 +#: ../../../modules/web/Controllers/InstallController.php:90 msgid "" "Sin esta función un atacante puede utilizar su cuenta al resetear la clave" msgstr "" "Without this function, an attacker could take your account on password reset." -#: ../../../modules/web/Controllers/InstallController.php:122 +#: ../../../modules/web/Controllers/InstallController.php:121 msgid "Instalación finalizada" msgstr "Installation finished" -#: ../../../modules/web/Controllers/LoginController.php:98 +#: ../../../modules/web/Controllers/LoginController.php:104 msgid "Finalizar sesión" msgstr "Logout session" -#: ../../../modules/web/Controllers/LoginController.php:100 +#: ../../../modules/web/Controllers/LoginController.php:106 msgid "Tiempo inactivo" msgstr "Inactive time" -#: ../../../modules/web/Controllers/LoginController.php:101 +#: ../../../modules/web/Controllers/LoginController.php:107 msgid "Tiempo total" msgstr "Total time" -#: ../../../modules/web/Controllers/NotificationController.php:245 -#: ../../../modules/web/Controllers/NotificationController.php:248 +#: ../../../modules/web/Controllers/NotificationController.php:252 +#: ../../../modules/web/Controllers/NotificationController.php:255 msgid "Notificaciones eliminadas" msgstr "Notifications deleted" -#: ../../../modules/web/Controllers/NotificationController.php:259 -#: ../../../modules/web/Controllers/NotificationController.php:263 +#: ../../../modules/web/Controllers/NotificationController.php:266 +#: ../../../modules/web/Controllers/NotificationController.php:270 msgid "Notificación eliminada" msgstr "Notification deleted" -#: ../../../modules/web/Controllers/NotificationController.php:289 -#: ../../../modules/web/Controllers/NotificationController.php:293 +#: ../../../modules/web/Controllers/NotificationController.php:296 +#: ../../../modules/web/Controllers/NotificationController.php:300 msgid "Notificación leída" msgstr "Notification read" -#: ../../../modules/web/Controllers/NotificationController.php:319 -#: ../../../modules/web/Controllers/NotificationController.php:322 +#: ../../../modules/web/Controllers/NotificationController.php:326 +#: ../../../modules/web/Controllers/NotificationController.php:329 msgid "Notificación creada" msgstr "Notification created" -#: ../../../modules/web/Controllers/NotificationController.php:350 -#: ../../../modules/web/Controllers/NotificationController.php:353 +#: ../../../modules/web/Controllers/NotificationController.php:357 +#: ../../../modules/web/Controllers/NotificationController.php:360 msgid "Notificación actualizada" msgstr "Notification updated" -#: ../../../modules/web/Controllers/PluginController.php:170 -#: ../../../modules/web/Controllers/PluginController.php:173 +#: ../../../modules/web/Controllers/PluginController.php:176 +#: ../../../modules/web/Controllers/PluginController.php:179 msgid "Plugin habilitado" msgstr "Plugin enabled" -#: ../../../modules/web/Controllers/PluginController.php:193 -#: ../../../modules/web/Controllers/PluginController.php:196 +#: ../../../modules/web/Controllers/PluginController.php:199 +#: ../../../modules/web/Controllers/PluginController.php:202 msgid "Plugin deshabilitado" msgstr "Plugin disabled" -#: ../../../modules/web/Controllers/PluginController.php:216 -#: ../../../modules/web/Controllers/PluginController.php:219 +#: ../../../modules/web/Controllers/PluginController.php:222 +#: ../../../modules/web/Controllers/PluginController.php:225 msgid "Plugin restablecido" msgstr "Plugin reset" @@ -3884,39 +3986,39 @@ msgstr "Plugin reset" msgid "Nuevo Enlace Público" msgstr "New Public Link" -#: ../../../modules/web/Controllers/PublicLinkController.php:190 +#: ../../../modules/web/Controllers/PublicLinkController.php:193 msgid "Editar Enlace Público" msgstr "Edit Public Link" -#: ../../../modules/web/Controllers/PublicLinkController.php:228 -#: ../../../modules/web/Controllers/PublicLinkController.php:231 +#: ../../../modules/web/Controllers/PublicLinkController.php:232 +#: ../../../modules/web/Controllers/PublicLinkController.php:235 msgid "Enlaces eliminados" msgstr "Links deleted" -#: ../../../modules/web/Controllers/PublicLinkController.php:239 #: ../../../modules/web/Controllers/PublicLinkController.php:243 +#: ../../../modules/web/Controllers/PublicLinkController.php:247 msgid "Enlace eliminado" msgstr "Link deleted" -#: ../../../modules/web/Controllers/PublicLinkController.php:272 -#: ../../../modules/web/Controllers/PublicLinkController.php:307 +#: ../../../modules/web/Controllers/PublicLinkController.php:276 +#: ../../../modules/web/Controllers/PublicLinkController.php:312 msgid "Enlace creado" msgstr "Link created" -#: ../../../modules/web/Controllers/StatusController.php:83 +#: ../../../modules/web/Controllers/StatusController.php:85 msgid "Versión no disponible" msgstr "Version unavailable" -#: ../../../modules/web/Controllers/StatusController.php:116 +#: ../../../modules/web/Controllers/StatusController.php:120 msgid "Notificaciones no disponibles" msgstr "Notifications not available" -#: ../../../modules/web/Controllers/TagController.php:192 +#: ../../../modules/web/Controllers/TagController.php:194 msgid "Etiquetas eliminadas" msgstr "Tags deleted" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/TagController.php:277 +#: ../../../modules/web/Controllers/TagController.php:279 #: ../../../config/actions.xml:499 msgid "Ver Etiqueta" msgstr "View Tag" @@ -3929,49 +4031,53 @@ msgstr "Configuration updated" msgid "Error al guardar la configuración" msgstr "Error while saving the configuration" -#: ../../../modules/web/Controllers/UserController.php:262 -#: ../../../modules/web/Controllers/UserController.php:265 +#: ../../../modules/web/Controllers/Traits/ItemTrait.php:173 +msgid "Error al actualizar los datos del campo personalizado" +msgstr "Error while updating custom field's data" + +#: ../../../modules/web/Controllers/UserController.php:268 +#: ../../../modules/web/Controllers/UserController.php:271 msgid "Usuarios eliminados" msgstr "Users deleted" -#: ../../../modules/web/Controllers/UserController.php:273 -#: ../../../modules/web/Controllers/UserController.php:277 +#: ../../../modules/web/Controllers/UserController.php:279 +#: ../../../modules/web/Controllers/UserController.php:283 msgid "Usuario eliminado" msgstr "User deleted" -#: ../../../modules/web/Controllers/UserController.php:307 #: ../../../modules/web/Controllers/UserController.php:313 +#: ../../../modules/web/Controllers/UserController.php:319 msgid "Usuario creado" msgstr "User added" -#: ../../../modules/web/Controllers/UserController.php:370 -#: ../../../modules/web/Controllers/UserController.php:376 +#: ../../../modules/web/Controllers/UserController.php:374 +#: ../../../modules/web/Controllers/UserController.php:380 msgid "Usuario actualizado" msgstr "User updated" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/UserController.php:434 +#: ../../../modules/web/Controllers/UserController.php:439 #: ../../../config/actions.xml:559 msgid "Ver Usuario" msgstr "View User" -#: ../../../modules/web/Controllers/UserGroupController.php:204 -#: ../../../modules/web/Controllers/UserGroupController.php:207 +#: ../../../modules/web/Controllers/UserGroupController.php:208 +#: ../../../modules/web/Controllers/UserGroupController.php:211 msgid "Grupos eliminados" msgstr "Groups deleted" -#: ../../../modules/web/Controllers/UserGroupController.php:215 #: ../../../modules/web/Controllers/UserGroupController.php:219 +#: ../../../modules/web/Controllers/UserGroupController.php:223 msgid "Grupo eliminado" msgstr "Group deleted" -#: ../../../modules/web/Controllers/UserGroupController.php:249 #: ../../../modules/web/Controllers/UserGroupController.php:253 +#: ../../../modules/web/Controllers/UserGroupController.php:257 msgid "Grupo creado" msgstr "Group added" -#: ../../../modules/web/Controllers/UserGroupController.php:288 -#: ../../../modules/web/Controllers/UserGroupController.php:292 +#: ../../../modules/web/Controllers/UserGroupController.php:293 +#: ../../../modules/web/Controllers/UserGroupController.php:297 msgid "Grupo actualizado" msgstr "Group updated" @@ -4000,97 +4106,97 @@ msgid "En breve recibirá un correo para completar la solicitud." msgstr "You will receive an email to complete the request shortly." #: ../../../modules/web/Controllers/UserPassResetController.php:170 -#: ../../../modules/web/Forms/AuthTokenForm.php:104 -#: ../../../modules/web/Forms/UserForm.php:144 +#: ../../../modules/web/Forms/AuthTokenForm.php:103 +#: ../../../modules/web/Forms/UserForm.php:157 msgid "La clave no puede estar en blanco" msgstr "Password cannot be blank" -#: ../../../modules/web/Controllers/UserProfileController.php:198 -#: ../../../modules/web/Controllers/UserProfileController.php:201 +#: ../../../modules/web/Controllers/UserProfileController.php:203 +#: ../../../modules/web/Controllers/UserProfileController.php:206 msgid "Perfiles eliminados" msgstr "Profiles deleted" -#: ../../../modules/web/Controllers/UserProfileController.php:209 -#: ../../../modules/web/Controllers/UserProfileController.php:213 +#: ../../../modules/web/Controllers/UserProfileController.php:214 +#: ../../../modules/web/Controllers/UserProfileController.php:218 msgid "Perfil eliminado" msgstr "Profile deleted" -#: ../../../modules/web/Controllers/UserProfileController.php:243 +#: ../../../modules/web/Controllers/UserProfileController.php:248 msgid "Perfil creado" msgstr "Profile added" -#: ../../../modules/web/Controllers/UserProfileController.php:279 +#: ../../../modules/web/Controllers/UserProfileController.php:285 msgid "Perfil actualizado" msgstr "Profile updated" #. (itstool) path: action/text -#: ../../../modules/web/Controllers/UserProfileController.php:301 +#: ../../../modules/web/Controllers/UserProfileController.php:308 #: ../../../config/actions.xml:625 msgid "Ver Perfil" msgstr "View Profile" -#: ../../../modules/web/Controllers/UserSettingsGeneralController.php:70 +#: ../../../modules/web/Controllers/UserSettingsGeneralController.php:69 msgid "Preferencias actualizadas" msgstr "Preferences updated" -#: ../../../modules/web/Controllers/UserSettingsManagerController.php:90 +#: ../../../modules/web/Controllers/UserSettingsManagerController.php:89 msgid "Preferencias" msgstr "Preferences" -#: ../../../modules/web/Forms/AccountForm.php:140 +#: ../../../modules/web/Forms/AccountForm.php:138 msgid "Es necesaria una clave" msgstr "A key is needed" -#: ../../../modules/web/Forms/AccountForm.php:154 +#: ../../../modules/web/Forms/AccountForm.php:152 msgid "Es necesario un nombre de cuenta" msgstr "An account name needed" -#: ../../../modules/web/Forms/AccountForm.php:158 -#: ../../../modules/web/Forms/ClientForm.php:84 +#: ../../../modules/web/Forms/AccountForm.php:156 +#: ../../../modules/web/Forms/ClientForm.php:83 msgid "Es necesario un nombre de cliente" msgstr "A client name needed" -#: ../../../modules/web/Forms/AccountForm.php:162 +#: ../../../modules/web/Forms/AccountForm.php:160 msgid "Es necesario un usuario" msgstr "An username is needed" -#: ../../../modules/web/Forms/AccountForm.php:166 +#: ../../../modules/web/Forms/AccountForm.php:164 msgid "Es necesario una categoría" msgstr "A category is needed" -#: ../../../modules/web/Forms/AuthTokenForm.php:90 +#: ../../../modules/web/Forms/AuthTokenForm.php:89 msgid "Usuario no indicado" msgstr "User not set" -#: ../../../modules/web/Forms/AuthTokenForm.php:94 +#: ../../../modules/web/Forms/AuthTokenForm.php:93 msgid "Acción no indicada" msgstr "Action not set" -#: ../../../modules/web/Forms/CategoryForm.php:83 +#: ../../../modules/web/Forms/CategoryForm.php:82 msgid "Es necesario un nombre de categoría" msgstr "A category name needed" -#: ../../../modules/web/Forms/CustomFieldDefForm.php:87 +#: ../../../modules/web/Forms/CustomFieldDefForm.php:86 msgid "Nombre del campo no indicado" msgstr "Field name not set" -#: ../../../modules/web/Forms/CustomFieldDefForm.php:91 +#: ../../../modules/web/Forms/CustomFieldDefForm.php:90 msgid "Tipo del campo no indicado" msgstr "Field type not set" -#: ../../../modules/web/Forms/CustomFieldDefForm.php:95 +#: ../../../modules/web/Forms/CustomFieldDefForm.php:94 msgid "Módulo del campo no indicado" msgstr "Field module not set" -#: ../../../modules/web/Forms/NotificationForm.php:92 +#: ../../../modules/web/Forms/NotificationForm.php:91 msgid "Es necesario un componente" msgstr "A component is needed" -#: ../../../modules/web/Forms/NotificationForm.php:96 +#: ../../../modules/web/Forms/NotificationForm.php:95 msgid "Es necesario un tipo" msgstr "A type is needed" -#: ../../../modules/web/Forms/NotificationForm.php:106 +#: ../../../modules/web/Forms/NotificationForm.php:105 msgid "Es necesario un destinatario" msgstr "A target is needed" @@ -4098,39 +4204,39 @@ msgstr "A target is needed" msgid "Es necesario una cuenta" msgstr "An account is needed" -#: ../../../modules/web/Forms/TagForm.php:82 +#: ../../../modules/web/Forms/TagForm.php:81 msgid "Es necesario un nombre de etiqueta" msgstr "A tag name is needed" -#: ../../../modules/web/Forms/UserForm.php:108 +#: ../../../modules/web/Forms/UserForm.php:111 msgid "Es necesario un nombre de usuario" msgstr "An username is needed" -#: ../../../modules/web/Forms/UserForm.php:112 +#: ../../../modules/web/Forms/UserForm.php:115 msgid "Es necesario un login" msgstr "A login is needed" -#: ../../../modules/web/Forms/UserForm.php:116 +#: ../../../modules/web/Forms/UserForm.php:119 msgid "Es necesario un perfil" msgstr "A profile is needed" -#: ../../../modules/web/Forms/UserForm.php:120 +#: ../../../modules/web/Forms/UserForm.php:123 msgid "Es necesario un grupo" msgstr "A group is needed" -#: ../../../modules/web/Forms/UserForm.php:124 +#: ../../../modules/web/Forms/UserForm.php:127 msgid "Es necesario un email" msgstr "An email is needed" -#: ../../../modules/web/Forms/UserForm.php:166 +#: ../../../modules/web/Forms/UserForm.php:179 msgid "No es posible eliminar, usuario en uso" msgstr "Unable to delete, user in use" -#: ../../../modules/web/Forms/UserGroupForm.php:84 +#: ../../../modules/web/Forms/UserGroupForm.php:83 msgid "Es necesario un nombre de grupo" msgstr "A group name is needed" -#: ../../../modules/web/Forms/UserProfileForm.php:115 +#: ../../../modules/web/Forms/UserProfileForm.php:114 msgid "Es necesario un nombre de perfil" msgstr "A profile name is needed" @@ -4174,7 +4280,7 @@ msgid "Usuario de LDAP" msgstr "LDAP User" #: ../../../modules/web/themes/material-blue/inc/Icons.php:43 -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:249 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:251 msgid "Deshabilitado" msgstr "Disabled" @@ -4215,10 +4321,6 @@ msgstr "Restore" #: ../../../modules/web/themes/material-blue/inc/Icons.php:54 #: ../../../config/strings.js.inc:79 -#: ../../../modules/web/themes/material-blue/views/config/backup.inc:58 -#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:150 -#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:318 -#: ../../../modules/web/themes/material-blue/views/config/import.inc:101 msgid "Ayuda" msgstr "Help" @@ -4367,14 +4469,14 @@ msgid "Seleccionar Perfil" msgstr "Select Profile" #: ../../../config/strings.js.inc:50 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:79 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:78 #: ../../../modules/web/themes/material-blue/views/account/search-searchbox.inc:60 msgid "Seleccionar Cliente" msgstr "Select Client" #: ../../../config/strings.js.inc:51 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:68 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:103 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:102 #: ../../../modules/web/themes/material-blue/views/account/search-searchbox.inc:69 msgid "Seleccionar Categoría" msgstr "Select Category" @@ -4564,12 +4666,12 @@ msgstr "User preferences" #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:72 #: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:75 -#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:145 -#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:148 +#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:147 +#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:150 msgid "Salir" msgstr "Sign Out" -#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:161 +#: ../../../modules/web/themes/material-blue/views/_partials/fixed-header.inc:163 #: ../../../modules/web/themes/material-blue/views/_partials/footer.inc:43 msgid "Demo" msgstr "Demo" @@ -4594,8 +4696,8 @@ msgid "Un proyecto de cygnux.org" msgstr "A cygnux.org project" #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:77 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:161 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:168 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:160 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:167 #: ../../../modules/web/themes/material-blue/views/install/index.inc:61 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:109 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:116 @@ -4606,7 +4708,7 @@ msgid "Clave (repetir)" msgstr "Password (repeat)" #: ../../../modules/web/themes/material-blue/views/account/account-editpass.inc:101 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:188 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:186 msgid "Seleccionar Fecha" msgstr "Select date" @@ -4622,7 +4724,7 @@ msgstr "Details" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:117 #: ../../../modules/web/themes/material-blue/views/account/account-link.inc:71 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:194 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:192 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:157 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:163 msgid "Notas" @@ -4630,22 +4732,22 @@ msgstr "Notes" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:129 #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:131 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:246 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:248 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:245 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:247 msgid "Historial" msgstr "History" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:136 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:253 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:252 msgid "Seleccionar fecha" msgstr "Select date" #: ../../../modules/web/themes/material-blue/views/account/account-history.inc:147 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:265 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:264 #: ../../../modules/web/themes/material-blue/views/account/details.inc:27 #: ../../../modules/web/themes/material-blue/views/account/details.inc:29 -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:283 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:285 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:287 msgid "Última Modificación" msgstr "Last Modification" @@ -4710,25 +4812,25 @@ msgstr "Send" msgid "Permisos" msgstr "Permissions" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:211 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:210 msgid "Seleccionar Etiquetas" msgstr "Select Tags" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:239 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:238 #: ../../../modules/web/themes/material-blue/views/itemshow/publiclink.inc:22 msgid "Seleccionar Cuenta" msgstr "Select Account" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:272 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:274 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:277 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:271 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:273 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:276 #: ../../../modules/web/themes/material-blue/views/account/search-rows.inc:180 msgid "Enlace Público" msgstr "Public Link" -#: ../../../modules/web/themes/material-blue/views/account/account.inc:285 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:287 -#: ../../../modules/web/themes/material-blue/views/account/account.inc:290 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:284 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:286 +#: ../../../modules/web/themes/material-blue/views/account/account.inc:289 msgid "Enlace Directo" msgstr "Direct Link" @@ -5126,6 +5228,7 @@ msgstr "" "place or use it to make the application portable." #: ../../../modules/web/themes/material-blue/views/config/backup.inc:81 +#: ../../../modules/web/themes/material-blue/views/config/backup.inc:166 msgid "Exportar Cuentas" msgstr "Export Accounts" @@ -5171,6 +5274,7 @@ msgstr "" "the XML file." #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:14 +#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:150 #: ../../../modules/web/themes/material-blue/views/config/import.inc:150 #: ../../../modules/web/themes/material-blue/views/config/import.inc:165 #: ../../../modules/web/themes/material-blue/views/install/index.inc:47 @@ -5269,6 +5373,7 @@ msgid "Actualizar hash de clave maestra" msgstr "Update master password hash" #: ../../../modules/web/themes/material-blue/views/config/encryption.inc:186 +#: ../../../modules/web/themes/material-blue/views/config/encryption.inc:318 msgid "Clave Temporal" msgstr "Temporary Password" @@ -5561,6 +5666,7 @@ msgstr "" "won't be readable." #: ../../../modules/web/themes/material-blue/views/config/import.inc:10 +#: ../../../modules/web/themes/material-blue/views/config/import.inc:101 msgid "Importar CSV/XML" msgstr "CSV/XML Import" @@ -5719,14 +5825,6 @@ msgstr "Encrypted Session" msgid "Indica si los datos de la sesión están encriptados en el servidor" msgstr "Tells whether the session data are encrypted in the server or not" -#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 -msgid "Sí" -msgstr "Yes" - -#: ../../../modules/web/themes/material-blue/views/config/info.inc:109 -msgid "No" -msgstr "No" - #: ../../../modules/web/themes/material-blue/views/config/info.inc:114 #: ../../../modules/web/themes/material-blue/views/config/info.inc:117 msgid "Plugins Cargados" @@ -6187,27 +6285,27 @@ msgstr "Application administrator" msgid "Administrador de cuentas" msgstr "Accounts administrator" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:233 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:234 msgid "Forzar cambio de clave" msgstr "Force password change" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:265 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:267 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:269 msgid "Entradas" msgstr "Entries" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:274 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:276 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:278 msgid "Último Acceso" msgstr "Last Access" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:292 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:294 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:296 msgid "Fecha Clave Maestra" msgstr "Master Password Date" -#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:301 #: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:303 +#: ../../../modules/web/themes/material-blue/views/itemshow/user.inc:305 msgid "Usado en" msgstr "Used in" @@ -6905,15 +7003,27 @@ msgstr "Text" msgid "Link" msgstr "Link" +#~ msgid "Error al actualizar track" +#~ msgstr "Error while updating the track" + +#~ msgid "Grupo en uso" +#~ msgstr "Group in use" + +#~ msgid "Perfil en uso" +#~ msgstr "Profile in use" + +#~ msgid "Error en el módulo de encriptación" +#~ msgstr "Error on the encryption module" + +#~ msgid "No es posible leer/escribir el archivo: %s" +#~ msgstr "Unable to read/write the file: %s" + #~ msgid "Hablitar edición" #~ msgstr "Enable Edit" #~ msgid "Se permite un máximo de 4 caracteres." #~ msgstr "Max 4 characters allowed." -#~ msgid "Campo personalizado no encontrado" -#~ msgstr "Custom field not found" - #~ msgid "No se encontraron campos personalizados" #~ msgstr "Custom fields not found" @@ -7050,9 +7160,6 @@ msgstr "Link" #~ msgid "Error al obtener los datos del usuario de la BBDD" #~ msgstr "Error while retrieving the user's data from DB" -#~ msgid "Error al obtener la clave maestra del usuario" -#~ msgstr "Error while retrieving the user's Master Pass" - #~ msgid "Descargar nueva versión" #~ msgstr "Download new version" diff --git a/app/modules/api/Controllers/ConfigController.php b/app/modules/api/Controllers/ConfigController.php index 17cdfc7a..7ffaad63 100644 --- a/app/modules/api/Controllers/ConfigController.php +++ b/app/modules/api/Controllers/ConfigController.php @@ -33,6 +33,7 @@ use SP\Services\Export\XmlExportService; /** * Class ConfigController + * * @package SP\Modules\Api\Controllers */ class ConfigController extends ControllerBase @@ -83,7 +84,7 @@ class ConfigController extends ControllerBase ); $this->dic->get(XmlExportService::class) - ->doExport($password); + ->doExport(BACKUP_PATH, $password); $this->eventDispatcher->notifyEvent('run.export.end', new Event($this, EventMessage::factory() diff --git a/app/modules/web/Controllers/ConfigBackupController.php b/app/modules/web/Controllers/ConfigBackupController.php index 76e2a4f4..ffae6ea5 100644 --- a/app/modules/web/Controllers/ConfigBackupController.php +++ b/app/modules/web/Controllers/ConfigBackupController.php @@ -33,6 +33,7 @@ use SP\Http\JsonResponse; use SP\Modules\Web\Controllers\Traits\ConfigTrait; use SP\Services\Backup\FileBackupService; use SP\Services\Export\XmlExportService; +use SP\Services\Export\XmlVerifyService; /** * Class ConfigBackupController @@ -95,14 +96,36 @@ class ConfigBackupController extends SimpleControllerBase SessionContext::close(); - $this->dic->get(XmlExportService::class) - ->doExport($exportPassword); + $export = $this->dic->get(XmlExportService::class); + $export->doExport(BACKUP_PATH, $exportPassword); $this->eventDispatcher->notifyEvent('run.export.end', new Event($this, EventMessage::factory() ->addDescription(__u('Proceso de exportación finalizado'))) ); + $verify = $this->dic->get(XmlVerifyService::class); + + if ($export->isEncrypted()) { + $verifyResult = $verify->verifyEncrypted($export->getExportFile(), $exportPassword); + } else { + $verifyResult = $verify->verify($export->getExportFile()); + } + + $nodes = $verifyResult->getNodes(); + + $this->eventDispatcher->notifyEvent('run.export.verify', + new Event($this, EventMessage::factory() + ->addDescription(__u('Verificación de datos exportados finalizada')) + ->addDetail(__u('Versión'), $verifyResult->getVersion()) + ->addDetail(__u('Encriptado'), $verifyResult->isEncrypted() ? __u('Sí') : __u('No')) + ->addDetail(__u('Cuentas'), $nodes['Account']) + ->addDetail(__u('Clientes'), $nodes['Client']) + ->addDetail(__u('Categorías'), $nodes['Category']) + ->addDetail(__u('Etiquetas'), $nodes['Tag']) + ) + ); + $this->returnJsonResponse(JsonResponse::JSON_SUCCESS, __u('Proceso de exportación finalizado')); } catch (\Exception $e) { processException($e); diff --git a/app/modules/web/Controllers/Traits/ItemTrait.php b/app/modules/web/Controllers/Traits/ItemTrait.php index 0657eaba..0b3e00ea 100644 --- a/app/modules/web/Controllers/Traits/ItemTrait.php +++ b/app/modules/web/Controllers/Traits/ItemTrait.php @@ -56,7 +56,7 @@ trait ItemTrait $customFieldService = Bootstrap::getContainer()->get(CustomFieldService::class); $customFields = []; - foreach ($customFieldService->getForModuleById($moduleId, $itemId) as $item) { + foreach ($customFieldService->getForModuleAndItemId($moduleId, $itemId) as $item) { try { $customField = new CustomFieldItem(); $customField->required = (bool)$item->required; diff --git a/lib/SP/Repositories/CustomField/CustomFieldRepository.php b/lib/SP/Repositories/CustomField/CustomFieldRepository.php index 3d620b7e..cd4e47da 100644 --- a/lib/SP/Repositories/CustomField/CustomFieldRepository.php +++ b/lib/SP/Repositories/CustomField/CustomFieldRepository.php @@ -145,14 +145,14 @@ class CustomFieldRepository extends Repository implements RepositoryItemInterfac /** * Eliminar los datos de los campos personalizados del módulo * - * @param int $id + * @param int $itemId * @param int $moduleId * * @return int * @throws QueryException * @throws ConstraintException */ - public function deleteCustomFieldData($id, $moduleId) + public function deleteCustomFieldData($itemId, $moduleId) { $query = /** @lang SQL */ 'DELETE FROM CustomFieldData @@ -161,7 +161,7 @@ class CustomFieldRepository extends Repository implements RepositoryItemInterfac $queryData = new QueryData(); $queryData->setQuery($query); - $queryData->setParams([$id, $moduleId]); + $queryData->setParams([$itemId, $moduleId]); return $this->db->doQuery($queryData)->getAffectedNumRows(); } @@ -359,11 +359,11 @@ class CustomFieldRepository extends Repository implements RepositoryItemInterfac * @param $moduleId * @param $itemId * - * @return array + * @return \SP\Storage\Database\QueryResult * @throws QueryException * @throws ConstraintException */ - public function getForModuleById($moduleId, $itemId) + public function getForModuleAndItemId($moduleId, $itemId) { $query = /** @lang SQL */ 'SELECT CFD.name AS definitionName, @@ -388,7 +388,7 @@ class CustomFieldRepository extends Repository implements RepositoryItemInterfac $queryData->setQuery($query); $queryData->setParams([$itemId, $moduleId]); - return $this->db->doSelect($queryData)->getDataAsArray(); + return $this->db->doSelect($queryData); } /** diff --git a/lib/SP/Services/CustomField/CustomFieldService.php b/lib/SP/Services/CustomField/CustomFieldService.php index 59b95952..1b36b950 100644 --- a/lib/SP/Services/CustomField/CustomFieldService.php +++ b/lib/SP/Services/CustomField/CustomFieldService.php @@ -106,9 +106,9 @@ class CustomFieldService extends Service * @throws QueryException * @throws \SP\Core\Exceptions\ConstraintException */ - public function getForModuleById($moduleId, $itemId) + public function getForModuleAndItemId($moduleId, $itemId) { - return $this->customFieldRepository->getForModuleById($moduleId, $itemId); + return $this->customFieldRepository->getForModuleAndItemId($moduleId, $itemId)->getDataAsArray(); } /** @@ -146,19 +146,19 @@ class CustomFieldService extends Service /** * Eliminar los datos de los campos personalizados del módulo * - * @param int $id + * @param int $itemId * @param int $moduleId * @param int $definitionId * * @return int * @throws SPException */ - public function deleteCustomFieldData($id, $moduleId, $definitionId = null) + public function deleteCustomFieldData($itemId, $moduleId, $definitionId = null) { if ($definitionId === null) { - return $this->customFieldRepository->deleteCustomFieldData($id, $moduleId); + return $this->customFieldRepository->deleteCustomFieldData($itemId, $moduleId); } else { - return $this->customFieldRepository->deleteCustomFieldDataForDefinition($id, $moduleId, $definitionId); + return $this->customFieldRepository->deleteCustomFieldDataForDefinition($itemId, $moduleId, $definitionId); } } diff --git a/lib/SP/Services/Export/VerifyResult.php b/lib/SP/Services/Export/VerifyResult.php new file mode 100644 index 00000000..adceaa08 --- /dev/null +++ b/lib/SP/Services/Export/VerifyResult.php @@ -0,0 +1,85 @@ +. + */ + +namespace SP\Services\Export; + + +/** + * Class VerifyResult + * + * @package SP\Services\Export + */ +class VerifyResult +{ + /** + * @var string + */ + private $version; + /** + * @var bool + */ + private $encrypted = false; + /** + * @var array + */ + private $nodes; + + /** + * VerifyResult constructor. + * + * @param string $version + * @param bool $encrypted + * @param array $nodes + */ + public function __construct(string $version, bool $encrypted, array $nodes) + { + $this->version = $version; + $this->encrypted = $encrypted; + $this->nodes = $nodes; + } + + /** + * @return string + */ + public function getVersion(): string + { + return $this->version; + } + + /** + * @return bool + */ + public function isEncrypted(): bool + { + return $this->encrypted; + } + + /** + * @return array + */ + public function getNodes(): array + { + return $this->nodes; + } +} \ No newline at end of file diff --git a/lib/SP/Services/Export/XmlExportService.php b/lib/SP/Services/Export/XmlExportService.php index fceaef01..6a4706d2 100644 --- a/lib/SP/Services/Export/XmlExportService.php +++ b/lib/SP/Services/Export/XmlExportService.php @@ -24,6 +24,7 @@ namespace SP\Services\Export; +use DOMXPath; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use SP\Config\ConfigData; @@ -73,70 +74,58 @@ class XmlExportService extends Service /** * @var string */ - private $exportDir = ''; + private $exportPath; /** * @var string */ - private $exportFile = ''; + private $exportFile; /** * Realiza la exportación de las cuentas a XML * - * @param null $pass string La clave de exportación - * @throws ContainerExceptionInterface - * @throws NotFoundExceptionInterface + * @param string $exportPath + * @param string $pass string La clave de exportación + * * @throws ServiceException */ - public function doExport($pass = null) + public function doExport(string $exportPath, string $pass = null) { if (!empty($pass)) { - $this->setExportPass($pass); - $this->setEncrypted(true); + $this->exportPass = $pass; + $this->encrypted = true; } - $this->setExportDir(BACKUP_PATH); - $this->setExportFile(); + $this->setExportPath($exportPath); + $this->exportFile = $this->generateExportFilename(); $this->deleteOldExports(); $this->makeXML(); } /** - * Establecer la clave de exportación + * @param string $exportPath * - * @param string $exportPass + * @throws ServiceException */ - public function setExportPass($exportPass) + private function setExportPath(string $exportPath) { - $this->exportPass = $exportPass; - } + if (!is_dir($exportPath) && @mkdir($exportPath, 0700, true) === false) { + throw new ServiceException(sprintf(__('No es posible crear el directorio (%s)'), $exportPath)); + } - /** - * @param boolean $encrypted - */ - public function setEncrypted($encrypted) - { - $this->encrypted = $encrypted; - } - - /** - * @param string $exportDir - */ - public function setExportDir($exportDir) - { - $this->exportDir = $exportDir; + $this->exportPath = $exportPath; } /** * Genera el nombre del archivo usado para la exportación. */ - private function setExportFile() + private function generateExportFilename(): string { // Generar hash unico para evitar descargas no permitidas $exportUniqueHash = sha1(uniqid('sysPassExport', true)); $this->configData->setExportHash($exportUniqueHash); $this->config->saveConfig($this->configData); - $this->exportFile = $this->exportDir . DIRECTORY_SEPARATOR . Util::getAppInfo('appname') . '-' . $exportUniqueHash . '.xml'; + return $this->exportPath . DIRECTORY_SEPARATOR . Util::getAppInfo('appname') . '-' . $exportUniqueHash . '.xml'; } /** @@ -144,7 +133,7 @@ class XmlExportService extends Service */ private function deleteOldExports() { - array_map('unlink', glob($this->exportDir . DIRECTORY_SEPARATOR . '*.xml')); + array_map('unlink', glob($this->exportPath . DIRECTORY_SEPARATOR . '*.xml')); } /** @@ -154,10 +143,9 @@ class XmlExportService extends Service * @throws NotFoundExceptionInterface * @throws ServiceException */ - public function makeXML() + private function makeXML() { try { - $this->checkExportDir(); $this->createRoot(); $this->createMeta(); $this->createCategories(); @@ -179,27 +167,6 @@ class XmlExportService extends Service } } - /** - * Comprobar y crear el directorio de exportación. - * - * @throws ServiceException - * @return bool - */ - private function checkExportDir() - { - if (@mkdir($this->exportDir, 0750) === false && is_dir($this->exportDir) === false) { - throw new ServiceException(sprintf(__('No es posible crear el directorio de backups ("%s")'), $this->exportDir)); - } - - clearstatcache(true, $this->exportDir); - - if (!is_writable($this->exportDir)) { - throw new ServiceException(__u('Compruebe los permisos del directorio de backups')); - } - - return true; - } - /** * Crear el nodo raíz * @@ -299,6 +266,7 @@ class XmlExportService extends Service * Añadir un nuevo nodo al árbol raíz * * @param \DOMElement $node El nodo a añadir + * * @throws ServiceException */ private function appendNode(\DOMElement $node) @@ -346,6 +314,7 @@ class XmlExportService extends Service * Escapar carácteres no válidos en XML * * @param $data string Los datos a escapar + * * @return mixed */ private function escapeChars($data) @@ -523,36 +492,35 @@ class XmlExportService extends Service private function createHash() { try { - if ($this->encrypted === true) { - $hash = sha1($this->getNodeXML('Encrypted')); - } else { - $hash = sha1($this->getNodeXML('Categories') . $this->getNodeXML('Customers') . $this->getNodeXML('Accounts')); - } + $hash = self::generateHashFromNodes($this->xml); - $metaHash = $this->xml->createElement('Hash', $hash); + $hashNode = $this->xml->createElement('Hash', $hash); + $hashNode->appendChild($this->xml->createAttribute('sign')); + $hashNode->setAttribute('sign', Hash::signMessage($hash, $this->configData->getConfigHash())); - $nodeMeta = $this->root->getElementsByTagName('Meta')->item(0); - $nodeMeta->appendChild($metaHash); + $this->root + ->getElementsByTagName('Meta') + ->item(0) + ->appendChild($hashNode); } catch (\Exception $e) { throw new ServiceException($e->getMessage(), ServiceException::ERROR, __FUNCTION__); } } /** - * Devuelve el código XML de un nodo + * @param \DOMDocument $document * - * @param $node string El nodo a devolver * @return string - * @throws ServiceException */ - private function getNodeXML($node) + public static function generateHashFromNodes(\DOMDocument $document): string { - try { - $nodeXML = $this->xml->saveXML($this->root->getElementsByTagName($node)->item(0)); - return $nodeXML; - } catch (\Exception $e) { - throw new ServiceException($e->getMessage(), ServiceException::ERROR, __FUNCTION__); + $data = ''; + + foreach ((new DOMXPath($document))->query('/Root/*[not(self::Meta)]') as $node) { + $data .= $document->saveXML($node); } + + return sha1($data); } /** @@ -574,13 +542,46 @@ class XmlExportService extends Service } } + /** + * @return string + */ + public function getExportFile(): string + { + return $this->exportFile; + } + + /** + * @return bool + */ + public function isEncrypted(): bool + { + return $this->encrypted; + } + /** * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ - public function initialize() + protected function initialize() { $this->configData = $this->config->getConfigData(); $this->xml = new \DOMDocument('1.0', 'UTF-8'); } + + /** + * Devuelve el código XML de un nodo + * + * @param $node string El nodo a devolver + * + * @return string + * @throws ServiceException + */ + private function getNodeXML($node) + { + try { + return $this->xml->saveXML($this->root->getElementsByTagName($node)->item(0)); + } catch (\Exception $e) { + throw new ServiceException($e->getMessage(), ServiceException::ERROR, __FUNCTION__); + } + } } \ No newline at end of file diff --git a/lib/SP/Services/Export/XmlVerifyService.php b/lib/SP/Services/Export/XmlVerifyService.php new file mode 100644 index 00000000..0492e40e --- /dev/null +++ b/lib/SP/Services/Export/XmlVerifyService.php @@ -0,0 +1,226 @@ +. + */ + +namespace SP\Services\Export; + + +use Defuse\Crypto\Exception\CryptoException; +use DOMDocument; +use DOMXPath; +use SP\Core\Crypt\Crypt; +use SP\Core\Crypt\Hash; +use SP\Services\Service; +use SP\Services\ServiceException; +use SP\Storage\FileHandler; + +/** + * Class XmlVerifyService + * + * Verifies a sysPass exported file format + * + * @package SP\Services\Export + */ +class XmlVerifyService extends Service +{ + const NODES = ['Category', 'Client', 'Tag', 'Account']; + /** + * @var DOMDocument + */ + private $xml; + /** + * @var string + */ + private $xmlFile; + /** + * @var string + */ + private $password; + + /** + * @param string $xmlFile + * + * @return VerifyResult + * @throws ServiceException + * @throws \SP\Storage\FileException + */ + public function verify(string $xmlFile): VerifyResult + { + $this->xmlFile = $xmlFile; + + $this->setup(); + + $this->checkXmlHash($this->xml); + + return new VerifyResult($this->getXmlVersion(), false, $this->countItemNodes($this->xml)); + } + + /** + * @throws ServiceException + * @throws \SP\Storage\FileException + */ + private function setup() + { + $this->readXmlFile(); + } + + /** + * Leer el archivo a un objeto XML. + * + * @throws ServiceException + * @throws \SP\Storage\FileException + */ + protected function readXmlFile() + { + // Cargar el XML con DOM + $this->xml = new DOMDocument(); + $this->xml->formatOutput = false; + $this->xml->preserveWhiteSpace = false; + + if ($this->xml->loadXML((new FileHandler($this->xmlFile))->read()) === false) { + throw new ServiceException( + __u('Error interno'), + ServiceException::ERROR, + __u('No es posible procesar el archivo XML') + ); + } + } + + /** + * Obtener la versión del XML + * + * @param DOMDocument $document + * + * @return void + * @throws ServiceException + */ + private function checkXmlHash(DOMDocument $document) + { + $DOMXPath = new DOMXPath($this->xml); + $hash = $DOMXPath->query('/Root/Meta/Hash')->item(0)->nodeValue; + $hmac = $DOMXPath->query('/Root/Meta/Hash/@sign')->item(0)->nodeValue; + + if (!Hash::checkMessage($hash, $this->config->getConfigData()->getConfigHash(), $hmac) + || $hash !== XmlExportService::generateHashFromNodes($document) + ) { + throw new ServiceException(__u('Fallo en la verificación del hash de integridad')); + } + } + + /** + * Obtener la versión del XML + */ + private function getXmlVersion(): string + { + return (new DOMXPath($this->xml))->query('/Root/Meta/Version')->item(0)->nodeValue; + } + + /** + * @param DOMDocument $document + * + * @return int[] + */ + private function countItemNodes(DOMDocument $document): array + { + $result = []; + + foreach (self::NODES as $node) { + $result[$node] = (int)$document->getElementsByTagName($node)->length; + } + + return $result; + } + + /** + * @param string $xmlFile + * @param string $password + * + * @return VerifyResult + * @throws ServiceException + * @throws \SP\Storage\FileException + * @throws CryptoException + */ + public function verifyEncrypted(string $xmlFile, string $password): VerifyResult + { + $this->xmlFile = $xmlFile; + $this->password = $password; + + $this->setup(); + + $this->checkPassword(); + + $this->checkXmlHash($this->xml); + + return new VerifyResult($this->getXmlVersion(), $this->detectEncrypted(), $this->countItemNodes($this->processEncrypted())); + } + + /** + * @throws ServiceException + */ + private function checkPassword() + { + $hash = $this->xml + ->getElementsByTagName('Encrypted') + ->item(0) + ->getAttribute('hash'); + + if (empty($hash) || !Hash::checkHashKey($this->password, $hash)) { + throw new ServiceException(__u('Clave de encriptación incorrecta')); + } + } + + /** + * Verificar si existen datos encriptados + * + * @return bool + */ + private function detectEncrypted() + { + return $this->xml->getElementsByTagName('Encrypted')->length > 0; + } + + /** + * Procesar los datos encriptados y añadirlos al árbol DOM desencriptados + * + * @throws CryptoException + * @throws ServiceException + */ + private function processEncrypted(): DOMDocument + { + $xmlOut = new DOMDocument('1.0', 'UTF-8'); + $xmlOut->appendChild($xmlOut->createElement('Root')); + + foreach ($this->xml->getElementsByTagName('Data') as $node) { + /** @var $node \DOMElement */ + $xml = new DOMDocument(); + + if (!$xml->loadXML(Crypt::decrypt(base64_decode($node->nodeValue), $node->getAttribute('key'), $this->password))) { + throw new ServiceException(__u('Clave de encriptación incorrecta')); + } + + $xmlOut->documentElement->appendChild($xmlOut->importNode($xml->documentElement, true)); + } + + return $xmlOut; + } +} \ No newline at end of file diff --git a/lib/SP/Services/Import/KeepassXImport.php b/lib/SP/Services/Import/KeepassXImport.php index ec0302f6..15e50980 100644 --- a/lib/SP/Services/Import/KeepassXImport.php +++ b/lib/SP/Services/Import/KeepassXImport.php @@ -34,7 +34,7 @@ defined('APP_ROOT') || die(); /** * Esta clase es la encargada de importar cuentas desde KeePassX * - * @todo Use xmlDOM + * @todo Use xml */ class KeepassXImport extends XmlImportBase implements ImportInterface { diff --git a/lib/SP/Services/Import/SyspassImport.php b/lib/SP/Services/Import/SyspassImport.php index b1d98d15..296cff6c 100644 --- a/lib/SP/Services/Import/SyspassImport.php +++ b/lib/SP/Services/Import/SyspassImport.php @@ -27,7 +27,6 @@ namespace SP\Services\Import; use Defuse\Crypto\Exception\CryptoException; use DOMXPath; use SP\Account\AccountRequest; -use SP\Config\ConfigDB; use SP\Core\Crypt\Crypt; use SP\Core\Crypt\Hash; use SP\Core\Crypt\OldCrypt; @@ -59,7 +58,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface ); if ($this->importParams->getImportMasterPwd() !== '') { - $this->mPassValidHash = Hash::checkHashKey($this->importParams->getImportMasterPwd(), ConfigDB::getValue('masterPwd')); + $this->mPassValidHash = Hash::checkHashKey($this->importParams->getImportMasterPwd(), $this->configService->getByParam('masterPwd')); } $this->version = $this->getXmlVersion(); @@ -375,6 +374,7 @@ class SyspassImport extends XmlImportBase implements ImportInterface * Procesar las etiquetas de la cuenta * * @param \DOMNodeList $nodes + * * @return array */ protected function processAccountTags(\DOMNodeList $nodes) diff --git a/lib/SP/Services/Import/XmlImportBase.php b/lib/SP/Services/Import/XmlImportBase.php index b908563c..e4f0ecfc 100644 --- a/lib/SP/Services/Import/XmlImportBase.php +++ b/lib/SP/Services/Import/XmlImportBase.php @@ -2,8 +2,8 @@ /** * sysPass * - * @author nuxsmin - * @link https://syspass.org + * @author nuxsmin + * @link https://syspass.org * @copyright 2012-2018, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. @@ -29,6 +29,7 @@ use SP\Core\Events\EventDispatcher; use SP\Services\Account\AccountService; use SP\Services\Category\CategoryService; use SP\Services\Client\ClientService; +use SP\Services\Config\ConfigService; use SP\Services\Tag\TagService; /** @@ -52,6 +53,10 @@ abstract class XmlImportBase * @var EventDispatcher */ protected $eventDispatcher; + /** + * @var ConfigService + */ + protected $configService; /** * ImportBase constructor. @@ -59,6 +64,7 @@ abstract class XmlImportBase * @param Container $dic * @param XmlFileImport $xmlFileImport * @param ImportParams $importParams + * * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ @@ -73,6 +79,7 @@ abstract class XmlImportBase $this->clientService = $dic->get(ClientService::class); $this->tagService = $dic->get(TagService::class); $this->eventDispatcher = $dic->get(EventDispatcher::class); + $this->configService = $dic->get(ConfigService::class); } /** @@ -82,6 +89,7 @@ abstract class XmlImportBase * @param string $childNodeName Nombre de los nodos hijos * @param callable $callback Método a ejecutar * @param bool $required Indica si el nodo es requerido + * * @throws ImportException */ protected function getNodesData($nodeName, $childNodeName, $callback, $required = true) diff --git a/lib/SP/Services/Install/Installer.php b/lib/SP/Services/Install/Installer.php index 03cb7579..224653e7 100644 --- a/lib/SP/Services/Install/Installer.php +++ b/lib/SP/Services/Install/Installer.php @@ -56,7 +56,7 @@ class Installer extends Service */ const VERSION = [3, 0, 0]; const VERSION_TEXT = '3.0-beta'; - const BUILD = 18071602; + const BUILD = 18071701; /** * @var ConfigService diff --git a/tests/Repositories/CustomFieldRepositoryTest.php b/tests/Repositories/CustomFieldRepositoryTest.php index 41299c48..7b7ff357 100644 --- a/tests/Repositories/CustomFieldRepositoryTest.php +++ b/tests/Repositories/CustomFieldRepositoryTest.php @@ -196,81 +196,90 @@ class CustomFieldRepositoryTest extends DatabaseTestCase */ public function testGetForModuleById() { - $result = self::$repository->getForModuleById(ActionsInterface::ACCOUNT, 1); + $result = self::$repository->getForModuleAndItemId(ActionsInterface::ACCOUNT, 1); + $this->assertEquals(1, $result->getNumRows()); - $this->assertCount(1, $result); - $this->assertEquals('Prueba', $result[0]->definitionName); - $this->assertEquals(1, $result[0]->definitionId); - $this->assertEquals(ActionsInterface::ACCOUNT, $result[0]->moduleId); - $this->assertEquals(1, $result[0]->required); - $this->assertEquals(0, $result[0]->showInList); - $this->assertEquals('Ayuda', $result[0]->help); - $this->assertEquals(1, $result[0]->isEncrypted); - $this->assertEquals(1, $result[0]->typeId); - $this->assertEquals('text', $result[0]->typeName); - $this->assertEquals('Texto', $result[0]->typeText); - $this->assertNotEmpty($result[0]->data); - $this->assertNotEmpty($result[0]->key); + $data = $result->getDataAsArray(); - $result = self::$repository->getForModuleById(ActionsInterface::ACCOUNT, 2); + $this->assertCount(1, $data); + $this->assertEquals('Prueba', $data[0]->definitionName); + $this->assertEquals(1, $data[0]->definitionId); + $this->assertEquals(ActionsInterface::ACCOUNT, $data[0]->moduleId); + $this->assertEquals(1, $data[0]->required); + $this->assertEquals(0, $data[0]->showInList); + $this->assertEquals('Ayuda', $data[0]->help); + $this->assertEquals(1, $data[0]->isEncrypted); + $this->assertEquals(1, $data[0]->typeId); + $this->assertEquals('text', $data[0]->typeName); + $this->assertEquals('Texto', $data[0]->typeText); + $this->assertNotEmpty($data[0]->data); + $this->assertNotEmpty($data[0]->key); - $this->assertCount(1, $result); - $this->assertEquals('Prueba', $result[0]->definitionName); - $this->assertEquals(1, $result[0]->definitionId); - $this->assertEquals(ActionsInterface::ACCOUNT, $result[0]->moduleId); - $this->assertEquals(1, $result[0]->required); - $this->assertEquals(0, $result[0]->showInList); - $this->assertEquals('Ayuda', $result[0]->help); - $this->assertEquals(1, $result[0]->isEncrypted); - $this->assertEquals(1, $result[0]->typeId); - $this->assertEquals('text', $result[0]->typeName); - $this->assertEquals('Texto', $result[0]->typeText); - $this->assertEmpty($result[0]->data); - $this->assertEmpty($result[0]->key); + $result = self::$repository->getForModuleAndItemId(ActionsInterface::ACCOUNT, 2); + $this->assertEquals(1, $result->getNumRows()); + $data = $result->getDataAsArray(); - $result = self::$repository->getForModuleById(ActionsInterface::ACCOUNT, 3); + $this->assertCount(1, $data); + $this->assertEquals('Prueba', $data[0]->definitionName); + $this->assertEquals(1, $data[0]->definitionId); + $this->assertEquals(ActionsInterface::ACCOUNT, $data[0]->moduleId); + $this->assertEquals(1, $data[0]->required); + $this->assertEquals(0, $data[0]->showInList); + $this->assertEquals('Ayuda', $data[0]->help); + $this->assertEquals(1, $data[0]->isEncrypted); + $this->assertEquals(1, $data[0]->typeId); + $this->assertEquals('text', $data[0]->typeName); + $this->assertEquals('Texto', $data[0]->typeText); + $this->assertNotEmpty($data[0]->data); + $this->assertNotEmpty($data[0]->key); - $this->assertCount(1, $result); + $result = self::$repository->getForModuleAndItemId(ActionsInterface::ACCOUNT, 3); - $result = self::$repository->getForModuleById(ActionsInterface::CATEGORY, 1); + $this->assertEquals(1, $result->getNumRows()); - $this->assertCount(2, $result); - $this->assertEquals('RSA', $result[0]->definitionName); - $this->assertEquals(2, $result[0]->definitionId); - $this->assertEquals(ActionsInterface::CATEGORY, $result[0]->moduleId); - $this->assertEquals(0, $result[0]->required); - $this->assertEquals(0, $result[0]->showInList); - $this->assertEquals(null, $result[0]->help); - $this->assertEquals(0, $result[0]->isEncrypted); - $this->assertEquals(2, $result[0]->typeId); - $this->assertEquals('password', $result[0]->typeName); - $this->assertEquals('Clave', $result[0]->typeText); - $this->assertNotEmpty($result[0]->data); - $this->assertNull($result[0]->key); + $result = self::$repository->getForModuleAndItemId(ActionsInterface::CATEGORY, 1); + $this->assertEquals(1, $result->getNumRows()); - $result = self::$repository->getForModuleById(ActionsInterface::CATEGORY, 2); + $data = $result->getDataAsArray(); - $this->assertCount(2, $result); - $this->assertEquals('RSA', $result[0]->definitionName); - $this->assertEquals(2, $result[0]->definitionId); - $this->assertEquals(ActionsInterface::CATEGORY, $result[0]->moduleId); - $this->assertEquals(0, $result[0]->required); - $this->assertEquals(0, $result[0]->showInList); - $this->assertEquals(null, $result[0]->help); - $this->assertEquals(0, $result[0]->isEncrypted); - $this->assertEquals(2, $result[0]->typeId); - $this->assertEquals('password', $result[0]->typeName); - $this->assertEquals('Clave', $result[0]->typeText); - $this->assertNull($result[0]->data); - $this->assertNull($result[0]->key); + $this->assertCount(2, $data); + $this->assertEquals('RSA', $data[0]->definitionName); + $this->assertEquals(2, $data[0]->definitionId); + $this->assertEquals(ActionsInterface::CATEGORY, $data[0]->moduleId); + $this->assertEquals(0, $data[0]->required); + $this->assertEquals(0, $data[0]->showInList); + $this->assertEquals(null, $data[0]->help); + $this->assertEquals(0, $data[0]->isEncrypted); + $this->assertEquals(2, $data[0]->typeId); + $this->assertEquals('password', $data[0]->typeName); + $this->assertEquals('Clave', $data[0]->typeText); + $this->assertNotEmpty($data[0]->data); + $this->assertNull($data[0]->key); - $result = self::$repository->getForModuleById(ActionsInterface::CATEGORY, 3); + $result = self::$repository->getForModuleAndItemId(ActionsInterface::CATEGORY, 2); + $this->assertEquals(1, $result->getNumRows()); - $this->assertCount(2, $result); + $data = $result->getDataAsArray(); - $result = self::$repository->getForModuleById(ActionsInterface::USER, 1); + $this->assertCount(2, $data); + $this->assertEquals('RSA', $data[0]->definitionName); + $this->assertEquals(2, $data[0]->definitionId); + $this->assertEquals(ActionsInterface::CATEGORY, $data[0]->moduleId); + $this->assertEquals(0, $data[0]->required); + $this->assertEquals(0, $data[0]->showInList); + $this->assertEquals(null, $data[0]->help); + $this->assertEquals(0, $data[0]->isEncrypted); + $this->assertEquals(2, $data[0]->typeId); + $this->assertEquals('password', $data[0]->typeName); + $this->assertEquals('Clave', $data[0]->typeText); + $this->assertNull($data[0]->data); + $this->assertNull($data[0]->key); - $this->assertCount(0, $result); + $result = self::$repository->getForModuleAndItemId(ActionsInterface::CATEGORY, 3); + $this->assertEquals(2, $result->getNumRows()); + + $result = self::$repository->getForModuleAndItemId(ActionsInterface::USER, 1); + $this->assertEquals(0, $result->getNumRows()); } /** diff --git a/tests/Services/Client/ClientServiceTest.php b/tests/Services/Client/ClientServiceTest.php index 265ff169..94b28742 100644 --- a/tests/Services/Client/ClientServiceTest.php +++ b/tests/Services/Client/ClientServiceTest.php @@ -67,7 +67,7 @@ class ClientServiceTest extends DatabaseTestCase // Datos de conexión a la BBDD self::$databaseConnectionData = $dic->get(DatabaseConnectionData::class); - // Inicializar el repositorio + // Inicializar el servicio self::$service = $dic->get(ClientService::class); self::$setupUser = function (UserLoginResponse $response) use ($dic) { diff --git a/tests/Services/CustomField/CustomFieldServiceTest.php b/tests/Services/CustomField/CustomFieldServiceTest.php new file mode 100644 index 00000000..a8ce9faa --- /dev/null +++ b/tests/Services/CustomField/CustomFieldServiceTest.php @@ -0,0 +1,398 @@ +. + */ + +namespace SP\Tests\Services\CustomField; + +use SP\Core\Acl\ActionsInterface; +use SP\Core\Crypt\Crypt; +use SP\Core\Exceptions\ConstraintException; +use SP\DataModel\CustomFieldData; +use SP\Repositories\NoSuchItemException; +use SP\Services\CustomField\CustomFieldService; +use SP\Storage\Database\DatabaseConnectionData; +use SP\Tests\DatabaseTestCase; +use SP\Tests\Services\Account\AccountCryptServiceTest; +use function SP\Tests\setupContext; + +/** + * Class CustomFieldServiceTest + * + * @package SP\Tests\Services\CustomField + */ +class CustomFieldServiceTest extends DatabaseTestCase +{ + /** + * @var CustomFieldService + */ + private static $service; + + /** + * @throws \DI\NotFoundException + * @throws \SP\Core\Context\ContextException + * @throws \DI\DependencyException + */ + public static function setUpBeforeClass() + { + $dic = setupContext(); + + self::$dataset = 'syspass_customField.xml'; + + // Datos de conexión a la BBDD + self::$databaseConnectionData = $dic->get(DatabaseConnectionData::class); + + // Inicializar el repositorio + self::$service = $dic->get(CustomFieldService::class); + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testDeleteCustomFieldDefinitionDataBatch() + { + $this->assertEquals(3, self::$service->deleteCustomFieldDefinitionDataBatch([1, 2, 3])); + + $this->assertEquals(0, $this->conn->getRowCount('CustomFieldData')); + + $this->assertEquals(0, self::$service->deleteCustomFieldDefinitionDataBatch([])); + } + + /** + * @throws \Defuse\Crypto\Exception\CryptoException + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + * @throws \SP\Services\ServiceException + */ + public function testUpdateMasterPass() + { + $customFields = self::$service->getAllEncrypted(); + + foreach ($customFields as $customField) { + $data = Crypt::decrypt( + $customField->getData(), + $customField->getKey(), + AccountCryptServiceTest::CURRENT_MASTERPASS); + + $customField->setData($data); + + $this->assertEquals(1, self::$service->updateMasterPass($customField, AccountCryptServiceTest::NEW_MASTERPASS)); + } + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testGetAllEncrypted() + { + $data = self::$service->getAllEncrypted(); + + $this->assertCount(2, $data); + $this->assertEquals(1, $data[0]->getDefinitionId()); + $this->assertEquals(1, $data[0]->getItemId()); + $this->assertEquals(1, $data[1]->getDefinitionId()); + $this->assertEquals(2, $data[1]->getItemId()); + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testDeleteCustomFieldDataBatch() + { + $this->assertEquals(2, self::$service->deleteCustomFieldDataBatch([1, 2, 3], ActionsInterface::ACCOUNT)); + + $this->assertEquals(1, self::$service->deleteCustomFieldDataBatch([1, 2, 3], ActionsInterface::CATEGORY)); + + $this->assertEquals(0, $this->conn->getRowCount('CustomFieldData')); + + $this->assertEquals(0, self::$service->deleteCustomFieldDataBatch([], ActionsInterface::CATEGORY)); + + $this->assertEquals(0, self::$service->deleteCustomFieldDataBatch([], ActionsInterface::USER)); + } + + /** + * @throws \Defuse\Crypto\Exception\CryptoException + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + * @throws \SP\Core\Exceptions\SPException + */ + public function testUpdateOrCreateData() + { + $data = new CustomFieldData(); + $data->setItemId(1); + $data->setModuleId(ActionsInterface::ACCOUNT); + $data->setDefinitionId(1); + $data->setData('cuenta'); + + $this->assertTrue(self::$service->updateOrCreateData($data)); + + $data = new CustomFieldData(); + $data->setItemId(1); + $data->setModuleId(ActionsInterface::CATEGORY); + $data->setDefinitionId(2); + $data->setData('categoria'); + + $this->assertTrue(self::$service->updateOrCreateData($data)); + + $data = new CustomFieldData(); + $data->setItemId(2); + $data->setModuleId(ActionsInterface::ACCOUNT); + $data->setDefinitionId(1); + $data->setData('cuenta'); + + $this->assertTrue(self::$service->updateOrCreateData($data)); + + $data = new CustomFieldData(); + $data->setItemId(2); + $data->setModuleId(ActionsInterface::CATEGORY); + $data->setDefinitionId(2); + $data->setData('categoria'); + + $this->assertTrue(self::$service->updateOrCreateData($data)); + + $this->assertTrue(self::$service->updateOrCreateData(new CustomFieldData())); + + $data = new CustomFieldData(); + $data->setItemId(2); + $data->setModuleId(ActionsInterface::USER); + $data->setDefinitionId(3); + $data->setData('nan'); + + $this->assertEquals(true, self::$service->updateOrCreateData($data)); + + $this->assertEquals(5, $this->conn->getRowCount('CustomFieldData')); + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testGetForModuleAndItemId() + { + $result = self::$service->getForModuleAndItemId(ActionsInterface::ACCOUNT, 1); + + $this->assertCount(1, $result); + $this->assertEquals('Prueba', $result[0]->definitionName); + $this->assertEquals(1, $result[0]->definitionId); + $this->assertEquals(ActionsInterface::ACCOUNT, $result[0]->moduleId); + $this->assertEquals(1, $result[0]->required); + $this->assertEquals(0, $result[0]->showInList); + $this->assertEquals('Ayuda', $result[0]->help); + $this->assertEquals(1, $result[0]->isEncrypted); + $this->assertEquals(1, $result[0]->typeId); + $this->assertEquals('text', $result[0]->typeName); + $this->assertEquals('Texto', $result[0]->typeText); + $this->assertNotEmpty($result[0]->data); + $this->assertNotEmpty($result[0]->key); + + $result = self::$service->getForModuleAndItemId(ActionsInterface::ACCOUNT, 2); + + $this->assertCount(1, $result); + $this->assertEquals('Prueba', $result[0]->definitionName); + $this->assertEquals(1, $result[0]->definitionId); + $this->assertEquals(ActionsInterface::ACCOUNT, $result[0]->moduleId); + $this->assertEquals(1, $result[0]->required); + $this->assertEquals(0, $result[0]->showInList); + $this->assertEquals('Ayuda', $result[0]->help); + $this->assertEquals(1, $result[0]->isEncrypted); + $this->assertEquals(1, $result[0]->typeId); + $this->assertEquals('text', $result[0]->typeName); + $this->assertEquals('Texto', $result[0]->typeText); + $this->assertNotEmpty($result[0]->data); + $this->assertNotEmpty($result[0]->key); + + $result = self::$service->getForModuleAndItemId(ActionsInterface::ACCOUNT, 3); + + $this->assertCount(1, $result); + + $result = self::$service->getForModuleAndItemId(ActionsInterface::CATEGORY, 1); + + $this->assertCount(2, $result); + $this->assertEquals('SSL', $result[0]->definitionName); + $this->assertEquals(3, $result[0]->definitionId); + $this->assertEquals(ActionsInterface::CATEGORY, $result[0]->moduleId); + $this->assertEquals(0, $result[0]->required); + $this->assertEquals(0, $result[0]->showInList); + $this->assertEquals(null, $result[0]->help); + $this->assertEquals(1, $result[0]->isEncrypted); + $this->assertEquals(10, $result[0]->typeId); + $this->assertEquals('textarea', $result[0]->typeName); + $this->assertEquals('Área de Texto', $result[0]->typeText); + $this->assertNull($result[0]->data); + $this->assertNull($result[0]->key); + + $this->assertEquals('RSA', $result[1]->definitionName); + $this->assertEquals(2, $result[1]->definitionId); + $this->assertEquals(ActionsInterface::CATEGORY, $result[1]->moduleId); + $this->assertEquals(0, $result[1]->required); + $this->assertEquals(0, $result[1]->showInList); + $this->assertEquals(null, $result[1]->help); + $this->assertEquals(0, $result[1]->isEncrypted); + $this->assertEquals(2, $result[1]->typeId); + $this->assertEquals('password', $result[1]->typeName); + $this->assertEquals('Clave', $result[1]->typeText); + $this->assertNotEmpty($result[1]->data); + $this->assertNull($result[1]->key); + + $result = self::$service->getForModuleAndItemId(ActionsInterface::CATEGORY, 2); + + $this->assertEquals('SSL', $result[0]->definitionName); + $this->assertEquals(3, $result[0]->definitionId); + $this->assertEquals(ActionsInterface::CATEGORY, $result[0]->moduleId); + $this->assertEquals(0, $result[0]->required); + $this->assertEquals(0, $result[0]->showInList); + $this->assertEquals(null, $result[0]->help); + $this->assertEquals(1, $result[0]->isEncrypted); + $this->assertEquals(10, $result[0]->typeId); + $this->assertEquals('textarea', $result[0]->typeName); + $this->assertEquals('Área de Texto', $result[0]->typeText); + $this->assertNull($result[0]->data); + $this->assertNull($result[0]->key); + + $this->assertCount(2, $result); + $this->assertEquals('RSA', $result[1]->definitionName); + $this->assertEquals(2, $result[1]->definitionId); + $this->assertEquals(ActionsInterface::CATEGORY, $result[1]->moduleId); + $this->assertEquals(0, $result[1]->required); + $this->assertEquals(0, $result[1]->showInList); + $this->assertEquals(null, $result[1]->help); + $this->assertEquals(0, $result[1]->isEncrypted); + $this->assertEquals(2, $result[1]->typeId); + $this->assertEquals('password', $result[1]->typeName); + $this->assertEquals('Clave', $result[1]->typeText); + $this->assertNull($result[1]->data); + $this->assertNull($result[1]->key); + + $result = self::$service->getForModuleAndItemId(ActionsInterface::CATEGORY, 3); + + $this->assertCount(2, $result); + + $result = self::$service->getForModuleAndItemId(ActionsInterface::USER, 1); + + $this->assertCount(0, $result); + } + + /** + * @throws \SP\Core\Exceptions\SPException + */ + public function testDeleteCustomFieldData() + { + $this->assertEquals(1, self::$service->deleteCustomFieldData(1, ActionsInterface::ACCOUNT)); + $this->assertEquals(1, self::$service->deleteCustomFieldData(2, ActionsInterface::ACCOUNT)); + $this->assertEquals(1, self::$service->deleteCustomFieldData(1, ActionsInterface::CATEGORY)); + + $this->assertEquals(0, $this->conn->getRowCount('CustomFieldData')); + + $this->assertEquals(0, self::$service->deleteCustomFieldData(2, ActionsInterface::ACCOUNT)); + + $this->assertEquals(0, self::$service->deleteCustomFieldData(2, ActionsInterface::CATEGORY)); + + $this->assertEquals(0, self::$service->deleteCustomFieldData(2, ActionsInterface::USER)); + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testDeleteCustomFieldDefinitionData() + { + $this->assertEquals(2, self::$service->deleteCustomFieldDefinitionData(1)); + $this->assertEquals(1, self::$service->deleteCustomFieldDefinitionData(2)); + $this->assertEquals(0, self::$service->deleteCustomFieldDefinitionData(3)); + + $this->assertEquals(0, $this->conn->getRowCount('CustomFieldData')); + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testGetAll() + { + $result = self::$service->getAll(); + + $this->assertCount(3, $result); + $this->assertInstanceOf(CustomFieldData::class, $result[0]); + $this->assertInstanceOf(CustomFieldData::class, $result[1]); + } + + /** + * @throws ConstraintException + * @throws \Defuse\Crypto\Exception\CryptoException + * @throws \SP\Core\Exceptions\QueryException + * @throws \SP\Repositories\NoSuchItemException + * @throws \SP\Services\ServiceException + */ + public function testCreate() + { + $data = new CustomFieldData(); + $data->setId(2); + $data->setModuleId(ActionsInterface::ACCOUNT); + $data->setDefinitionId(1); + $data->setData('cuenta'); + $data->setKey('nan'); + + $this->assertEquals(3, self::$service->create($data)); + + $data = new CustomFieldData(); + $data->setId(2); + $data->setModuleId(ActionsInterface::CATEGORY); + $data->setDefinitionId(2); + $data->setData('categoria'); + $data->setKey('nan'); + + $this->assertEquals(4, self::$service->create($data)); + + $this->expectException(NoSuchItemException::class); + + $data = new CustomFieldData(); + $data->setId(2); + $data->setModuleId(ActionsInterface::ACCOUNT); + $data->setDefinitionId(1); + $data->setData('cuenta'); + $data->setKey('nan'); + + self::$service->create($data); + + $data->setDefinitionId(3); + + self::$service->create($data); + + $data = new CustomFieldData(); + $data->setId(2); + $data->setModuleId(ActionsInterface::CATEGORY); + $data->setDefinitionId(2); + $data->setData('categoria'); + $data->setKey('nan'); + + self::$service->create($data); + + $data->setDefinitionId(4); + + self::$service->create($data); + + $this->assertEquals(4, $this->conn->getRowCount('CustomFieldData')); + } +} diff --git a/tests/Services/Eventlog/EventlogServiceTest.php b/tests/Services/Eventlog/EventlogServiceTest.php new file mode 100644 index 00000000..9fa07494 --- /dev/null +++ b/tests/Services/Eventlog/EventlogServiceTest.php @@ -0,0 +1,147 @@ +. + */ + +namespace SP\Tests\Services\Eventlog; + +use SP\Core\Exceptions\ConstraintException; +use SP\DataModel\EventlogData; +use SP\DataModel\ItemSearchData; +use SP\Services\EventLog\EventlogService; +use SP\Storage\Database\DatabaseConnectionData; +use SP\Tests\DatabaseTestCase; +use function SP\Tests\setupContext; + +/** + * Class EventlogServiceTest + * + * @package SP\Tests\Services\Eventlog + */ +class EventlogServiceTest extends DatabaseTestCase +{ + /** + * @var EventlogService + */ + private static $service; + + /** + * @throws \DI\NotFoundException + * @throws \SP\Core\Context\ContextException + * @throws \DI\DependencyException + */ + public static function setUpBeforeClass() + { + $dic = setupContext(); + + self::$dataset = 'syspass_eventlog.xml'; + + // Datos de conexión a la BBDD + self::$databaseConnectionData = $dic->get(DatabaseConnectionData::class); + + // Inicializar el servicio + self::$service = $dic->get(EventlogService::class); + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + * @throws \SP\Core\Exceptions\SPException + */ + public function testClear() + { + self::$service->clear(); + + $this->assertEquals(0, $this->conn->getRowCount('EventLog')); + } + + /** + * @throws \SP\Core\Exceptions\ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testSearch() + { + $itemSearchData = new ItemSearchData(); + $itemSearchData->setLimitCount(10); + $itemSearchData->setSeachString('login.auth.database'); + + $result = self::$service->search($itemSearchData); + $data = $result->getDataAsArray(); + + $this->assertEquals(4, $result->getNumRows()); + $this->assertCount(4, $data); + $this->assertInstanceOf(\stdClass::class, $data[0]); + $this->assertEquals('login.auth.database', $data[0]->action); + + $itemSearchData->setSeachString('login.auth.'); + + $result = self::$service->search($itemSearchData); + $data = $result->getDataAsArray(); + + $this->assertEquals(4, $result->getNumRows()); + $this->assertCount(4, $data); + $this->assertInstanceOf(\stdClass::class, $data[0]); + + $itemSearchData->setSeachString('Tiempo inactivo : 0 min.'); + + $result = self::$service->search($itemSearchData); + $data = $result->getDataAsArray(); + + $this->assertEquals(1, $result->getNumRows()); + $this->assertCount(1, $data); + $this->assertInstanceOf(\stdClass::class, $data[0]); + + $itemSearchData->setSeachString('prueba'); + + $result = self::$service->search($itemSearchData); + + $this->assertCount(0, $result->getDataAsArray()); + $this->assertEquals(0, $result->getNumRows()); + } + + /** + * @throws ConstraintException + * @throws \SP\Core\Exceptions\QueryException + */ + public function testCreate() + { + $eventlogData = new EventlogData(); + $eventlogData->setAction('test'); + $eventlogData->setLevel('INFO'); + $eventlogData->setUserId(1); + $eventlogData->setLogin('Admin'); + $eventlogData->setIpAddress('127.0.0.1'); + $eventlogData->setDescription('Prueba'); + + $countBefore = $this->conn->getRowCount('EventLog'); + + self::$service->create($eventlogData); + + $countAfter = $this->conn->getRowCount('EventLog'); + + $this->assertEquals($countBefore + 1, $countAfter); + + $this->expectException(ConstraintException::class); + + self::$service->create(new EventlogData()); + } +} diff --git a/tests/Services/Export/XmlExportServiceTest.php b/tests/Services/Export/XmlExportServiceTest.php new file mode 100644 index 00000000..bd704273 --- /dev/null +++ b/tests/Services/Export/XmlExportServiceTest.php @@ -0,0 +1,159 @@ +. + */ + +namespace SP\Tests\Services\Export; + +use PHPUnit\Framework\TestCase; +use SP\Services\Export\VerifyResult; +use SP\Services\Export\XmlExportService; +use SP\Services\Export\XmlVerifyService; +use SP\Services\ServiceException; +use SP\Util\Util; +use function SP\Tests\setupContext; + +/** + * Class XmlExportServiceTest + * + * @package SP\Tests\Services\Export + */ +class XmlExportServiceTest extends TestCase +{ + /** + * Tears down the fixture, for example, close a network connection. + * This method is called after a test is executed. + */ + public static function setUpBeforeClass() + { + array_map('unlink', glob(TMP_DIR . DIRECTORY_SEPARATOR . '*.xml')); + } + + /** + * @throws \DI\DependencyException + * @throws \DI\NotFoundException + * @throws \SP\Core\Context\ContextException + * @throws \SP\Services\ServiceException + * @throws \SP\Storage\FileException + */ + public function testDoExportWithoutPassword() + { + $dic = setupContext(); + $service = $dic->get(XmlExportService::class); + $service->doExport(TMP_DIR); + + $this->assertFileExists($service->getExportFile()); + + $this->verifyExportWithoutPassword($service->getExportFile()); + } + + /** + * @depends testDoExportWithoutPassword + * + * @param $file + * + * @throws \DI\DependencyException + * @throws \DI\NotFoundException + * @throws \SP\Core\Context\ContextException + * @throws \SP\Services\ServiceException + * @throws \SP\Storage\FileException + */ + private function verifyExportWithoutPassword($file) + { + $dic = setupContext(); + $service = $dic->get(XmlVerifyService::class); + + $result = $service->verify($file); + + $this->assertInstanceOf(VerifyResult::class, $result); + + $this->checkVerifyResult($result); + } + + /** + * @param VerifyResult $verifyResult + */ + private function checkVerifyResult(VerifyResult $verifyResult) + { + $nodes = $verifyResult->getNodes(); + + $this->assertCount(4, $nodes); + $this->assertArrayHasKey('Account', $nodes); + $this->assertArrayHasKey('Category', $nodes); + $this->assertArrayHasKey('Client', $nodes); + $this->assertArrayHasKey('Tag', $nodes); + $this->assertEquals(2, $nodes['Account']); + $this->assertEquals(3, $nodes['Category']); + $this->assertEquals(3, $nodes['Client']); + $this->assertEquals(3, $nodes['Tag']); + } + + /** + * @throws \DI\DependencyException + * @throws \DI\NotFoundException + * @throws \Defuse\Crypto\Exception\CryptoException + * @throws \SP\Core\Context\ContextException + * @throws \SP\Services\ServiceException + * @throws \SP\Storage\FileException + */ + public function testDoExportWithPassword() + { + $dic = setupContext(); + $service = $dic->get(XmlExportService::class); + + $password = Util::randomPassword(); + + $service->doExport(TMP_DIR, $password); + + $this->assertFileExists($service->getExportFile()); + + $this->verifyExportWithPassword($service->getExportFile(), $password); + } + + /** + * @param $file + * @param $password + * + * @throws \DI\DependencyException + * @throws \DI\NotFoundException + * @throws \Defuse\Crypto\Exception\CryptoException + * @throws \SP\Core\Context\ContextException + * @throws \SP\Services\ServiceException + * @throws \SP\Storage\FileException + */ + private function verifyExportWithPassword($file, $password) + { + $dic = setupContext(); + $service = $dic->get(XmlVerifyService::class); + + $result = $service->verifyEncrypted($file, $password); + + $this->assertInstanceOf(VerifyResult::class, $result); + $this->assertTrue($result->isEncrypted()); + + $this->checkVerifyResult($result); + + $this->expectException(ServiceException::class); + + $service->verifyEncrypted($file, 'test123'); + } +} diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 10acaa5b..de8bdf40 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -37,6 +37,7 @@ define('APP_MODULE', 'tests'); define('APP_ROOT', dirname(__DIR__)); define('TEST_ROOT', dirname(__DIR__) . DIRECTORY_SEPARATOR . 'tests'); define('RESOURCE_DIR', TEST_ROOT . DIRECTORY_SEPARATOR . 'res'); +define('TMP_DIR', TEST_ROOT . DIRECTORY_SEPARATOR . 'tmp'); define('CONFIG_PATH', RESOURCE_DIR . DIRECTORY_SEPARATOR . 'config'); define('CONFIG_FILE', CONFIG_PATH . DIRECTORY_SEPARATOR . 'config.xml'); define('ACTIONS_FILE', CONFIG_PATH . DIRECTORY_SEPARATOR . 'actions.xml');