ελληνικά στο keycloak
109
logos/hellug_flat_1.svg
Κανονικό αρχείο
|
@ -0,0 +1,109 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="210mm"
|
||||
height="297mm"
|
||||
viewBox="0 0 210 297"
|
||||
version="1.1"
|
||||
id="svg12299"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="hellug_flat_1.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview12301"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.1893044"
|
||||
inkscape:cx="25.224829"
|
||||
inkscape:cy="439.75285"
|
||||
inkscape:window-width="2492"
|
||||
inkscape:window-height="1411"
|
||||
inkscape:window-x="68"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs12296" />
|
||||
<g
|
||||
inkscape:label="Στρώση 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
d="m 76.126162,28.699642 c -2.65e-4,-2.67e-4 -5.21e-4,-5.67e-4 -5.21e-4,-8.28e-4 -0.14196,-0.160228 -0.209584,-0.457294 -0.282306,-0.773775 -0.07254,-0.316247 -0.153681,-0.657292 -0.413321,-0.878337 -5.23e-4,-5.65e-4 -0.0012,-8.27e-4 -0.0016,-0.0015 -0.05147,-0.0449 -0.104331,-0.08278 -0.157434,-0.114372 -0.05331,-0.03158 -0.107367,-0.05731 -0.161375,-0.07766 0.360924,-1.070375 0.219408,-2.136282 -0.145025,-3.099316 -0.446965,-1.182183 -1.227525,-2.212068 -1.823763,-2.916607 -0.667348,-0.841844 -1.319982,-1.640883 -1.307094,-2.821196 0.01986,-1.801347 0.198099,-5.141824 -2.971858,-5.146269 -0.128885,-2.3e-4 -0.263384,0.0051 -0.403497,0.01637 -3.542342,0.285137 -2.602723,4.027708 -2.655353,5.280767 -0.0648,0.916462 -0.250519,1.638778 -0.880906,2.534655 -0.740328,0.880441 -1.783102,2.305658 -2.276887,3.789354 -0.232976,0.700096 -0.343848,1.413733 -0.24163,2.089268 -0.03204,0.02877 -0.06246,0.05896 -0.09169,0.08984 -0.217303,0.232273 -0.378,0.51341 -0.556941,0.702643 -0.167246,0.167034 -0.405368,0.230425 -0.667347,0.3242 -0.26198,0.09405 -0.549457,0.232506 -0.723954,0.567465 0,0 0,2.66e-4 -2.3e-4,2.66e-4 -2.3e-4,5.66e-4 -4.78e-4,0.0011 -8.95e-4,0.0016 -0.0821,0.153212 -0.108766,0.318587 -0.108766,0.486301 0,0.155081 0.02292,0.312294 0.04609,0.463611 0.04819,0.314842 0.09707,0.612587 0.03228,0.814243 -0.207246,0.566765 -0.233912,0.958564 -0.08794,1.243026 0.146429,0.284902 0.447004,0.410513 0.786876,0.481619 0.679744,0.14175 1.600183,0.106667 2.32554,0.491212 l 0.06246,-0.117656 -0.06175,0.117893 c 0.776583,0.406069 1.563926,0.550179 2.191975,0.40677 0.455658,-0.103834 0.825238,-0.375169 1.015173,-0.79249 0.491212,-0.0021 1.030377,-0.21052 1.893976,-0.257981 0.585945,-0.04727 1.317851,0.208159 2.159696,0.161375 0.02199,0.09123 0.05382,0.179175 0.09731,0.262682 4.77e-4,8.26e-4 8.95e-4,0.0016 0.0015,0.0021 0.326282,0.65261 0.932578,0.95108 1.578896,0.900088 0.646975,-0.05102 1.334906,-0.432501 1.891168,-1.094235 l -0.101983,-0.08561 0.102706,0.08467 c 0.530041,-0.642788 1.409778,-0.909211 1.993385,-1.261011 0.291687,-0.175901 0.528171,-0.396223 0.54665,-0.716235 0.0182,-0.319756 -0.169631,-0.678107 -0.60143,-1.157391 z"
|
||||
id="path3"
|
||||
style="fill:#027776;fill-opacity:1;stroke-width:0.023391"
|
||||
fill="#000000" />
|
||||
<path
|
||||
fill="#D6A312"
|
||||
d="m 76.461356,29.841828 c -0.01117,0.197395 -0.154147,0.344081 -0.418232,0.503141 -0.527726,0.318352 -1.463134,0.595302 -2.060284,1.318788 -0.518839,0.617288 -1.151334,0.956226 -1.708251,1.000202 -0.556918,0.04398 -1.037394,-0.18713 -1.320893,-0.755766 l -4.8e-4,-0.0011 -6.95e-4,-0.0015 c -0.175925,-0.334494 -0.102706,-0.861962 0.04536,-1.418646 0.148067,-0.556474 0.360925,-1.128151 0.389462,-1.592464 v -0.0015 c 0.02992,-0.595045 0.06339,-1.114817 0.163246,-1.515975 0.10011,-0.401158 0.257537,-0.672493 0.536381,-0.825236 0.0131,-0.007 0.02593,-0.01379 0.03881,-0.02012 0.03161,0.515305 0.286798,1.041158 0.737754,1.154815 0.493575,0.130078 1.204899,-0.293323 1.505239,-0.638809 0.06009,-0.0025 0.118569,-0.0054 0.175433,-0.0068 0.263618,-0.0063 0.484429,0.0089 0.710387,0.20631 l 6.96e-4,8.27e-4 6.96e-4,5.65e-4 c 0.173562,0.147127 0.256133,0.425016 0.32771,0.736115 0.0716,0.311359 0.128649,0.650272 0.343404,0.891901 l 2.64e-4,2.66e-4 2.65e-4,5.66e-4 c 0.412643,0.457762 0.54527,0.766992 0.533809,0.964647 z"
|
||||
id="path5"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:0.023391" />
|
||||
<path
|
||||
d="m 66.432436,31.300961 -2.29e-4,0.0015 v 0.0016 c -0.04772,0.625476 -0.400456,0.966051 -0.942193,1.089789 -0.541268,0.123739 -1.275514,5.66e-4 -2.00859,-0.382913 -2.35e-4,0 -4.79e-4,-2.63e-4 -6.96e-4,-2.63e-4 -0.81122,-0.429726 -1.776101,-0.386918 -2.395262,-0.516271 -0.309465,-0.06456 -0.511563,-0.161867 -0.604192,-0.342447 -0.09263,-0.180812 -0.09474,-0.495889 0.102221,-1.033183 l 8.96e-4,-0.0025 6.95e-4,-0.0021 c 0.09754,-0.300575 0.02526,-0.629453 -0.02199,-0.938215 -0.04725,-0.308506 -0.07041,-0.589432 0.03509,-0.785004 l 8.96e-4,-0.0019 c 0.134967,-0.26012 0.332856,-0.353218 0.578462,-0.441169 0.245839,-0.08818 0.537058,-0.157395 0.766993,-0.388057 l 0.0015,-0.0011 0.0011,-0.0011 c 0.212624,-0.224319 0.372385,-0.505715 0.55928,-0.705241 0.157656,-0.168416 0.315546,-0.279991 0.553434,-0.281628 0.0028,2.67e-4 0.0054,2.67e-4 0.0081,0 0.04163,2.67e-4 0.08585,0.0037 0.132627,0.01106 0.315781,0.04773 0.591092,0.268505 0.856347,0.628261 l 0.765825,1.395744 2.34e-4,8.28e-4 4.78e-4,5.65e-4 c 0.203736,0.425482 0.634131,0.893538 0.998798,1.370949 0.364667,0.477201 0.646763,0.956485 0.610039,1.323257 z"
|
||||
id="path7"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:0.023391"
|
||||
fill="#D6A312" />
|
||||
<path
|
||||
d="M 70.25173,18.289446 C 70.19022,18.168983 70.064601,18.054367 69.850807,17.96665 l -4.78e-4,-2.3e-4 -6.97e-4,-2.29e-4 c -0.444666,-0.190412 -0.637643,-0.203979 -0.885822,-0.365378 -0.403963,-0.25964 -0.737754,-0.350632 -1.015172,-0.349461 -0.145258,4.77e-4 -0.275079,0.02619 -0.391333,0.06643 -0.338001,0.116254 -0.562321,0.35882 -0.702901,0.491915 l -2.29e-4,2.3e-4 c 0,2.29e-4 -2.3e-4,2.29e-4 -2.3e-4,4.78e-4 -0.0276,0.02619 -0.06316,0.05006 -0.149236,0.113213 -0.08677,0.06339 -0.216835,0.158826 -0.403963,0.299172 -0.166311,0.124675 -0.220344,0.287008 -0.162803,0.477177 0.05731,0.19017 0.240695,0.409578 0.576123,0.59928 l 4.78e-4,4.78e-4 6.96e-4,2.3e-4 c 0.20818,0.122336 0.350398,0.287243 0.513667,0.418466 0.08164,0.0655 0.16748,0.123973 0.270869,0.168181 0.103383,0.04422 0.224086,0.07415 0.375193,0.08305 0.354609,0.02058 0.615653,-0.08585 0.846055,-0.217772 0.230869,-0.131691 0.426396,-0.292855 0.65074,-0.365601 l 4.78e-4,-2.31e-4 4.79e-4,-2.3e-4 c 0.459845,-0.143621 0.787811,-0.432968 0.890475,-0.707814 0.05146,-0.137538 0.04982,-0.268061 -0.01147,-0.388525 z"
|
||||
id="path9"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:0.023391"
|
||||
fill="#D6A312" />
|
||||
<path
|
||||
d="m 69.084984,18.968255 c -0.365854,0.1907 -0.793192,0.421975 -1.247914,0.421975 -0.454489,0 -0.813542,-0.210052 -1.071778,-0.414723 -0.129119,-0.102221 -0.233912,-0.203971 -0.312974,-0.277886 -0.137172,-0.108281 -0.12074,-0.260148 -0.06438,-0.255666 0.09447,0.01179 0.108755,0.136177 0.16824,0.191808 0.08046,0.07533 0.18128,0.17286 0.303381,0.2697 0.244204,0.193443 0.569807,0.381742 0.977513,0.381742 0.407005,0 0.882119,-0.238944 1.172127,-0.401626 0.164303,-0.09217 0.373374,-0.257373 0.543996,-0.382617 0.130539,-0.09582 0.125779,-0.211203 0.233562,-0.198641 0.107784,0.01256 0.02806,0.127712 -0.122891,0.259443 -0.150941,0.131732 -0.38708,0.306516 -0.57888,0.406491 z"
|
||||
id="path11"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#3e8aea;fill-opacity:1;stroke-width:0.023391"
|
||||
sodipodi:nodetypes="sscccccssszzs" />
|
||||
<path
|
||||
d="m 74.687144,26.775259 c -0.05076,-0.0019 -0.10081,-0.0016 -0.149469,-5.66e-4 -0.0045,2.64e-4 -0.0089,2.64e-4 -0.01358,2.64e-4 0.125609,-0.396711 -0.152277,-0.689334 -0.892837,-1.024293 -0.76793,-0.337744 -1.379839,-0.304318 -1.483228,0.38104 -0.0065,0.03578 -0.01193,0.07252 -0.01591,0.109465 -0.05754,0.02013 -0.115083,0.04538 -0.173093,0.07697 -0.360457,0.197417 -0.55741,0.555302 -0.66688,0.994609 -0.10924,0.438815 -0.140814,0.969093 -0.170755,1.565332 0,2.63e-4 0,2.63e-4 0,5.65e-4 -0.01848,0.299662 -0.141983,0.705238 -0.266892,1.134722 -1.257971,0.897494 -3.003881,1.286252 -4.486407,0.274354 -0.100347,-0.158823 -0.215665,-0.316247 -0.334258,-0.471562 -0.07579,-0.09915 -0.153679,-0.197657 -0.23087,-0.29494 0.152043,2.66e-4 0.281395,-0.02482 0.385953,-0.07203 0.130055,-0.05918 0.22128,-0.153682 0.266658,-0.275339 0.09029,-0.243032 -4.78e-4,-0.585943 -0.289816,-0.977746 -0.289347,-0.391566 -0.77939,-0.833424 -1.499367,-1.275047 0,0 0,0 0,-2.64e-4 -0.529106,-0.329112 -0.824769,-0.732399 -0.963244,-1.170255 -0.138709,-0.438114 -0.119293,-0.911785 -0.01239,-1.379371 0.204906,-0.897516 0.731204,-1.770471 1.0671,-2.318289 0.09029,-0.06643 0.03228,0.123505 -0.340106,0.814945 -0.333557,0.632049 -0.957396,2.090694 -0.103383,3.229394 0.02292,-0.81029 0.216367,-1.636697 0.541269,-2.40977 0.473202,-1.072482 1.462878,-2.932774 1.541472,-4.415298 0.0407,0.02948 0.179877,0.123504 0.241863,0.158824 2.31e-4,2.3e-4 2.31e-4,2.3e-4 4.79e-4,2.3e-4 0.181514,0.106893 0.317885,0.26315 0.494488,0.405134 0.17707,0.142217 0.398115,0.265021 0.73214,0.284434 0.03204,0.0019 0.06339,0.0028 0.09403,0.0028 0.344315,0 0.612845,-0.112276 0.836464,-0.240227 0.243056,-0.138943 0.437179,-0.292856 0.62129,-0.352736 2.3e-4,-2.31e-4 4.78e-4,-2.31e-4 6.96e-4,-2.31e-4 0.388993,-0.121633 0.697989,-0.336831 0.873866,-0.587584 0.302214,1.191073 1.00488,2.911486 1.456585,3.750992 0.240227,0.445366 0.717849,1.391768 0.924182,2.532083 0.130756,-0.0041 0.274845,0.01498 0.428992,0.05448 0.539645,-1.399021 -0.457516,-2.905639 -0.913641,-3.325275 -0.184088,-0.178708 -0.192977,-0.258706 -0.101521,-0.254963 0.494488,0.437647 1.144034,1.317385 1.380308,2.31057 0.107807,0.452827 0.130756,0.929093 0.01518,1.399019 0.05637,0.02339 0.113915,0.04889 0.172158,0.07651 0.86617,0.421718 1.186396,0.78849 1.032481,1.28906 z"
|
||||
id="path13"
|
||||
fill="#ffffff"
|
||||
style="stroke-width:0.023391" />
|
||||
<path
|
||||
d="m 70.292431,16.917327 c 0.0019,0.236016 -0.03883,0.436945 -0.128418,0.642085 -0.05099,0.116955 -0.10968,0.215198 -0.180088,0.300341 -0.02388,-0.01146 -0.04865,-0.02246 -0.0744,-0.03299 -0.08912,-0.03813 -0.167948,-0.06947 -0.238566,-0.09614 -0.07066,-0.02667 -0.125795,-0.04488 -0.182659,-0.06454 0.04119,-0.04982 0.122337,-0.10854 0.152535,-0.182216 0.04585,-0.111114 0.06831,-0.219643 0.07252,-0.348996 0,-0.0051 0.0016,-0.0096 0.0016,-0.01568 0.0026,-0.123973 -0.0138,-0.229934 -0.05006,-0.338468 -0.0379,-0.113914 -0.08611,-0.195784 -0.155784,-0.263852 -0.06995,-0.06807 -0.139646,-0.09895 -0.223385,-0.101746 -0.004,-2.35e-4 -0.0077,-2.35e-4 -0.01169,-2.35e-4 -0.07859,2.35e-4 -0.146896,0.02737 -0.21756,0.08631 -0.07416,0.06199 -0.129119,0.141282 -0.174942,0.251687 -0.0456,0.110402 -0.06807,0.219877 -0.07254,0.349932 -6.96e-4,0.0051 -6.96e-4,0.0096 -6.96e-4,0.01474 -0.0016,0.07157 0.003,0.137071 0.01404,0.200694 -0.160931,-0.08023 -0.366821,-0.138732 -0.509039,-0.17265 -0.0081,-0.06151 -0.01286,-0.124908 -0.01427,-0.191339 v -0.01801 c -0.0026,-0.235315 0.03603,-0.43718 0.126548,-0.642086 0.09052,-0.205138 0.202566,-0.352503 0.360199,-0.472499 0.15789,-0.119762 0.312996,-0.174731 0.496593,-0.176602 h 0.0087 c 0.179644,0 0.333322,0.05286 0.491212,0.167246 0.16023,0.116487 0.27578,0.26198 0.368877,0.465483 0.09123,0.198355 0.135201,0.392267 0.139669,0.622201 -2.5e-5,0.0061 -2.5e-5,0.01117 0.0016,0.01731 z"
|
||||
id="path15"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke-width:0.023391"
|
||||
sodipodi:nodetypes="ccccccccccccccccccccccccscccc" />
|
||||
<path
|
||||
d="m 67.577195,17.152407 c -0.02362,0.0068 -0.04655,0.01404 -0.06923,0.02176 -0.12865,0.04444 -0.230795,0.09349 -0.329506,0.158751 0.0096,-0.06831 0.01095,-0.13754 0.0035,-0.214965 -6.96e-4,-0.0042 -6.96e-4,-0.0077 -6.96e-4,-0.01193 -0.01027,-0.102683 -0.03205,-0.188766 -0.06831,-0.275781 -0.03858,-0.09053 -0.08187,-0.154382 -0.13871,-0.203502 -0.05146,-0.04444 -0.10011,-0.06502 -0.153912,-0.06456 -0.0054,0 -0.01095,2.34e-4 -0.01661,6.96e-4 -0.06034,0.0051 -0.110402,0.03461 -0.15789,0.09239 -0.04725,0.05754 -0.07836,0.129119 -0.10081,0.224086 -0.02246,0.09474 -0.0283,0.187831 -0.01895,0.294728 0,0.0042 8.95e-4,0.0077 8.95e-4,0.01193 0.01027,0.10362 0.03111,0.189701 0.06807,0.276716 0.0379,0.08959 0.08187,0.153445 0.138709,0.202567 0.0096,0.0081 0.01895,0.01568 0.0283,0.02222 -0.05895,0.04561 -0.09855,0.07797 -0.147202,0.11352 -0.03111,0.0227 -0.06807,0.04982 -0.111113,0.08164 -0.0938,-0.08794 -0.167012,-0.198355 -0.231102,-0.344082 -0.07579,-0.172158 -0.116255,-0.344551 -0.128418,-0.548053 v -0.0016 c -0.01117,-0.203502 0.0087,-0.378468 0.06456,-0.559514 0.05613,-0.181047 0.13099,-0.312037 0.239759,-0.419636 0.108529,-0.107829 0.218004,-0.1621 0.349929,-0.168883 0.01027,-4.79e-4 0.02035,-6.97e-4 0.03041,-6.97e-4 0.119528,2.35e-4 0.226192,0.03999 0.336597,0.128183 0.119763,0.09567 0.210286,0.218005 0.286072,0.390398 0.07603,0.172392 0.116489,0.344784 0.127716,0.548286 v 0.0016 c 0.0054,0.08538 0.0046,0.165842 -0.0021,0.243736 z"
|
||||
id="path17"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke-width:0.023391"
|
||||
sodipodi:nodetypes="cccccccccccccccccccccccccccccc" />
|
||||
<path
|
||||
sodipodi:nodetypes="aaaaaaa"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path28396-7"
|
||||
d="m 68.17733,17.639168 c 0.01513,0.04856 0.09341,0.04051 0.138622,0.06381 0.03968,0.02044 0.0716,0.06523 0.116215,0.06653 0.04258,0.0012 0.108856,-0.01475 0.114392,-0.05699 0.0073,-0.0558 -0.07417,-0.09126 -0.126606,-0.111711 -0.06749,-0.02631 -0.153926,-0.03966 -0.217222,-0.0045 -0.0145,0.008 -0.03034,0.02697 -0.0254,0.04283 z"
|
||||
style="fill:#202020;fill-opacity:1;stroke:none;stroke-width:0.023391" />
|
||||
<path
|
||||
style="fill:#202020;fill-opacity:1;stroke:none;stroke-width:0.023391"
|
||||
d="m 67.715022,17.639168 c -0.01513,0.04856 -0.09341,0.04051 -0.138623,0.06381 -0.03968,0.02044 -0.0716,0.06523 -0.116213,0.06653 -0.04258,0.0012 -0.108857,-0.01475 -0.114392,-0.05699 -0.0073,-0.0558 0.07417,-0.09126 0.126604,-0.111711 0.06747,-0.02631 0.153927,-0.03966 0.217224,-0.0045 0.0145,0.008 0.03034,0.02697 0.0254,0.04283 z"
|
||||
id="path5461"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="aaaaaaa" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25.4px;line-height:125%;font-family:Unifont;-inkscape-font-specification:'Unifont, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;letter-spacing:0px;word-spacing:0px;fill:#808080;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="76.248558"
|
||||
y="31.750183"
|
||||
id="text13378"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan13376"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:25.4px;font-family:Unifont;-inkscape-font-specification:'Unifont, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#808080;stroke-width:0.264583px"
|
||||
x="76.248558"
|
||||
y="31.750183">hellug</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Μετά Πλάτος: | Ύψος: | Μέγεθος: 15 KiB |
378
themes/hellug-keycloak/account/messages/messages_el.properties
Κανονικό αρχείο
|
@ -0,0 +1,378 @@
|
|||
# encoding: UTF-8
|
||||
|
||||
role_manage-identity-providers=Διαχείριση παρόχων ταυτότητας
|
||||
doRemove=Αφαίρεση
|
||||
doAdd=Προσθήκη
|
||||
doSignOut=Έξοδος
|
||||
doLink=Σύνδεση
|
||||
personalInfoSidebarTitle=Προσωπικά στοιχεία
|
||||
accountSecuritySidebarTitle=Ασφάλεια λογαριασμού
|
||||
signingInSidebarTitle=Σε είσοδο
|
||||
deviceActivitySidebarTitle=Δραστηριότητα συσκευών
|
||||
role_manage-account-links=Διαχείριση συνδέσεων λογαριασμού
|
||||
linkedAccountsSidebarTitle=Συνδεδεμένοι λογαριασμοί
|
||||
editAccountHtmlTitle=Επεξεργασία Λογαριασμού
|
||||
personalInfoHtmlTitle=Προσωπικά Στοιχεία
|
||||
changePasswordHtmlTitle=Αλλαγή Κωδικού
|
||||
|
||||
|
||||
requiredFields=Απαιτούμενα πεδία
|
||||
sessionsHtmlTitle=Συνεδρίες
|
||||
accountManagementTitle=Διαχείριση Λογαριασμού Keycloak
|
||||
authenticatorTitle=Εφαρμογή Ταυτοποίησης
|
||||
applicationsHtmlTitle=Εφαρμογές
|
||||
linkedAccountsHtmlTitle=Συνδεδεμένοι λογαριασμοί
|
||||
accountManagementWelcomeMessage=Καλώς Ήλθατε στη Διαχείριση Λογαριασμού στο Keycloak
|
||||
personalInfoIntroMessage=Διαχειριστείτε τα βασικά στοιχεία
|
||||
accountSecurityIntroMessage=Ελέγξτε το κωδικό και τη πρόσβαση σας
|
||||
passwordLastUpdateMessage=Ο κωδικός πρόσβασης σας ενημερώθηκε στις
|
||||
updatePasswordMessageTitle=Βεβαιωθείτε ότι επιλέξατε ένα ισχυρό κωδικό
|
||||
updatePasswordMessage=Ένας ισχυρός κωδικός πρόσβασης είναι συνδυασμός ψηφίων, γραμμάτων και συμβόλων. Είναι δύσκολο να βρεθεί, δεν είναι υπαρκτή λέξη και το χρησιμοποιείται μόνο σε αυτό το λογαριασμό.
|
||||
email=Email
|
||||
firstName=Όνομα
|
||||
lastName=Επώνυμο
|
||||
familyName=Επώνυμο
|
||||
password=Κωδικός Πρόσβασης
|
||||
passwordConfirm=Επιβεβαίωση
|
||||
currentPassword=Τρέχων Κωδικός Πρόσβασης
|
||||
passwordNew=Νέος Κωδικός Πρόσβασης
|
||||
username=Όνομα χρήστη
|
||||
address=Διεύθυνση
|
||||
street=Οδός
|
||||
locality=Πόλη ή Δήμος
|
||||
postal_code=Ταχυδρομικός Κώδικας
|
||||
country=Χώρα
|
||||
emailVerified=Επιβεβαιωμένο Email
|
||||
website=Ιστοσελίδα
|
||||
phoneNumber=Τηλέφωνο
|
||||
phoneNumberVerified=Επιβεβαιωμένο τηλέφωνο
|
||||
gender=Φύλο
|
||||
birthday=Ημερομηνία γέννησης
|
||||
zoneinfo=Ζώνη ώρας
|
||||
gssDelegationCredential=GSS διαπιστευτήρια εξουσιοδότησης
|
||||
profileScopeConsentText=Προφίλ χρήστη
|
||||
emailScopeConsentText=Διεύθυνση email
|
||||
addressScopeConsentText=Διεύθυνση
|
||||
phoneScopeConsentText=Τηλέφωνο
|
||||
samlRoleListScopeConsentText=Οι Ρόλοι Μου
|
||||
rolesScopeConsentText=Ρόλοι χρήστη
|
||||
role_admin=Διαχειριστής
|
||||
role_view-identity-providers=Εμφάνιση παρόχων ταυτότητας
|
||||
role_manage-realm=Διαχείριση τομέα
|
||||
role_manage-users=Διαχείριση χρηστών
|
||||
role_manage-applications=Διαχείριση εφαρμογών
|
||||
role_realm-admin=Διαχειριστή Τόπου
|
||||
role_create-realm=Δημιουργία τομέα
|
||||
role_view-realm=Εμφάνιση τομέα
|
||||
role_view-users=Εμφάνιση χρηστών
|
||||
role_view-applications=Εμφάνιση εφαρμογών
|
||||
role_view-clients=Εμφάνιση πελατών
|
||||
role_view-events=Εμφάνιση συμβάντων
|
||||
role_manage-clients=Διαχείριση πελατών
|
||||
role_manage-events=Διαχείριση συμβάντων
|
||||
role_view-profile=Εμφάνιση προφίλ
|
||||
role_manage-account=Διαχείριση λογαριασμού
|
||||
role_read-token=Ανάγνωση διακριτικού
|
||||
role_offline-access=Πρόσβαση εκτός-σύνδεσης
|
||||
client_account=Λογαριασμός
|
||||
client_account-console=Κονσόλα Λογαριασμού
|
||||
client_admin-cli=CLI Διαχείρισης
|
||||
client_realm-management=Διαχείριση Τομέα
|
||||
client_broker=Μεσολαβητής
|
||||
inResource=σε
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
invalidEmailMessage=Μη έγκυρη διεύθυνση email.
|
||||
accountDisabledMessage=Ο λογαριασμός έχει απενεργοποιηθεί, επικοινωνήστε με το διαχειριστή.
|
||||
consentDenied=Άρνηση Συναίνεσης.
|
||||
locale_ca=Català
|
||||
locale_cs=Čeština
|
||||
locale_de=Deutsch
|
||||
locale_es=Español
|
||||
locale_fr=Français
|
||||
locale_hu=Magyar
|
||||
locale_it=Italiano
|
||||
locale_ja=日本語
|
||||
locale_lt=Lietuvių
|
||||
locale_nl=Nederlands
|
||||
locale_no=Norsk
|
||||
locale_pl=Polski
|
||||
locale_pt-BR=Português (Brasil)
|
||||
locale_ru=Русский
|
||||
locale_sk=Slovenčina
|
||||
locale_sv=Svenska
|
||||
locale_tr=Türkçe
|
||||
locale_zh-CN=中文简体
|
||||
locale_fi=Suomi
|
||||
doSave=Αποθήκευση
|
||||
doCancel=Ακύρωση
|
||||
doLogIn=Είσοδος
|
||||
updatePasswordTitle=Ενημέρωση Κωδικού Πρόσβασης
|
||||
locale_ar=عربي
|
||||
authenticatorCode=Κωδικός μίας-χρήσης
|
||||
locale_en=English
|
||||
givenName=Όνομα
|
||||
region=Νομός ή Περιφέρεια
|
||||
fullName=Ονοματεπώνυμο
|
||||
offlineAccessScopeConsentText=Πρόσβαση εκτός-σύνδεσης
|
||||
accountSecurityTitle=Ασφάλεια Λογαριασμού
|
||||
invalidPasswordGenericMessage=Μη έγκυρος κωδικός πρόσβασης: ο νέος κωδικός δε συμφωνεί με τις πολιτικές κωδικών.
|
||||
invalidPasswordHistoryMessage=Μη έγκυρος κωδικός πρόσβασης: δε πρέπει να είναι το ίδιο με τους τελευταίους {0} κωδικούς.
|
||||
invalidPasswordRegexPatternMessage=Μη έγκυρος κωδικός πρόσβασης: δε ταιριάζει με τα μοτίβα regex.
|
||||
invalidPasswordNotEmailMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίδιο με το email.
|
||||
invalidPasswordNotUsernameMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίδιο με το όνομα χρήστη.
|
||||
invalidPasswordMinSpecialCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} ειδικούς χαρακτήρες.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} κεφαλαίους χαρακτήρες.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} πεζούς χαρακτήρες.
|
||||
invalidPasswordMinDigitsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} ψηφία.
|
||||
invalidPasswordMaxLengthMessage=Μη έγκυρος κωδικός πρόσβασης: μέγιστο μήκος {0}.
|
||||
invalidPasswordMinLengthMessage=Μη έγκυρος κωδικός πρόσβασης: ελάχιστο μήκος {0}.
|
||||
accountPasswordUpdatedMessage=Ο κωδικός πρόσβασης ενημερώθηκε.
|
||||
accountUpdatedMessage=Ο λογαριασμός σας έχει ενημερωθεί.
|
||||
emailExistsMessage=Το email υπάρχει ήδη.
|
||||
usernameExistsMessage=Το όνομα χρήστη υπάρχει ήδη.
|
||||
invalidTotpMessage=Μη έγκυρος κωδικός μίας χρήσης.
|
||||
invalidPasswordConfirmMessage=Η επιβεβαίωση του κωδικού πρόσβασης δε ταιριάζει.
|
||||
invalidPasswordBlacklistedMessage=Μη έγκυρος κωδικός πρόσβασης: ο κωδικός πρόσβασης είναι απαγορευμένος.
|
||||
invalidPasswordExistingMessage=Μη έγκυρος υπάρχοντας κωδικός πρόσβασης.
|
||||
error-invalid-date=Μη έγκυρη ημερομηνία.
|
||||
error-invalid-uri-fragment=Μη έγκυρο κομμάτι URL.
|
||||
error-invalid-uri-scheme=Μη έγκυρο σχήμα URL.
|
||||
error-invalid-uri=Μη έγκυρο URL.
|
||||
error-pattern-no-match=Μη έγκυρη τιμή.
|
||||
error-invalid-number=Μη έγκυρος αριθμός.
|
||||
error-invalid-email=Μη έγκυρη διεύθυνση email.
|
||||
error-empty=Παρακαλώ ορίστε τιμή.
|
||||
error-invalid-blank=Παρακαλώ ορίστε τιμή.
|
||||
error-invalid-value=Μη έγκυρη τιμή.
|
||||
notMatchPasswordMessage=Οι κωδικοί πρόσβασης δε ταιριάζουν.
|
||||
missingTotpDeviceNameMessage=Παρακαλώ ορίστε όνομα συσκευής.
|
||||
missingTotpMessage=Παρακαλώ εισάγετε ένα κωδικό από εφαρμογή ταυτοποίησης.
|
||||
missingPasswordMessage=Παρακαλώ ορίστε κωδικό πρόσβασης.
|
||||
missingUsernameMessage=Παρακαλώ ορίστε όνομα χρήστη.
|
||||
missingEmailMessage=Παρακαλώ ορίστε email.
|
||||
missingLastNameMessage=Παρακαλώ ορίστε επώνυμο.
|
||||
missingFirstNameMessage=Παρακαλώ ορίστε ένα όνομα.
|
||||
readOnlyUsernameMessage=Δε μπορείτε να ενημερώσετε το όνομα χρήστη σας καθώς είναι μόνο-για-ανάγνωση.
|
||||
access-denied-when-idp-auth=Δεν επιτρέπεται η πρόσβαση κατά τη ταυτοποίηση με {0}
|
||||
accountUnusable=Κάθε μεταγενέστερη χρήση αυτής της εφαρμογής δεν θα είναι δυνατή με αυτό το λογαριασμό
|
||||
loggingOutImmediately=Άμεση αποσύνδεση σας
|
||||
errasingData=Διαγραφή όλων των δεδομένων σας
|
||||
deletingImplies=Η διαγραφή του λογαριασμού σας συνεπάγεται:
|
||||
irreversibleAction=Αυτή η ενέργεια είναι μη αναστρέψιμη
|
||||
openshift.scope.list-projects=Εμφάνιση λίστας έργων
|
||||
openshift.scope.user_full=Πλήρης Πρόσβαση
|
||||
openshift.scope.user_check-access=Πληροφορίες πρόσβασης χρήστη
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Πληροφορίες χρήστη
|
||||
clientNotFoundMessage=Ο πελάτης δε βρέθηκε.
|
||||
identityProviderAlreadyLinkedMessage=Η ομόσπονδη ταυτότητα που επιστρέφει το {0} είναι ήδη συνδεδεμένη με ένα άλλο χρήστη.
|
||||
role_view-groups=Εμφάνιση ομάδων
|
||||
role_uma_authorization=Απόκτηση δικαιωμάτων
|
||||
client_security-admin-console=κονσόλα διαχειριστή ασφαλείας
|
||||
allFieldsRequired=Απαιτούνται όλα τα πεδία
|
||||
backTo=Πίσω στο{0}
|
||||
date=Ημερομηνία
|
||||
event=Γεγονός
|
||||
ip=IP
|
||||
client=Πελάτης
|
||||
clients=Πελάτες
|
||||
details=Λεπτομέρειες
|
||||
started=Ξεκίνησε
|
||||
expires=Λήγει
|
||||
applications=Εφαρμογές
|
||||
account=Λογαριασμός
|
||||
federatedIdentity=Ομόσπονδη Ταυτότητα
|
||||
device-activity=Δραστηριότητα συσκευών
|
||||
sessions=Συνεδρίες
|
||||
log=Λογότυπο
|
||||
application=Εφαρμογή
|
||||
availableRoles=Διαθέσιμοι Ρόλοι
|
||||
grantedPersonalInfo=Εκχωρημένες Προσωπικές Πληροφορίες
|
||||
additionalGrants=Επιπλέον Χορηγήσεις
|
||||
action=Δράση
|
||||
doLogOutAllSessions=Έξοδος από όλες τις συνεδρίες
|
||||
accountLogHtmlTitle=Αρχείο Λογαριασμού
|
||||
noAccessMessage=Δεν επιτρέπεται η πρόσβαση
|
||||
deviceActivityHtmlTitle=Δραστηριότητα Συσκευών
|
||||
federatedIdentitiesHtmlTitle=Ομόσπονδες Ταυτότητες
|
||||
applicationsIntroMessage=Διαχειριστείτε το δικαίωμα της εφαρμογής σας να έχει πρόσβαση στο λογαριασμό σας
|
||||
resourceIntroMessage=Μοιράστε τους πόρους σας μεταξύ των μελών της ομάδας
|
||||
personalSubTitle=Τα Προσωπικά σας Στοιχεία
|
||||
personalSubMessage=Διαχειριστείτε τα βασικά στοιχεία σας.
|
||||
role_view-consent=Εμφάνιση εγκρίσεων
|
||||
role_manage-consent=Διαχείριση εγκρίσεων
|
||||
backToApplication=« Πίσω στην εφαρμογή
|
||||
lastAccess=Τελευταία Πρόσβαση
|
||||
authenticator=Ταυτοποιητής
|
||||
grantedPermissions=Εκχωρημένα Δικαιώματα
|
||||
fullAccess=Πλήρης Πρόσβαση
|
||||
configureAuthenticators=Ρυθμισμένες Εφαρμογές Ταυτοποίησης
|
||||
mobile=Κινητό
|
||||
totpStep2=Ανοίξτε την εφαρμογή και σαρώστε την εικόνα του κωδικού:
|
||||
totpStep3DeviceName=Ορίστε ένα Όνομα Συσκευής για να σας βοηθήσει στη διαχείριση των συσκευών OTP.
|
||||
totpManualStep2=Ξεκινήστε την εφαρμογή και εισάγετε το κλειδί:
|
||||
totpUnableToScan=Αδυναμία σάρωσης;
|
||||
totpScanBarcode=Σάρωση της εικόνας του κωδικού;
|
||||
totpStep1=Εγκαταστήστε μία από τις παρακάτω εφαρμογές στο κινητό σας:
|
||||
totpStep3=Δώστε το κωδικό μίας χρήσης όπως εμφανίζεται στην εφαρμογή σας και επιλέξτε το Αποθήκευση για να ολοκληρωθεί η αρχική ρύθμιση.
|
||||
totp.totp=Χρονικός
|
||||
totp.hotp=Σειριακός
|
||||
totpType=Τύπος
|
||||
totpAlgorithm=Αλγόριθμος
|
||||
totpDigits=Ψηφία
|
||||
totpInterval=Διάστημα
|
||||
totpCounter=Μετρητής
|
||||
totpDeviceName=Όνομα Συσκευής
|
||||
offlineToken=Διακριτικό Εκτός Σύνδεσης
|
||||
revoke=Ανάκληση Χορήγησης
|
||||
totpManualStep3=Χρησιμοποιείστε τις παρακάτω τιμές ρυθμίσεων αν η εφαρμογή το υποστηρίζει:
|
||||
invalidUserMessage=Μη έγκυρος χρήστης
|
||||
updateReadOnlyAttributesRejectedMessage=Απορρίφθηκε η ενημέρωση του μόνο-ανάγνωσης χαρακτηριστικού
|
||||
readOnlyUserMessage=Δε μπορείτε να ενημερώσετε το λογαριασμό σας καθώς είναι μόνο-για-ανάγνωση.
|
||||
successTotpMessage=Ενεργοποιήθηκε η εφαρμογή ταυτοποίησης στο κινητό.
|
||||
successGrantRevokedMessage=Η χορήγηση ανακλήθηκε επιτυχώς.
|
||||
invalidFederatedIdentityActionMessage=Μη έγκυρη ή απούσα δράση.
|
||||
identityProviderNotFoundMessage=Δε βρέθηκε ο ορισμένος πάροχος ταυτότητας.
|
||||
federatedIdentityLinkNotActiveMessage=Αυτή η ταυτότητα δεν είναι πια ενεργή.
|
||||
identityProviderRedirectErrorMessage=Αποτυχία στην ανακατεύθυνση προς το πάροχο ταυτότητας.
|
||||
identityProviderRemovedMessage=Ο πάροχος ταυτότητας αφαιρέθηκε επιτυχώς.
|
||||
|
||||
# Authorization
|
||||
myResources=Οι Πόροι Μου
|
||||
myResourcesSub=Οι πόροι μου
|
||||
doDeny=Άρνηση
|
||||
doRevoke=Ανάκληση
|
||||
doApprove=Έγκριση
|
||||
doRemoveSharing=Αφαίρεση Διαμοιρασμού
|
||||
doRemoveRequest=Αφαίρεση Αίτησης
|
||||
peopleAccessResource=Άτομα με πρόσβαση σε αυτό το πόρο
|
||||
resourceNoPermissionsGrantingAccess=Καμιά άδεια που χορηγεί πρόσβαση σε αυτό το πόρο
|
||||
anyAction=Κάθε δράση
|
||||
name=Όνομα
|
||||
scopes=Πεδία
|
||||
resource=Πόρος
|
||||
user=Χρήστης
|
||||
shareWithOthers=Διαμοιρασμός με άλλους
|
||||
needMyApproval=Χρειάζεται την έγκριση μου
|
||||
requestsWaitingApproval=Οι αιτήσεις που αναμένουν έγκριση
|
||||
icon=Εικονίδιο
|
||||
requestor=Αιτών
|
||||
owner=Ιδιοκτήτης
|
||||
permissionRequestion=Αίτηση Άδειας
|
||||
permission=Άδεια
|
||||
shares=διαμοιρασμός(οί)
|
||||
notBeingShared=Αυτός ο πόρος δε διαμοιράζεται.
|
||||
notHaveAnyResource=Δεν έχετε κανένα πόρο
|
||||
havePermissionRequestsWaitingForApproval=Έχετε {0} αιτήση(εις) για άδεια σε αναμονή προς έγκριση.
|
||||
clickHereForDetails=Πατήστε εδώ για λεπτομέρειες.
|
||||
|
||||
# Applications
|
||||
applicationName=Όνομα
|
||||
applicationInUse=Μόνο εφαρμογή σε-χρήση
|
||||
clearAllFilter=Καθαρισμός φίλτρων
|
||||
activeFilters=Ενεργά φίλτρα
|
||||
filterByName=Φιλτράρισμα Ανά Όνομα ...
|
||||
internalApps=Εσωτερικές εφαρμογές
|
||||
thirdpartyApps=Εφαρμογές Τρίτων
|
||||
appResults=Αποτελέσματα
|
||||
authenticatorSubTitle=Ορισμός Ταυτοποίησης Δύο-Παραγόντων
|
||||
authenticatorMobileTitle=Εφαρμογή Ταυτοποίησης στο Κινητό
|
||||
authenticatorMobileMessage=Χρησιμοποιείστε μία Εφαρμογή Ταυτοποίησης στο κινητό για να έχετε τους κωδικούς Επιβεβαίωσης σαν ταυτοποίηση δύο-παραγόντων.
|
||||
authenticatorMobileFinishSetUpMessage=Η εφαρμογή ταυτοποίησης έχει δεθεί με το κινητό σας.
|
||||
authenticatorActionSetup=Ρύθμιση
|
||||
authenticatorSMSTitle=Κωδικός SMS
|
||||
authenticatorSMSFinishSetUpMessage=Μηνύματα κειμένου στέλνονται στο
|
||||
authenticatorDefaultStatus=Προεπιλογή
|
||||
|
||||
# Linked account
|
||||
authorizedProvider=Πιστοποιημένος Πάροχος
|
||||
identityProvider=Πάροχος Ταυτότητας
|
||||
identityProviderMessage=Για να συνδέσετε το λογαριασμό σας με παρόχους ταυτότητας που έχετε ρυθμίσει
|
||||
socialLogin=Κοινωνική Είσοδος
|
||||
userDefined=Ορισμένη από το Χρήστη
|
||||
removeAccess=Αφαίρεση Πρόσβασης
|
||||
|
||||
#Authenticator
|
||||
authenticatorStatusMessage=Η ταυτοποίηση δύο-παραγόντων αυτή τη στιγμή είναι
|
||||
authenticatorFinishSetUpTitle=Η Ταυτοποίηση Δύο Παραγόντων Σας
|
||||
smscodeIntroMessage=Ορίστε ένα αριθμό τηλεφώνου και ένας κωδικός επιβεβαίωσης θα σταλεί στο κινητό σας.
|
||||
mobileSetupStep2=Ανοίξτε την εφαρμογή και σαρώστε το κωδικό QR:
|
||||
scanBarCode=Θέλετε να σαρώσετε το κωδικό QR;
|
||||
enterBarCode=Εισάγετε το κωδικό μίας-φοράς
|
||||
doCopy=Αντιγραφή
|
||||
doFinish=Ολοκλήρωση
|
||||
|
||||
#Authenticator - SMS Code setup
|
||||
authenticatorSMSCodeSetupTitle=Ρύθμιση Κωδικού SMS
|
||||
chooseYourCountry=Επιλέξτε τη χώρα σας
|
||||
enterYourPhoneNumber=Εισάγετε το τηλεφωνικό αριθμό σας
|
||||
sendVerficationCode=Αποστολή Κωδικού Επιβεβαίωσης
|
||||
enterYourVerficationCode=Εισάγετε το κωδικό επιβεβαίωσης
|
||||
realmName=Τομέας
|
||||
doDownload=Λήψη
|
||||
doPrint=Εκτύπωση
|
||||
generateNewBackupCodes=Παραγωγή Νέων Κωδικών Ανάκτησης Ταυτοποίησης
|
||||
backtoAuthenticatorPage=Πίσω στη Σελίδα Εφαρμογής Ταυτοποίησης
|
||||
|
||||
|
||||
#Resources
|
||||
resources=Πόροι
|
||||
share=Διαμοιρασμός
|
||||
sharedwith=Μοιράζεται με
|
||||
permissionRequests=Αιτήσεις Αδειών
|
||||
approve=Έγκριση
|
||||
approveAll=Έγκριση όλων
|
||||
people=άτομα
|
||||
perPage=ανά σελίδα
|
||||
currentPage=Τρέχουσα Σελίδα
|
||||
sharetheResource=Διαμοιρασμός πόρου
|
||||
group=Ομάδα
|
||||
addPeople=Προσθήκη ατόμων στα οποία θα διαμοιράσετε το πόρο σας
|
||||
myPermissions=Οι Άδειες Μου
|
||||
waitingforApproval=Αναμονή για έγκριση
|
||||
anyPermission=Κάθε Άδεια
|
||||
error-invalid-length-too-short=Το χαρακτηριστικό {0} πρέπει να έχει ελάχιστο μήκος {1}.
|
||||
error-number-out-of-range-too-small=Το χαρακτηριστικό {0} πρέπει να έχει ελάχιστη τιμή {1}.
|
||||
error-user-attribute-required=Παρακαλώ ορίστε το χαρακτηριστικό {0}.
|
||||
error-user-attribute-read-only=Το πεδίο {0} είναι μόνο για ανάγνωση.
|
||||
error-person-name-invalid-character=Το όνομα περιέχει ένα μη έγκυρο χαρακτήρα.
|
||||
readOnlyPasswordMessage=Δε μπορείτε να ενημερώσετε το κωδικό πρόσβασης σας καθώς είναι μόνο-για-ανάγνωση.
|
||||
successTotpRemovedMessage=Αφαιρέθηκε η εφαρμογή ταυτοποίησης στο κινητό.
|
||||
authenticatorFinishSetUpMessage=Κάθε φορά που συνδέστε στο λογαριασμό σας στο Keycloak, θα πρέπει να παρέχετε ένα κωδικό ταυτοποίησης δύο-παραγόντων.
|
||||
authenticatorSubMessage=Για να βελτιώσετε τη ασφάλεια του λογαριασμού σας, ενεργοποιήστε τουλάχιστον μια από τις διαθέσιμες μεθόδους ταυτοποίησης δύο-παραγόντων.
|
||||
authenticatorSMSMessage=Το Keycloak θα στείλει ένα κωδικό Επιβεβαίωσης στο κινητό σαν ταυτοποίηση δύο-παραγόντων.
|
||||
authenticatorChangePhone=Αλλαγή Τηλεφωνικού Αριθμού
|
||||
|
||||
#Authenticator - Mobile Authenticator setup
|
||||
authenticatorMobileSetupTitle=Ρύθμιση Εφαρμογής Ταυτοποίησης
|
||||
mobileSetupStep1=Εγκαταστήστε μία εφαρμογή ταυτοποίησης στο κινητό σας. Υποστηρίζονται οι παρακάτω εφαρμογές.
|
||||
mobileSetupStep3=Εισάγετε το κωδικό μίας-φοράς που παρήχθει από την εφαρμογή και πατήστε Αποθήκευση για ολοκλήρωση.
|
||||
|
||||
#Authenticator - backup Code setup
|
||||
authenticatorBackupCodesSetupTitle=Ρύθμιση Κωδικών Ανάκτησης Ταυτοποίησης
|
||||
sharedwithMe=Μοιράζονται με Εμένα
|
||||
accessPermissions=Άδειες Πρόσβασης
|
||||
selectPermission=Επιλογή Άδειας
|
||||
addTeam=Προσθήκη ομάδας στην οποία θα διαμοιράσετε το πόρο σας
|
||||
error-invalid-length=Το χαρακτηριστικό {0} πρέπει να έχει μήκος μεταξύ {1} και {2}.
|
||||
error-number-out-of-range=Το χαρακτηριστικό {0} πρέπει να είναι ένας αριθμός μεταξύ {1} και {2}.
|
||||
error-number-out-of-range-too-big=Το χαρακτηριστικό {0} πρέπει να έχει μέγιστη τιμή {2}.
|
||||
error-username-invalid-character=Το όνομα χρήστη περιέχει ένα μη έγκυρο χαρακτήρα.
|
||||
missingIdentityProviderMessage=Δεν ορίστηκε πάροχος ταυτότητας.
|
||||
federatedIdentityRemovingLastProviderMessage=Δε μπορείτε να αφαιρέσετε τη τελευταία ομόσπονδη ταυτότητα καθώς δεν έχετε κωδικό πρόσβασης.
|
||||
staleCodeAccountMessage=Η σελίδα έληξε. Παρακαλώ δοκιμάστε άλλη μια φορά.
|
||||
accountTemporarilyDisabledMessage=Ο λογαριασμός έχει απενεργοποιηθεί προσωρινά, επικοινωνήστε με το διαχειριστή ή δοκιμάστε αργότερα.
|
||||
resourceManagedPolicies=Άδειες που χορηγούν πρόσβαση σε αυτό το πόρο
|
||||
description=Περιγραφή
|
||||
peopleSharingThisResource=Άτομα που διαμοιράζουν αυτό το πόρο
|
||||
resourcesSharedWithMe=Πόροι μου διαμοιράζονται με εμένα
|
||||
noResourcesSharedWithYou=Δε διαμοιράζεται πόρος με εσάς
|
||||
resourceIsNotBeingShared=Αυτός ο πόρος δεν διαμοιράζεται
|
||||
applicationType=Τύπος Εφαρμογής
|
||||
allApps=Όλες οι εφαρμογές
|
||||
authorizedProviderMessage=Πιστοποιημένοι Πάροχοι που είναι συνδεδεμένοι με το λογαριασμό σας
|
||||
removeAccessMessage=Πρέπει να χορηγήσετε ξανά πρόσβαση, αν θέλετε να χρησιμοποιήσετε αυτό το λογαριασμό εφαρμογής.
|
||||
error-invalid-length-too-long=Το χαρακτηριστικό {0} πρέπει να έχει μέγιστο μήκος {2}.
|
|
@ -1 +1,2 @@
|
|||
accountManagementTitle=Hellug Auth Account Management
|
||||
# encoding: UTF-8
|
||||
locale_el=Ελληνικά
|
||||
|
|
|
@ -1,279 +0,0 @@
|
|||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #F9F9F9;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
header .navbar {
|
||||
margin-bottom: 0;
|
||||
min-height: inherit;
|
||||
}
|
||||
|
||||
.header .container {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.navbar-title {
|
||||
background-image: url('../img/brand.svg');
|
||||
height: 25px;
|
||||
background-repeat: no-repeat;
|
||||
width: 172px;
|
||||
margin: 3px 10px 5px;
|
||||
text-indent: -99999px;
|
||||
position: relative;
|
||||
top: 8px;
|
||||
}
|
||||
|
||||
.navbar-pf .navbar-utility {
|
||||
right: 20px;
|
||||
top: -34px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.navbar-pf .navbar-utility > li > a {
|
||||
color: #fff !important;
|
||||
padding-bottom: 12px;
|
||||
padding-top: 11px;
|
||||
border-left: medium none;
|
||||
}
|
||||
|
||||
.container {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.content-area {
|
||||
background-color: #fff;
|
||||
border-color: #CECECE;
|
||||
border-style: solid;
|
||||
border-width: 0 1px;
|
||||
height: 100%;
|
||||
padding: 0 30px;
|
||||
}
|
||||
|
||||
.margin-bottom {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
.bs-sidebar {
|
||||
background-color: #f9f9f9;
|
||||
padding-top: 44px;
|
||||
padding-right: 0;
|
||||
padding-left: 0;
|
||||
z-index: 20;
|
||||
}
|
||||
.bs-sidebar ul {
|
||||
list-style: none;
|
||||
padding-left: 12px;
|
||||
}
|
||||
|
||||
.bs-sidebar ul li {
|
||||
margin-bottom: 0.5em;
|
||||
margin-left: -1em;
|
||||
}
|
||||
.bs-sidebar ul li a {
|
||||
font-size: 14px;
|
||||
padding-left: 25px;
|
||||
color: #4d5258;
|
||||
line-height: 28px;
|
||||
display: block;
|
||||
border-width: 1px 0 1px 1px;
|
||||
border-style: solid;
|
||||
border-color: #f9f9f9;
|
||||
}
|
||||
.bs-sidebar ul li a:hover,
|
||||
.bs-sidebar ul li a:focus {
|
||||
text-decoration: none;
|
||||
color: #777777;
|
||||
border-right: 2px solid #aaa;
|
||||
}
|
||||
.bs-sidebar ul li.active a {
|
||||
background-color: #c7e5f0;
|
||||
border-color: #56bae0;
|
||||
font-weight: bold;
|
||||
background-image: url(../img/icon-sidebar-active.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: right center;
|
||||
}
|
||||
|
||||
.bs-sidebar ul li.active a:hover {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
|
||||
.content-area h2 {
|
||||
font-family: "Open Sans", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 24px;
|
||||
margin-bottom: 25px;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
text-align: right;
|
||||
margin-top: 30px;
|
||||
color: #909090;
|
||||
}
|
||||
|
||||
.required {
|
||||
color: #CB2915;
|
||||
}
|
||||
|
||||
|
||||
.alert {
|
||||
margin-top: 30px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.feedback-aligner .alert {
|
||||
background-position: 1.27273em center;
|
||||
background-repeat: no-repeat;
|
||||
border-radius: 2px;
|
||||
border-width: 1px;
|
||||
color: #4D5258;
|
||||
display: inline-block;
|
||||
font-size: 1.1em;
|
||||
line-height: 1.4em;
|
||||
margin: 0;
|
||||
padding: 0.909091em 3.63636em;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
}
|
||||
.alert.alert-success {
|
||||
background-color: #E4F1E1;
|
||||
border-color: #4B9E39;
|
||||
}
|
||||
.alert.alert-error {
|
||||
background-color: #F8E7E7;
|
||||
border-color: #B91415;
|
||||
}
|
||||
.alert.alert-warning {
|
||||
background-color: #FEF1E9;
|
||||
border-color: #F17528;
|
||||
}
|
||||
.alert.alert-info {
|
||||
background-color: #E4F3FA;
|
||||
border-color: #5994B2;
|
||||
}
|
||||
|
||||
.form-horizontal {
|
||||
border-top: 1px solid #E9E8E8;
|
||||
padding-top: 23px;
|
||||
}
|
||||
|
||||
.form-horizontal .control-label {
|
||||
color: #909090;
|
||||
line-height: 1.4em;
|
||||
padding-top: 5px;
|
||||
position: relative;
|
||||
text-align: right;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.form-group {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.control-label + .required {
|
||||
position: absolute;
|
||||
right: -2px;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
#kc-form-buttons {
|
||||
text-align: right;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
#kc-form-buttons .btn-primary {
|
||||
float: right;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
/* Authenticator page */
|
||||
|
||||
ol {
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
ol li {
|
||||
font-size: 13px;
|
||||
margin-bottom: 10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
ol li img {
|
||||
margin-top: 15px;
|
||||
margin-bottom: 5px;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
hr + .form-horizontal {
|
||||
border: none;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.kc-dropdown{
|
||||
position: relative;
|
||||
}
|
||||
.kc-dropdown > a{
|
||||
display:block;
|
||||
padding: 11px 10px 12px;
|
||||
line-height: 12px;
|
||||
font-size: 12px;
|
||||
color: #fff !important;
|
||||
text-decoration: none;
|
||||
}
|
||||
.kc-dropdown > a::after{
|
||||
content: "\2c5";
|
||||
margin-left: 4px;
|
||||
}
|
||||
.kc-dropdown:hover > a{
|
||||
background-color: rgba(0,0,0,0.2);
|
||||
}
|
||||
.kc-dropdown ul li a{
|
||||
padding: 1px 11px;
|
||||
font-size: 12px;
|
||||
color: #000 !important;
|
||||
border: 1px solid #fff;
|
||||
text-decoration: none;
|
||||
display:block;
|
||||
line-height: 20px;
|
||||
}
|
||||
.kc-dropdown ul li a:hover{
|
||||
color: #4d5258;
|
||||
background-color: #d4edfa;
|
||||
border-color: #b3d3e7;
|
||||
}
|
||||
.kc-dropdown ul{
|
||||
position: absolute;
|
||||
z-index: 2000;
|
||||
list-style:none;
|
||||
display:none;
|
||||
padding: 5px 0px;
|
||||
margin: 0px;
|
||||
background-color: #fff !important;
|
||||
border: 1px solid #b6b6b6;
|
||||
border-radius: 1px;
|
||||
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||
background-clip: padding-box;
|
||||
min-width: 100px;
|
||||
}
|
||||
.kc-dropdown:hover ul{
|
||||
display:block;
|
||||
}
|
||||
|
||||
|
||||
#kc-totp-secret-key {
|
||||
border: 1px solid #eee;
|
||||
font-size: 16px;
|
||||
padding: 10px;
|
||||
margin: 50px 0;
|
||||
}
|
Πριν Πλάτος: | Ύψος: | Μέγεθος: 202 B |
|
@ -1,3 +1,2 @@
|
|||
parent=keycloak
|
||||
|
||||
styles=css/account.css
|
||||
locales=en,el
|
||||
|
|
|
@ -1,85 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 223.4 12.5"
|
||||
style="enable-background:new 0 0 223.4 12.5;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="brand.svg"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs67" /><sodipodi:namedview
|
||||
id="namedview65"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="6.2891676"
|
||||
inkscape:cx="153.67694"
|
||||
inkscape:cy="6.2806404"
|
||||
inkscape:window-width="2490"
|
||||
inkscape:window-height="1411"
|
||||
inkscape:window-x="70"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g28" />
|
||||
<style
|
||||
type="text/css"
|
||||
id="style2">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g
|
||||
id="g62">
|
||||
<g
|
||||
id="g28">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Bitstream Vera Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="6.5633998"
|
||||
y="2.5796833"
|
||||
id="text387"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan385"
|
||||
x="6.5633998"
|
||||
y="2.5796833" /></text><text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:12px;line-height:108.8%;font-family:Sans;-inkscape-font-specification:'Bitstream Vera Sans Bold';letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:289.295;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="7.1732883"
|
||||
y="-17.182526"
|
||||
id="text391"
|
||||
transform="translate(-5.6460431,26.663326)"><tspan
|
||||
x="7.1732883"
|
||||
y="-17.182526"
|
||||
id="tspan1088"><tspan
|
||||
style="font-weight:normal;font-family:'Noto Mono';-inkscape-font-specification:'Noto Mono'"
|
||||
id="tspan1086">Hellug Authentication Service</tspan></tspan></text><text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:32px;line-height:125%;font-family:Sans;-inkscape-font-specification:'Bitstream Vera Sans Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="7.2640285"
|
||||
y="-16.759977"
|
||||
id="text1072"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1070"
|
||||
x="7.2640285"
|
||||
y="-16.759977" /></text></g>
|
||||
|
||||
|
||||
</g>
|
||||
</svg>
|
Πριν Πλάτος: | Ύψος: | Μέγεθος: 3 KiB |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 2,5 KiB Μετά Πλάτος: | Ύψος: | Μέγεθος: 627 B |
1
themes/hellug-keycloak/common/resources/lib/angular/errors.json
Κανονικό αρχείο
20
themes/hellug-keycloak/common/resources/lib/angular/treeview/LICENSE
Κανονικό αρχείο
|
@ -0,0 +1,20 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013 Steve
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
122
themes/hellug-keycloak/common/resources/lib/angular/treeview/README.md
Κανονικό αρχείο
|
@ -0,0 +1,122 @@
|
|||
Angular Treeview
|
||||
================
|
||||
|
||||
Pure [AngularJS](https://www.angularjs.org) based tree menu directive.
|
||||
|
||||
[](https://jsfiddle.net/eu81273/8LWUc/)
|
||||
|
||||
## Installation
|
||||
|
||||
Copy the script and css into your project and add a script and link tag to your page.
|
||||
|
||||
```html
|
||||
<script type="text/javascript" src="/angular.treeview.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="css/angular.treeview.css">
|
||||
```
|
||||
|
||||
Add a dependency to your application module.
|
||||
|
||||
```javascript
|
||||
angular.module('myApp', ['angularTreeview']);
|
||||
```
|
||||
|
||||
Add a tree to your application. See [Usage](#usage).
|
||||
|
||||
## Usage
|
||||
|
||||
Attributes of angular treeview are below.
|
||||
|
||||
- angular-treeview: the treeview directive.
|
||||
- tree-id : each tree's unique id.
|
||||
- tree-model : the tree model on $scope.
|
||||
- node-id : each node's id.
|
||||
- node-label : each node's label.
|
||||
- node-children: each node's children.
|
||||
|
||||
Here is a simple example.
|
||||
|
||||
|
||||
```html
|
||||
<div
|
||||
data-angular-treeview="true"
|
||||
data-tree-id="abc"
|
||||
data-tree-model="treedata"
|
||||
data-node-id="id"
|
||||
data-node-label="label"
|
||||
data-node-children="children" >
|
||||
</div>
|
||||
```
|
||||
|
||||
Example model:
|
||||
|
||||
```javascript
|
||||
$scope.treedata =
|
||||
[
|
||||
{ "label" : "User", "id" : "role1", "children" : [
|
||||
{ "label" : "subUser1", "id" : "role11", "children" : [] },
|
||||
{ "label" : "subUser2", "id" : "role12", "children" : [
|
||||
{ "label" : "subUser2-1", "id" : "role121", "children" : [
|
||||
{ "label" : "subUser2-1-1", "id" : "role1211", "children" : [] },
|
||||
{ "label" : "subUser2-1-2", "id" : "role1212", "children" : [] }
|
||||
]}
|
||||
]}
|
||||
]},
|
||||
{ "label" : "Admin", "id" : "role2", "children" : [] },
|
||||
{ "label" : "Guest", "id" : "role3", "children" : [] }
|
||||
];
|
||||
```
|
||||
|
||||
## Selection
|
||||
|
||||
If tree node is selected, then that selected tree node is saved to $scope."TREE ID".currentNode. By using $watch, the controller can recognize the tree selection.
|
||||
|
||||
|
||||
```javascript
|
||||
$scope.$watch( 'abc.currentNode', function( newObj, oldObj ) {
|
||||
if( $scope.abc && angular.isObject($scope.abc.currentNode) ) {
|
||||
console.log( 'Node Selected!!' );
|
||||
console.log( $scope.abc.currentNode );
|
||||
}
|
||||
}, false);
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
#### Basic example
|
||||
[](https://jsfiddle.net/eu81273/8LWUc/)
|
||||
|
||||
[jsFiddle - http://jsfiddle.net/eu81273/8LWUc/](https://jsfiddle.net/eu81273/8LWUc/)
|
||||
|
||||
#### Multiple treeview example
|
||||
[](https://jsfiddle.net/eu81273/b9Pnw/)
|
||||
|
||||
[jsFiddle - http://jsfiddle.net/eu81273/b9Pnw/](https://jsfiddle.net/eu81273/b9Pnw/)
|
||||
|
||||
## Browser Compatibility
|
||||
|
||||
Same with AngularJS. Safari, Chrome, Firefox, Opera, IE8, IE9 and mobile browsers (Android, Chrome Mobile, iOS Safari).
|
||||
|
||||
## Changelogs
|
||||
|
||||
#### version 0.1.6
|
||||
- Fixed the bug that 'null' string appears before each 'div' generated. (Thanks to Iaac)
|
||||
|
||||
#### version 0.1.5
|
||||
- support multiple treeview. (Thanks to Axel Pesme)
|
||||
|
||||
#### version 0.1.4
|
||||
- prevented memory leaks.
|
||||
|
||||
#### version 0.1.3
|
||||
- removed unnecessary codes.
|
||||
|
||||
#### version 0.1.2
|
||||
- removed some jQuery dependency. (Issue #2)
|
||||
|
||||
## License
|
||||
|
||||
The MIT License.
|
||||
|
||||
Copyright ⓒ 2013 AHN JAE-HA.
|
||||
|
||||
See [LICENSE](https://github.com/eu81273/angular.treeview/blob/master/LICENSE)
|
95
themes/hellug-keycloak/common/resources/lib/angular/treeview/angular.treeview.js
Εκτελέσιμο αρχείο
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
@license Angular Treeview version 0.1.6
|
||||
ⓒ 2013 AHN JAE-HA http://github.com/eu81273/angular.treeview
|
||||
License: MIT
|
||||
|
||||
|
||||
[TREE attribute]
|
||||
angular-treeview: the treeview directive
|
||||
tree-id : each tree's unique id.
|
||||
tree-model : the tree model on $scope.
|
||||
node-id : each node's id
|
||||
node-label : each node's label
|
||||
node-children: each node's children
|
||||
|
||||
<div
|
||||
data-angular-treeview="true"
|
||||
data-tree-id="tree"
|
||||
data-tree-model="roleList"
|
||||
data-node-id="roleId"
|
||||
data-node-label="roleName"
|
||||
data-node-children="children" >
|
||||
</div>
|
||||
*/
|
||||
|
||||
(function ( angular ) {
|
||||
'use strict';
|
||||
|
||||
angular.module( 'angularTreeview', [] ).directive( 'treeModel', ['$compile', function( $compile ) {
|
||||
return {
|
||||
restrict: 'A',
|
||||
link: function ( scope, element, attrs ) {
|
||||
//tree id
|
||||
var treeId = attrs.treeId;
|
||||
|
||||
//tree model
|
||||
var treeModel = attrs.treeModel;
|
||||
|
||||
//node id
|
||||
var nodeId = attrs.nodeId || 'id';
|
||||
|
||||
//node label
|
||||
var nodeLabel = attrs.nodeLabel || 'label';
|
||||
|
||||
//children
|
||||
var nodeChildren = attrs.nodeChildren || 'children';
|
||||
|
||||
//tree template
|
||||
var template =
|
||||
'<ul>' +
|
||||
'<li data-ng-repeat="node in ' + treeModel + '">' +
|
||||
'<i ng-class="getGroupClass(node)" data-ng-click="' + treeId + '.selectNodeHead(node)"></i>' +
|
||||
'<span data-ng-class="getSelectedClass(node)" ng-dblclick="edit(node)" data-ng-click="' + treeId + '.selectNodeLabel(node)">{{node.' + nodeLabel + '}}</span>' +
|
||||
'<div data-ng-hide="node.collapsed" data-tree-id="' + treeId + '" data-tree-model="node.' + nodeChildren + '" data-node-id=' + nodeId + ' data-node-label=' + nodeLabel + ' data-node-children=' + nodeChildren + '></div>' +
|
||||
'</li>' +
|
||||
'</ul>';
|
||||
|
||||
//check tree id, tree model
|
||||
if( treeId && treeModel ) {
|
||||
//root node
|
||||
if( attrs.angularTreeview ) {
|
||||
|
||||
//create tree object if not exists
|
||||
scope[treeId] = scope[treeId] || {};
|
||||
|
||||
//if node head clicks,
|
||||
scope[treeId].selectNodeHead = scope[treeId].selectNodeHead || function( selectedNode ){
|
||||
|
||||
//Collapse or Expand
|
||||
selectedNode.collapsed = !selectedNode.collapsed;
|
||||
scope[treeId].selectNodeLabel(selectedNode);
|
||||
};
|
||||
|
||||
//if node label clicks,
|
||||
scope[treeId].selectNodeLabel = scope[treeId].selectNodeLabel || function( selectedNode ){
|
||||
|
||||
//remove highlight from previous node
|
||||
if( scope[treeId].currentNode && scope[treeId].currentNode.selected ) {
|
||||
scope[treeId].currentNode.selected = undefined;
|
||||
}
|
||||
|
||||
//set highlight to selected node
|
||||
selectedNode.selected = 'selected';
|
||||
|
||||
//set currentNode
|
||||
scope[treeId].currentNode = selectedNode;
|
||||
};
|
||||
}
|
||||
|
||||
//Rendering template.
|
||||
element.html('').append( $compile( template )( scope ) );
|
||||
}
|
||||
}
|
||||
};
|
||||
}]);
|
||||
})( angular );
|
9
themes/hellug-keycloak/common/resources/lib/angular/treeview/angular.treeview.min.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,9 @@
|
|||
/*
|
||||
@license Angular Treeview version 0.1.6
|
||||
ⓒ 2013 AHN JAE-HA http://github.com/eu81273/angular.treeview
|
||||
License: MIT
|
||||
*/
|
||||
|
||||
(function(f){f.module("angularTreeview",[]).directive("treeModel",function($compile){return{restrict:"A",link:function(b,h,c){var a=c.treeId,g=c.treeModel,e=c.nodeLabel||"label",d=c.nodeChildren||"children",e='<ul><li data-ng-repeat="node in '+g+'"><i class="collapsed" data-ng-show="node.'+d+'.length && node.collapsed" data-ng-click="'+a+'.selectNodeHead(node)"></i><i class="expanded" data-ng-show="node.'+d+'.length && !node.collapsed" data-ng-click="'+a+'.selectNodeHead(node)"></i><i class="normal" data-ng-hide="node.'+
|
||||
d+'.length"></i> <span data-ng-class="node.selected" data-ng-click="'+a+'.selectNodeLabel(node)">{{node.'+e+'}}</span><div data-ng-hide="node.collapsed" data-tree-id="'+a+'" data-tree-model="node.'+d+'" data-node-id='+(c.nodeId||"id")+" data-node-label="+e+" data-node-children="+d+"></div></li></ul>";a&&g&&(c.angularTreeview&&(b[a]=b[a]||{},b[a].selectNodeHead=b[a].selectNodeHead||function(a){a.collapsed=!a.collapsed},b[a].selectNodeLabel=b[a].selectNodeLabel||function(c){b[a].currentNode&&b[a].currentNode.selected&&
|
||||
(b[a].currentNode.selected=void 0);c.selected="selected";b[a].currentNode=c}),h.html('').append($compile(e)(b)))}}})})(angular);
|
|
@ -0,0 +1,99 @@
|
|||
div[angular-treeview] {
|
||||
/* prevent user selection */
|
||||
-moz-user-select: -moz-none;
|
||||
-khtml-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
/* default */
|
||||
font-family: Tahoma;
|
||||
font-size:13px;
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
div[tree-model] ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
border: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div[tree-model] li {
|
||||
position: relative;
|
||||
padding: 0 0 0 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
div[tree-model] li .expanded {
|
||||
padding: 1px 10px;
|
||||
background-image: url("../img/folder.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
div[tree-model] li .collapsed {
|
||||
padding: 1px 10px;
|
||||
background-image: url("../img/folder-closed.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
div[tree-model] li .normal {
|
||||
padding: 1px 10px;
|
||||
background-image: url("../img/file.png");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
div[tree-model] li i, div[tree-model] li span {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div[tree-model] li .selected {
|
||||
background-color: #aaddff;
|
||||
font-weight: bold;
|
||||
padding: 1px 5px;
|
||||
}
|
||||
|
||||
div[tree-model] li .cut {
|
||||
font-weight: bold;
|
||||
color: gray
|
||||
}
|
||||
|
||||
/*
|
||||
.angular-ui-tree-handle {
|
||||
cursor: grab;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
min-height: 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
*/
|
||||
|
||||
.angular-ui-tree-handle {
|
||||
/* background: #f8faff; */
|
||||
/*
|
||||
color: #7c9eb2; */
|
||||
border: 1px solid #dae2ea;
|
||||
padding: 10px 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.expanded-folder {
|
||||
padding: 1px 10px;
|
||||
background-image: url("../img/folder.png");
|
||||
background-repeat: no-repeat;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.collapsed-folder {
|
||||
padding: 1px 10px;
|
||||
background-image: url("../img/folder-closed.png");
|
||||
background-repeat: no-repeat;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
BIN
themes/hellug-keycloak/common/resources/lib/angular/treeview/img/file.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 263 B |
Μετά Πλάτος: | Ύψος: | Μέγεθος: 281 B |
BIN
themes/hellug-keycloak/common/resources/lib/angular/treeview/img/folder.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 289 B |
4116
themes/hellug-keycloak/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js
Κανονικό αρχείο
1
themes/hellug-keycloak/common/resources/lib/angular/version.json
Εκτελέσιμο αρχείο
|
@ -0,0 +1 @@
|
|||
{"raw":"v1.4.4","major":1,"minor":4,"patch":4,"prerelease":[],"build":[],"version":"1.4.4","codeName":"pylon-requirement","full":"1.4.4","branch":"v1.4.x","cdn":{"raw":"v1.4.3","major":1,"minor":4,"patch":3,"prerelease":[],"build":[],"version":"1.4.3","docsUrl":"http://code.angularjs.org/1.4.3/docs"}}
|
188
themes/hellug-keycloak/common/resources/lib/filesaver/FileSaver.js
Κανονικό αρχείο
|
@ -0,0 +1,188 @@
|
|||
/* FileSaver.js
|
||||
* A saveAs() FileSaver implementation.
|
||||
* 1.3.2
|
||||
* 2016-06-16 18:25:19
|
||||
*
|
||||
* By Eli Grey, http://eligrey.com
|
||||
* License: MIT
|
||||
* See https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
/*global self */
|
||||
/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */
|
||||
|
||||
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
|
||||
|
||||
var saveAs = saveAs || (function(view) {
|
||||
"use strict";
|
||||
// IE <10 is explicitly unsupported
|
||||
if (typeof view === "undefined" || typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
|
||||
return;
|
||||
}
|
||||
var
|
||||
doc = view.document
|
||||
// only get URL when necessary in case Blob.js hasn't overridden it yet
|
||||
, get_URL = function() {
|
||||
return view.URL || view.webkitURL || view;
|
||||
}
|
||||
, save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
||||
, can_use_save_link = "download" in save_link
|
||||
, click = function(node) {
|
||||
var event = new MouseEvent("click");
|
||||
node.dispatchEvent(event);
|
||||
}
|
||||
, is_safari = /constructor/i.test(view.HTMLElement) || view.safari
|
||||
, is_chrome_ios =/CriOS\/[\d]+/.test(navigator.userAgent)
|
||||
, throw_outside = function(ex) {
|
||||
(view.setImmediate || view.setTimeout)(function() {
|
||||
throw ex;
|
||||
}, 0);
|
||||
}
|
||||
, force_saveable_type = "application/octet-stream"
|
||||
// the Blob API is fundamentally broken as there is no "downloadfinished" event to subscribe to
|
||||
, arbitrary_revoke_timeout = 1000 * 40 // in ms
|
||||
, revoke = function(file) {
|
||||
var revoker = function() {
|
||||
if (typeof file === "string") { // file is an object URL
|
||||
get_URL().revokeObjectURL(file);
|
||||
} else { // file is a File
|
||||
file.remove();
|
||||
}
|
||||
};
|
||||
setTimeout(revoker, arbitrary_revoke_timeout);
|
||||
}
|
||||
, dispatch = function(filesaver, event_types, event) {
|
||||
event_types = [].concat(event_types);
|
||||
var i = event_types.length;
|
||||
while (i--) {
|
||||
var listener = filesaver["on" + event_types[i]];
|
||||
if (typeof listener === "function") {
|
||||
try {
|
||||
listener.call(filesaver, event || filesaver);
|
||||
} catch (ex) {
|
||||
throw_outside(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, auto_bom = function(blob) {
|
||||
// prepend BOM for UTF-8 XML and text/* types (including HTML)
|
||||
// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
|
||||
if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
|
||||
return new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});
|
||||
}
|
||||
return blob;
|
||||
}
|
||||
, FileSaver = function(blob, name, no_auto_bom) {
|
||||
if (!no_auto_bom) {
|
||||
blob = auto_bom(blob);
|
||||
}
|
||||
// First try a.download, then web filesystem, then object URLs
|
||||
var
|
||||
filesaver = this
|
||||
, type = blob.type
|
||||
, force = type === force_saveable_type
|
||||
, object_url
|
||||
, dispatch_all = function() {
|
||||
dispatch(filesaver, "writestart progress write writeend".split(" "));
|
||||
}
|
||||
// on any filesys errors revert to saving with object URLs
|
||||
, fs_error = function() {
|
||||
if ((is_chrome_ios || (force && is_safari)) && view.FileReader) {
|
||||
// Safari doesn't allow downloading of blob urls
|
||||
var reader = new FileReader();
|
||||
reader.onloadend = function() {
|
||||
var url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, 'data:attachment/file;');
|
||||
var popup = view.open(url, '_blank');
|
||||
if(!popup) view.location.href = url;
|
||||
url=undefined; // release reference before dispatching
|
||||
filesaver.readyState = filesaver.DONE;
|
||||
dispatch_all();
|
||||
};
|
||||
reader.readAsDataURL(blob);
|
||||
filesaver.readyState = filesaver.INIT;
|
||||
return;
|
||||
}
|
||||
// don't create more object URLs than needed
|
||||
if (!object_url) {
|
||||
object_url = get_URL().createObjectURL(blob);
|
||||
}
|
||||
if (force) {
|
||||
view.location.href = object_url;
|
||||
} else {
|
||||
var opened = view.open(object_url, "_blank");
|
||||
if (!opened) {
|
||||
// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html
|
||||
view.location.href = object_url;
|
||||
}
|
||||
}
|
||||
filesaver.readyState = filesaver.DONE;
|
||||
dispatch_all();
|
||||
revoke(object_url);
|
||||
}
|
||||
;
|
||||
filesaver.readyState = filesaver.INIT;
|
||||
|
||||
if (can_use_save_link) {
|
||||
object_url = get_URL().createObjectURL(blob);
|
||||
setTimeout(function() {
|
||||
save_link.href = object_url;
|
||||
save_link.download = name;
|
||||
click(save_link);
|
||||
dispatch_all();
|
||||
revoke(object_url);
|
||||
filesaver.readyState = filesaver.DONE;
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
fs_error();
|
||||
}
|
||||
, FS_proto = FileSaver.prototype
|
||||
, saveAs = function(blob, name, no_auto_bom) {
|
||||
return new FileSaver(blob, name || blob.name || "download", no_auto_bom);
|
||||
}
|
||||
;
|
||||
// IE 10+ (native saveAs)
|
||||
if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
|
||||
return function(blob, name, no_auto_bom) {
|
||||
name = name || blob.name || "download";
|
||||
|
||||
if (!no_auto_bom) {
|
||||
blob = auto_bom(blob);
|
||||
}
|
||||
return navigator.msSaveOrOpenBlob(blob, name);
|
||||
};
|
||||
}
|
||||
|
||||
FS_proto.abort = function(){};
|
||||
FS_proto.readyState = FS_proto.INIT = 0;
|
||||
FS_proto.WRITING = 1;
|
||||
FS_proto.DONE = 2;
|
||||
|
||||
FS_proto.error =
|
||||
FS_proto.onwritestart =
|
||||
FS_proto.onprogress =
|
||||
FS_proto.onwrite =
|
||||
FS_proto.onabort =
|
||||
FS_proto.onerror =
|
||||
FS_proto.onwriteend =
|
||||
null;
|
||||
|
||||
return saveAs;
|
||||
}(
|
||||
typeof self !== "undefined" && self
|
||||
|| typeof window !== "undefined" && window
|
||||
|| this.content
|
||||
));
|
||||
// `self` is undefined in Firefox for Android content script context
|
||||
// while `this` is nsIContentFrameMessageManager
|
||||
// with an attribute `content` that corresponds to the window
|
||||
|
||||
if (typeof module !== "undefined" && module.exports) {
|
||||
module.exports.saveAs = saveAs;
|
||||
} else if ((typeof define !== "undefined" && define !== null) && (define.amd !== null)) {
|
||||
define("FileSaver.js", function() {
|
||||
return saveAs;
|
||||
});
|
||||
}
|
72
themes/hellug-keycloak/common/resources/lib/fileupload/FileAPI.min.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,72 @@
|
|||
/**!
|
||||
* FileAPI — a set of tools for working with files
|
||||
*
|
||||
* @author RubaXa <trash@rubaxa.org>
|
||||
* @build lib/canvas-to-blob lib/FileAPI.core lib/FileAPI.Image lib/FileAPI.Form lib/FileAPI.XHR lib/FileAPI.Flash
|
||||
*/
|
||||
(function(a){var k=a.HTMLCanvasElement&&a.HTMLCanvasElement.prototype,g;if(g=a.Blob)try{g=Boolean(new Blob)}catch(j){g=!1}var m=g;if(g=m)if(g=a.Uint8Array)try{g=100===(new Blob([new Uint8Array(100)])).size}catch(f){g=!1}var c=g,e=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder,q=(m||e)&&a.atob&&a.ArrayBuffer&&a.Uint8Array&&function(a){var l,f,u,g;l=0<=a.split(",")[0].indexOf("base64")?atob(a.split(",")[1]):decodeURIComponent(a.split(",")[1]);f=new ArrayBuffer(l.length);u=new Uint8Array(f);
|
||||
for(g=0;g<l.length;g+=1)u[g]=l.charCodeAt(g);a=a.split(",")[0].split(":")[1].split(";")[0];if(m)return new Blob([c?u:f],{type:a});u=new e;u.append(f);return u.getBlob(a)};a.HTMLCanvasElement&&!k.toBlob&&(k.mozGetAsFile?k.toBlob=function(a,c){a(this.mozGetAsFile("blob",c))}:k.toDataURL&&q&&(k.toBlob=function(a,c){a(q(this.toDataURL(c)))}));"function"===typeof define&&define.amd?define(function(){return q}):a.dataURLtoBlob=q})(this);
|
||||
(function(a,k){function g(b,E,a){if(b)if(l(b))for(var d=0,c=b.length;d<c;d++)d in b&&E.call(a,b[d],d,b);else for(d in b)b.hasOwnProperty(d)&&E.call(a,b[d],d,b)}function j(b,d,a){if(b){var c=h.uid(b);D[c]||(D[c]={});g(d.split(/\s+/),function(d){n?n.event.add(b,d,a):(D[c][d]||(D[c][d]=[]),D[c][d].push(a),b.addEventListener?b.addEventListener(d,a,!1):b.attachEvent?b.attachEvent("on"+d,a):b["on"+d]=a)})}}function m(b,d,a){if(b){var c=h.uid(b),e=D[c]||{};g(d.split(/\s+/),function(d){if(n)n.event.remove(b,
|
||||
d,a);else{for(var E=e[d]||[],c=E.length;c--;)if(E[c]===a){E.splice(c,1);break}b.addEventListener?b.removeEventListener(d,a,!1):b.detachEvent?b.detachEvent("on"+d,a):b["on"+d]=null}})}}function f(b,d,a){j(b,d,function P(c){m(b,d,P);a(c)})}function c(b,d,a,c,e){b={type:a.type||a,target:b,result:c};h.extend(b,e);d(b)}function e(b,d,a,e){if(h.isFile(b)&&p&&p.prototype["readAs"+a]){var n=new p;j(n,K,function Q(a){var e=a.type;"progress"==e?c(b,d,a,a.target.result,{loaded:a.loaded,total:a.total}):"loadend"==
|
||||
e?(m(n,K,Q),n=null):c(b,d,a,a.target.result)});try{if(e)n["readAs"+a](e,b);else n["readAs"+a](b)}catch(l){c(b,d,"error",k,{error:l.toString()})}}else c(b,d,"error",k,{error:"filreader_not_support_"+a})}function q(b){var d;b.getAsEntry?d=b.getAsEntry():b.webkitGetAsEntry&&(d=b.webkitGetAsEntry());return d}function t(b,d){if(b)if(b.isFile)b.file(function(b){d(!1,[b])},function(){d("entry_file")});else if(b.isDirectory){var a=[];b.createReader().readEntries(function(b){h.afor(b,function(b,c){t(c,function(c,
|
||||
e){c||(a=a.concat(e));b?b():d(!1,a)})})},function(){d("directory_reader")})}else t(q(b),d);else d("empty_entry")}function l(b){return"object"==typeof b&&b&&"length"in b}function A(b){b.target||(b.target=a.event&&a.event.srcElement||M);3===b.target.nodeType&&(b.target=event.target.parentNode);return b}var u=1,C=function(){},s=navigator.userAgent,y=a.createObjectURL&&a||a.URL&&URL.revokeObjectURL&&URL||a.webkitURL&&webkitURL,r=a.Blob,v=a.File,p=a.FileReader,w=a.FormData,d=a.XMLHttpRequest,n=a.jQuery,
|
||||
x=!(!v||!p||!a.Uint8Array&&!w&&!d.prototype.sendAsBinary)&&!(/safari\//i.test(s)&&!/chrome\//i.test(s)&&/windows/i.test(s)),s=x&&"withCredentials"in new d,r=x&&!!r&&!(!r.prototype.webkitSlice&&!r.prototype.mozSlice&&!r.prototype.slice),M=a.document,F=a.dataURLtoBlob,T=/img/i,U=/canvas/i,V=/img|canvas/,L=/input/i,I=/^data:[^,]+,/,G=Math.pow,W=Math.round,z=Number,w=function(b){return W(b*this)},H=new z(1024),N=new z(G(H,2)),J=new z(G(H,3)),G=new z(G(H,4)),D={},O=[],K="abort progress error load loadend",
|
||||
X="status statusText readyState response responseXML responseText responseBody".split(" "),h={version:"1.2.5",cors:!1,html5:!0,debug:!1,pingUrl:!1,withCredentials:!0,staticPath:"./",flashUrl:0,flashImageUrl:0,accept:{"image/*":"art bm bmp dwg dxf cbr cbz fif fpx gif ico iefs jfif jpe jpeg jpg jps jut mcf nap nif pbm pcx pgm pict pm png pnm qif qtif ras rast rf rp svf tga tif tiff xbm xbm xpm xwd","audio/*":"m4a flac aac rm mpa wav wma ogg mp3 mp2 m3u mod amf dmf dsm far gdm imf it m15 med okt s3m stm sfx ult uni xm sid ac3 dts cue aif aiff wpl ape mac mpc mpp shn wv nsf spc gym adplug adx dsp adp ymf ast afc hps xs",
|
||||
"video/*":"m4v 3gp nsv ts ty strm rm rmvb m3u ifo mov qt divx xvid bivx vob nrg img iso pva wmv asf asx ogm m2v avi bin dat dvr-ms mpg mpeg mp4 mkv avc vp3 svq3 nuv viv dv fli flv wpl"},chunkSize:0,chunkUploadRetry:0,chunkNetworkDownRetryTimeout:2E3,KB:(H.from=w,H),MB:(N.from=w,N),GB:(J.from=w,J),TB:(G.from=w,G),expando:"fileapi"+(new Date).getTime(),uid:function(b){return b?b[h.expando]=b[h.expando]||h.uid():(++u,h.expando+u)},log:function(){h.debug&&(a.console&&console.log)&&(console.log.apply?
|
||||
console.log.apply(console,arguments):console.log([].join.call(arguments," ")))},getXHR:function(){var b;if(d)b=new d;else if(a.ActiveXObject)try{b=new ActiveXObject("MSXML2.XMLHttp.3.0")}catch(c){b=new ActiveXObject("Microsoft.XMLHTTP")}return b},isArray:l,support:{dnd:s&&"ondrop"in M.createElement("div"),cors:s,html5:x,chunked:r,dataURI:!0},event:{on:j,off:m,one:f,fix:A},throttle:function(b,d){var c,e;return function(){e=arguments;c||(b.apply(a,e),c=setTimeout(function(){c=0;b.apply(a,e)},d))}},
|
||||
F:function(){},parseJSON:function(b){return a.JSON&&JSON.parse?JSON.parse(b):(new Function("return ("+b.replace(/([\r\n])/g,"\\$1")+");"))()},trim:function(b){b=String(b);return b.trim?b.trim():b.replace(/^\s+|\s+$/g,"")},defer:function(){var b=[],d,a,c={resolve:function(e,n){c.resolve=C;a=e||!1;for(d=n;n=b.shift();)n(a,d)},then:function(c){a!==k?c(a,d):b.push(c)}};return c},queue:function(b){var d=0,a=0,c=!1,e=!1,n={inc:function(){a++},next:function(){d++;setTimeout(n.check,0)},check:function(){d>=
|
||||
a&&!c&&n.end()},isFail:function(){return c},fail:function(){!c&&b(c=!0)},end:function(){e||(e=!0,b())}};return n},each:g,afor:function(b,d){var a=0,c=b.length;l(b)&&c--?function B(){d(c!=a&&B,b[a],a++)}():d(!1)},extend:function(b){g(arguments,function(d){g(d,function(d,a){b[a]=d})});return b},isFile:function(b){return x&&b&&b instanceof v},isCanvas:function(b){return b&&U.test(b.nodeName)},getFilesFilter:function(b){return(b="string"==typeof b?b:b.getAttribute&&b.getAttribute("accept")||"")?RegExp("("+
|
||||
b.replace(/\./g,"\\.").replace(/,/g,"|")+")$","i"):/./},readAsDataURL:function(b,d){h.isCanvas(b)?c(b,d,"load",h.toDataURL(b)):e(b,d,"DataURL")},readAsBinaryString:function(b,d){p&&p.prototype.readAsBinaryString?e(b,d,"BinaryString"):e(b,function(b){if("load"==b.type)try{b.result=h.toBinaryString(b.result)}catch(a){b.type="error",b.message=a.toString()}d(b)},"DataURL")},readAsArrayBuffer:function(b,d){e(b,d,"ArrayBuffer")},readAsText:function(b,d,a){a||(a=d,d="utf-8");e(b,a,"Text",d)},toDataURL:function(b){if("string"==
|
||||
typeof b)return b;if(b.toDataURL)return b.toDataURL("image/png")},toBinaryString:function(b){return a.atob(h.toDataURL(b).replace(I,""))},readAsImage:function(b,d,a){if(h.isFile(b))if(y){var e=y.createObjectURL(b);e===k?c(b,d,"error"):h.readAsImage(e,d,a)}else h.readAsDataURL(b,function(e){"load"==e.type?h.readAsImage(e.result,d,a):(a||"error"==e.type)&&c(b,d,e,null,{loaded:e.loaded,total:e.total})});else h.isCanvas(b)?c(b,d,"load",b):T.test(b.nodeName)?b.complete?c(b,d,"load",b):f(b,"error abort load",
|
||||
function B(a){"load"==a.type&&y&&y.revokeObjectURL(b.src);m(b,"error abort load",B);c(b,d,a,b)}):b.iframe?c(b,d,{type:"error"}):(e=new Image,e.src=b.dataURL||b,h.readAsImage(e,d,a))},checkFileObj:function(b){var d={},a=h.accept;"object"==typeof b?d=b:d.name=(b+"").split(/\\|\//g).pop();null==d.type&&(d.type=d.name.split(".").pop());g(a,function(b,a){b=RegExp(b.replace(/\s/g,"|"),"i");b.test(d.type)&&(d.type=a.split("/")[0]+"/"+d.type)});return d},getDropFiles:function(b,d){var a=[],c=(b.originalEvent||
|
||||
b||"").dataTransfer||{},e=l(c.items)&&c.items[0]&&q(c.items[0]),n=h.queue(function(){d(a)});g((e?c.items:c.files)||[],function(b){n.inc();if(e)t(b,function(b,d){!b&&a.push.apply(a,d);n.next()});else{var d=function(d){d&&a.push(b);n.next()};if(!b.type&&0==b.size%4096&&102400>=b.size)if(p)try{var c=new p;f(c,K,function(b){b="error"!=b.type;d(b);b&&c.abort()});c.readAsDataURL(b)}catch(l){d(!1)}else d(null);else d(!0)}});n.check()},getFiles:function(b,d,a){var c=[];if(a)return h.filterFiles(h.getFiles(b),
|
||||
d,a),null;b.jquery&&(b.each(function(){c=c.concat(h.getFiles(this))}),b=c,c=[]);"string"==typeof d&&(d=h.getFilesFilter(d));b.originalEvent?b=A(b.originalEvent):b.srcElement&&(b=A(b));b.dataTransfer?b=b.dataTransfer:b.target&&(b=b.target);b.files?c=b.files:!x&&L.test(b&&b.tagName)?h.trim(b.value)&&(c=[h.checkFileObj(b.value)],c[0].blob=b,c[0].iframe=!0):l(b)&&(c=b);return h.filter(c,function(b){return!d||d.test(b.name)})},getInfo:function(b,d){var a={},c=O.concat();h.isFile(b)?function B(){var e=
|
||||
c.shift();e?e.test(b.type)?e(b,function(b,c){b?d(b):(h.extend(a,c),B())}):B():d(!1,a)}():d("not_support",a)},addInfoReader:function(b,d){d.test=function(d){return b.test(d)};O.push(d)},filter:function(b,d){for(var a=[],c=0,e=b.length,n;c<e;c++)c in b&&(n=b[c],d.call(n,n,c,b)&&a.push(n));return a},filterFiles:function(b,d,a){if(b.length){var c=b.concat(),e,n=[],l=[];(function R(){c.length?(e=c.shift(),h.getInfo(e,function(b,a){(d(e,b?!1:a)?n:l).push(e);R()})):a(n,l)})()}else a([],b)},upload:function(b){b=
|
||||
h.extend({prepare:h.F,beforeupload:h.F,upload:h.F,fileupload:h.F,fileprogress:h.F,filecomplete:h.F,progress:h.F,complete:h.F,pause:h.F,chunkSize:h.chunkSize,chunkUpoloadRetry:h.chunkUploadRetry},b);b.imageAutoOrientation&&!b.imageTransform&&(b.imageTransform={rotate:"auto"});var d=new h.XHR(b),a=this._getFilesDataArray(b.files),c=0,e=0,n=this,l,f=!1;g(a,function(b){c+=b.size});d.files=[];g(a,function(b){d.files.push(b.file)});d.total=c;d.loaded=0;b.beforeupload(d,b);(l=function S(){var l=a.shift(),
|
||||
t=l&&l.file,x=!1,u={};g(b,function(b,d){b&&"object"===typeof b&&(b=h.extend({},b));u[d]=b});t&&t.name===h.expando&&(t=null,h.log("[warn] FileAPI.upload() \u2014 called without files"));("abort"!=d.statusText||d.current)&&l?(f=!1,(d.currentFile=t)&&b.prepare(t,u),this._getFormData(u,l,function(a){e||b.upload(d,b);var f=new h.XHR(h.extend({},u,{upload:t?function(){b.fileupload(t,f,u)}:C,progress:t?function(a){x||(b.fileprogress({type:"progress",total:l.total=a.total,loaded:l.loaded=a.loaded},t,f,u),
|
||||
b.progress({type:"progress",total:c,loaded:d.loaded=e+l.size*(a.loaded/a.total)|0},t,f,u))}:C,complete:function(a){x=!0;g(X,function(b){d[b]=f[b]});t&&(l.loaded=l.total,this.progress(l),e+=l.size,d.loaded=e,b.filecomplete(a,f,t,u));S.call(n)}}));d.abort=function(b){this.current=b;f.abort()};f.send(a)})):(b.complete(200==d.status||201==d.status?!1:d.statusText||"error",d,b),f=!0)}).call(this);d.append=function(b,e){b=h._getFilesDataArray([].concat(b));g(b,function(b){c+=b.size;d.files.push(b.file);
|
||||
e?a.unshift(b):a.push(b)});f&&l.call(n)};d.remove=function(b){var d=-1;g(a,function(c){d++;if(c.file==b)return a.splice(d,1)})};return d},_getFilesDataArray:function(b){var d=[],a={};if(L.test(b&&b.tagName)){var c=h.getFiles(b);a[b.name||"file"]=null!==b.getAttribute("multiple")?c:c[0]}else l(b)&&L.test(b[0]&&b[0].tagName)?g(b,function(b){a[b.name||"file"]=h.getFiles(b)}):a=b;g(a,function B(b,a){l(b)?g(b,function(b){B(b,a)}):b&&b.name&&d.push({name:a,file:b,size:b.size,total:b.size,loaded:0})});d.length||
|
||||
d.push({file:{name:h.expando}});return d},_getFormData:function(b,d,a){var c=d.file,e=d.name,n=c.name,l=c.type;d=h.support.transform&&b.imageTransform;var f=new h.Form,t=h.queue(function(){a(f)}),x=d&&(0<parseInt(d.maxWidth||d.minWidth||d.width,10)||d.rotate);h.Image&&d&&(/image/.test(c.type)||V.test(c.nodeType))?(t.inc(),x&&(d=[d]),h.Image.transform(c,d,b.imageAutoOrientation,function(d,a){x&&!d?(!F&&!h.flashEngine&&(a[0]=h.toBinaryString(a[0]),f.multipart=!0),f.append(e,a[0],n,l)):(d||(g(a,function(b,
|
||||
d){!F&&!h.flashEngine&&(b=h.toBinaryString(b),f.multipart=!0);f.append(e+"["+d+"]",b,n,l)}),e+="[original]"),(d||b.imageOriginal)&&f.append(e,c,n,l));t.next()})):n!==h.expando&&f.append(e,c,n);g(b.data,function Y(b,d){"object"==typeof b?g(b,function(b,a){Y(b,d+"["+a+"]")}):f.append(d,b)});t.check()},reset:function(b){var d,a;n?(a=n(b).clone(!0).insertBefore(b).val("")[0],n(b).remove()):(d=b.parentNode,a=d.insertBefore(b.cloneNode(!0),b),a.value="",d.removeChild(b),g(D[h.uid(b)],function(d,c){g(d,
|
||||
function(d){m(b,c,d);j(a,c,d)})}));return a},load:function(b,d){var a=h.getXHR();a?(a.open("GET",b,!0),a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined"),j(a,"progress",function(b){b.lengthComputable&&d({type:b.type,loaded:b.loaded,total:b.total},a)}),a.onreadystatechange=function(){if(4==a.readyState)if(a.onreadystatechange=null,200==a.status){b=b.split("/");var c={name:b[b.length-1],size:a.getResponseHeader("Content-Length"),type:a.getResponseHeader("Content-Type")};c.dataURL=
|
||||
"data:"+c.type+";base64,"+h.encode64(a.responseBody||a.responseText);d({type:"load",result:c})}else d({type:"error"})},a.send(null)):d({type:"error"});return a},encode64:function(b){var d="",a=0;for("string"!==typeof b&&(b=String(b));a<b.length;){var c=b.charCodeAt(a++)&255,e=b.charCodeAt(a++)&255,n=b.charCodeAt(a++)&255,l=c>>2,c=(c&3)<<4|e>>4;isNaN(e)?e=n=64:(e=(e&15)<<2|n>>6,n=isNaN(n)?64:n&63);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(l)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c)+
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(e)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(n)}return d}};h.addInfoReader(/^image/,function(b,d){if(!b.__dimensions){var a=b.__dimensions=h.defer();h.readAsImage(b,function(b){var d=b.target;a.resolve("load"==b.type?!1:"error",{width:d.width,height:d.height})})}b.__dimensions.then(d)});h.event.dnd=function(b,d,a){var c,e;a||(a=d,d=h.F);p?(j(b,"dragenter dragleave dragover",function(b){for(var a=
|
||||
((b.originalEvent||b||"").dataTransfer||{}).types,n=a&&a.length;n--;)~a[n].indexOf("File")&&(b.preventDefault(),e!==b.type&&(e=b.type,"dragleave"!=e&&d.call(b.currentTarget,!0,b),clearTimeout(c),c=setTimeout(function(){d.call(b.currentTarget,"dragleave"!=e,b)},50)))}),j(b,"drop",function(b){b.preventDefault();e=0;d.call(b.currentTarget,!1,b);h.getDropFiles(b,function(d){a.call(b.currentTarget,d,b)})})):h.log("Drag'n'Drop -- not supported")};n&&!n.fn.dnd&&(n.fn.dnd=function(b,d){return this.each(function(){h.event.dnd(this,
|
||||
b,d)})});a.FileAPI=h.extend(h,a.FileAPI);h.flashUrl||(h.flashUrl=h.staticPath+"FileAPI.flash.swf");h.flashImageUrl||(h.flashImageUrl=h.staticPath+"FileAPI.flash.image.swf")})(window);
|
||||
(function(a,k,g){function j(a,c){if(!(this instanceof j))return new j(a);this.file=a;this.better=!c;this.matrix={sx:0,sy:0,sw:0,sh:0,dx:0,dy:0,dw:0,dh:0,resize:0,deg:0}}var m=Math.min,f=Math.round,c=!1,e={8:270,3:180,6:90};try{c=-1<k.createElement("canvas").toDataURL("image/png").indexOf("data:image/png")}catch(q){}j.prototype={constructor:j,set:function(c){a.extend(this.matrix,c);return this},crop:function(a,c,e,f){e===g&&(e=a,f=c,a=c=0);return this.set({sx:a,sy:c,sw:e,sh:f||e})},resize:function(a,
|
||||
c,e){"string"==typeof c&&(e=c,c=a);return this.set({dw:a,dh:c,resize:e})},preview:function(a,c){return this.set({dw:a,dh:c||a,resize:"preview"})},rotate:function(a){return this.set({deg:a})},_load:function(c,e){var f=this;a.readAsImage(c,function(a){e.call(f,"load"!=a.type,a.result)})},_apply:function(a,c){var e=k.createElement("canvas"),f=this.getMatrix(a),g=e.getContext("2d"),m=f.deg,q=f.dw,r=f.dh,v=a.width,p=a.height,j,d=a;if(this.better)for(;2<Math.min(v/q,p/r);)v=~~(v/2+0.5),p=~~(p/2+0.5),j=
|
||||
k.createElement("canvas"),j.width=v,j.height=p,d!==a?(j.getContext("2d").drawImage(d,0,0,d.width,d.height,0,0,v,p),d=j):(d=j,d.getContext("2d").drawImage(a,f.sx,f.sy,f.sw,f.sh,0,0,v,p),f.sx=f.sy=f.sw=f.sh=0);e.width=!(m%180)?q:r;e.height=m%180?q:r;g.rotate(m*Math.PI/180);g.drawImage(d,f.sx,f.sy,f.sw||d.width,f.sh||d.height,180==m||270==m?-q:0,90==m||180==m?-r:0,q,r);c.call(this,!1,e)},getMatrix:function(c){var e=a.extend({},this.matrix),g=e.sw=e.sw||c.width;c=e.sh=e.sh||c.height;var q=e.dw=e.dw||
|
||||
e.sw,k=e.dh=e.dh||e.sh,s=g/c,j=q/k,r=e.resize;if("preview"==r){if(q!=g||k!=c)if(j>=s?(s=g,r=s/j):(r=c,s=r*j),s!=g||r!=c)e.sx=~~((g-s)/2),e.sy=~~((c-r)/2),g=s,c=r}else r&&("min"==r?(q=f(s<j?m(g,q):k*s),k=f(s<j?q/s:m(c,k))):(q=f(s>=j?m(g,q):k*s),k=f(s>=j?q/s:m(c,k))));e.sw=g;e.sh=c;e.dw=q;e.dh=k;return e},_trans:function(a){this._load(this.file,function(c,e){c?a(c):this._apply(e,a)})},get:function(c){if(a.support.transform){var f=this;"auto"==f.matrix.deg?a.getInfo(this.file,function(a,g){f.matrix.deg=
|
||||
e[g&&g.exif&&g.exif.Orientation]||0;f._trans(c)}):f._trans(c)}else c("not_support")},toData:function(a){this.get(a)}};j.exifOrientation=e;j.transform=function(c,e,f,q){a.getInfo(c,function(m,k){var y={},r=a.queue(function(a){q(a,y)});m?r.fail():a.each(e,function(a,e){if(!r.isFail()){var l=j(k.nodeType?k:c);if("function"==typeof a)a(k,l);else if(a.width)l[a.preview?"preview":"resize"](a.width,a.height,a.type);else a.maxWidth&&(k.width>a.maxWidth||k.height>a.maxHeight)&&l.resize(a.maxWidth,a.maxHeight,
|
||||
"max");a.rotate===g&&f&&(a.rotate="auto");l.rotate(a.rotate);r.inc();l.toData(function(d,a){d?r.fail():(y[e]=a,r.next())})}})})};a.support.canvas=a.support.transform=c;a.Image=j})(FileAPI,document);
|
||||
(function(a,k,g){var j=k.encodeURIComponent,m=k.FormData;k=function(){this.items=[]};k.prototype={append:function(a,c,e,g){this.items.push({name:a,blob:c&&c.blob||(void 0==c?"":c),file:c&&(e||c.name),type:c&&(g||c.type)})},each:function(a){for(var c=0,e=this.items.length;c<e;c++)a.call(this,this.items[c])},toData:function(f,c){c._chunked=a.support.chunked&&0<c.chunkSize&&1==a.filter(this.items,function(a){return a.file}).length;a.support.html5?this.multipart||!m?(a.log("FileAPI.Form.toMultipartData"),
|
||||
this.toMultipartData(f)):c._chunked?(a.log("FileAPI.Form.toPlainData"),this.toPlainData(f)):(a.log("FileAPI.Form.toFormData"),this.toFormData(f)):(a.log("FileAPI.Form.toHtmlData"),this.toHtmlData(f))},_to:function(f,c,e,g){var m=a.queue(function(){c(f)});this.each(function(a){e(a,f,m,g)});m.check()},toHtmlData:function(f){this._to(g.createDocumentFragment(),f,function(c,e){var f=c.blob,m;c.file?(a.reset(f),f.name=c.name,e.appendChild(f)):(m=g.createElement("input"),m.name=c.name,m.type="hidden",m.value=
|
||||
f,e.appendChild(m))})},toPlainData:function(a){this._to({},a,function(a,e,f){a.file&&(e.type=a.file);a.blob.toBlob?(f.inc(),a.blob.toBlob(function(g){e.name=a.name;e.file=g;e.size=g.length;e.type=a.type;f.next()},"image/png")):a.file?(e.name=a.blob.name,e.file=a.blob,e.size=a.blob.size,e.type=a.type):(e.params||(e.params=[]),e.params.push(encodeURIComponent(a.name)+"="+encodeURIComponent(a.blob)));e.start=-1;e.end=e.file.FileAPIReadPosition||-1;e.retry=0})},toFormData:function(a){this._to(new m,a,
|
||||
function(a,e,f){a.file&&e.append("_"+a.name,a.file);a.blob&&a.blob.toBlob?(f.inc(),a.blob.toBlob(function(g){e.append(a.name,g,a.file);f.next()},"image/png")):a.file?e.append(a.name,a.blob,a.file):e.append(a.name,a.blob)})},toMultipartData:function(f){this._to([],f,function(c,e,f,g){var l=!!c.file,m=c.blob,k=function(a){e.push("--_"+g+('\r\nContent-Disposition: form-data; name="'+c.name+'"'+(l?'; filename="'+j(c.file)+'"':"")+(l?"\r\nContent-Type: "+(c.type||"application/octet-stream"):"")+"\r\n\r\n"+
|
||||
(l?a:j(a))+"\r\n"));f.next()};f.inc();a.isFile(m)?a.readAsBinaryString(m,function(a){"load"==a.type&&k(a.result)}):k(m)},a.expando)}};a.Form=k})(FileAPI,window,document);
|
||||
(function(a,k){var g=function(){},j=function(a){this.uid=k.uid();this.xhr={abort:g,getResponseHeader:g,getAllResponseHeaders:g};this.options=a};j.prototype={status:0,statusText:"",getResponseHeader:function(a){return this.xhr.getResponseHeader(a)},getAllResponseHeaders:function(){return this.xhr.getAllResponseHeaders()||{}},end:function(m,f){var c=this,e=c.options;c.end=c.abort=g;c.status=m;f&&(c.statusText=f);k.log("xhr.end:",m,f);e.complete(200==m||201==m?!1:c.statusText||"unknown",c);c.xhr&&c.xhr.node&&
|
||||
setTimeout(function(){var e=c.xhr.node;try{e.parentNode.removeChild(e)}catch(f){}try{delete a[c.uid]}catch(g){}a[c.uid]=c.xhr.node=null},9)},abort:function(){this.end(0,"abort");this.xhr&&(this.xhr.aborted=!0,this.xhr.abort())},send:function(a){var f=this,c=this.options;a.toData(function(a){c.upload(c,f);f._send.call(f,c,a)},c)},_send:function(g,f){var c=this,e,q=c.uid,j=g.url;k.log("XHR._send:",f);j+=(~j.indexOf("?")?"&":"?")+k.uid();f.nodeName?(g.upload(g,c),e=document.createElement("div"),e.innerHTML=
|
||||
'<form target="'+q+'" action="'+j+'" method="POST" enctype="multipart/form-data" style="position: absolute; top: -1000px; overflow: hidden; width: 1px; height: 1px;"><iframe name="'+q+'" src="javascript:false;"></iframe><input value="'+q+'" name="callback" type="hidden"/></form>',c.xhr.abort=function(){var a=e.getElementsByName("iframe")[0];if(a)try{a.stop?a.stop():a.contentWindow.stop?a.contentWindow.stop():a.contentWindow.document.execCommand("Stop")}catch(c){}e=null},j=e.getElementsByTagName("form")[0],
|
||||
j.appendChild(f),k.log(j.parentNode.innerHTML),document.body.appendChild(e),c.xhr.node=e,a[q]=function(a,f,g){c.readyState=4;c.responseText=g;c.end(a,f);e=null},c.readyState=2,j.submit(),j=null):this.xhr&&this.xhr.aborted?k.log("Error: already aborted"):(e=c.xhr=k.getXHR(),f.params&&(j+=(0>j.indexOf("?")?"?":"&")+f.params.join("&")),e.open("POST",j,!0),k.withCredentials&&(e.withCredentials="true"),(!g.headers||!g.headers["X-Requested-With"])&&e.setRequestHeader("X-Requested-With","XMLHttpRequest"),
|
||||
k.each(g.headers,function(a,c){e.setRequestHeader(c,a)}),g._chunked?(e.upload&&e.upload.addEventListener("progress",function(a){f.retry||g.progress({type:a.type,total:f.size,loaded:f.start+a.loaded,totalSize:f.size},c,g)},!1),e.onreadystatechange=function(){c.status=e.status;c.statusText=e.statusText;c.readyState=e.readyState;if(4==e.readyState){for(var a in{"":1,XML:1,Text:1,Body:1})c["response"+a]=e["response"+a];e.onreadystatechange=null;if(!e.status||0<e.status-201)if(k.log("Error: "+e.status),
|
||||
(!e.status&&!e.aborted||500==e.status||416==e.status)&&++f.retry<=g.chunkUploadRetry){a=e.status?0:k.chunkNetworkDownRetryTimeout;g.pause(f.file,g);var j=parseInt(e.getResponseHeader("X-Last-Known-Byte"),10);k.log("X-Last-Known-Byte: "+j);f.end=j?j:f.start-1;setTimeout(function(){c._send(g,f)},a)}else c.end(e.status);else f.retry=0,f.end==f.size-1?c.end(e.status):(j=parseInt(e.getResponseHeader("X-Last-Known-Byte"),10),k.log("X-Last-Known-Byte: "+j),j&&(f.end=j),f.file.FileAPIReadPosition=f.end,setTimeout(function(){c._send(g,
|
||||
f)},0));e=null}},f.start=f.end+1,f.end=Math.max(Math.min(f.start+g.chunkSize,f.size)-1,f.start),(q="slice")in f.file||(q="mozSlice")in f.file||(q="webkitSlice"),e.setRequestHeader("Content-Range","bytes "+f.start+"-"+f.end+"/"+f.size),e.setRequestHeader("Content-Disposition","attachment; filename="+encodeURIComponent(f.name)),e.setRequestHeader("Content-Type",f.type||"application/octet-stream"),q=f.file[q](f.start,f.end+1),e.send(q),q=null):(e.upload&&e.upload.addEventListener("progress",k.throttle(function(a){g.progress(a,
|
||||
c,g)},100),!1),e.onreadystatechange=function(){c.status=e.status;c.statusText=e.statusText;c.readyState=e.readyState;if(4==e.readyState){for(var a in{"":1,XML:1,Text:1,Body:1})c["response"+a]=e["response"+a];e.onreadystatechange=null;c.end(e.status);e=null}},k.isArray(f)?(e.setRequestHeader("Content-Type","multipart/form-data; boundary=_"+k.expando),f=f.join("")+"--_"+k.expando+"--",e.sendAsBinary?e.sendAsBinary(f):(q=Array.prototype.map.call(f,function(a){return a.charCodeAt(0)&255}),e.send((new Uint8Array(q)).buffer))):
|
||||
e.send(f)))}};k.XHR=j})(window,FileAPI);
|
||||
(function(a,k,g){var j=a.support,m=k.navigator,f=m.mimeTypes,c=!1;if(m.plugins&&"object"==typeof m.plugins["Shockwave Flash"])c=m.plugins["Shockwave Flash"].description&&!(f&&f["application/x-shockwave-flash"]&&!f["application/x-shockwave-flash"].enabledPlugin);else try{c=!(!k.ActiveXObject||!new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))}catch(e){a.log("ShockwaveFlash.ShockwaveFlash -- does not supported.")}j.flash=c;if(a.support.flash&&(!a.html5||!a.support.html5||a.cors&&!a.support.cors)){var q=
|
||||
function(a){return('<object id="#id#" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+(a.width||"100%")+'" height="'+(a.height||"100%")+'"><param name="movie" value="#src#" /><param name="flashvars" value="#flashvars#" /><param name="swliveconnect" value="true" /><param name="allowscriptaccess" value="always" /><param name="allownetworking" value="all" /><param name="menu" value="false" /><param name="wmode" value="#wmode#" /><embed flashvars="#flashvars#" swliveconnect="true" allownetworking="all" allowscriptaccess="always" name="#id#" src="#src#" width="'+
|
||||
(a.width||"100%")+'" height="'+(a.height||"100%")+'" menu="false" wmode="transparent" type="application/x-shockwave-flash"></embed></object>').replace(/#(\w+)#/ig,function(c,e){return a[e]})},t=function(a,c){if(a&&a.style){var e,f;for(e in c){f=c[e];"number"==typeof f&&(f+="px");try{a.style[e]=f}catch(g){}}}},l=function(d,c){a.each(c,function(a,c){var e=d[c];d[c]=function(){this.parent=e;return a.apply(this,arguments)}})},A=function(d){var c=d.wid=a.uid();p._fn[c]=d;return"FileAPI.Flash._fn."+c},
|
||||
u=function(a){try{p._fn[a.wid]=null,delete p._fn[a.wid]}catch(c){}},C=function(a,c){if(!v.test(a)){if(/^\.\//.test(a)||"/"!=a.charAt(0)){var e=location.pathname,e=e.substr(0,e.lastIndexOf("/"));a=(e+"/"+a).replace("/./","/")}"//"!=a.substr(0,2)&&(a="//"+location.host+a);v.test(a)||(a=location.protocol+a)}c&&(a+=(/\?/.test(a)?"&":"?")+c);return a},s=a.uid(),y=0,r={},v=/^https?:/i,p={_fn:{},init:function(){var d=g.body&&g.body.firstChild;if(d){do if(1==d.nodeType){a.log("FlashAPI.Flash.init...");var c=
|
||||
g.createElement("div");t(c,{top:1,right:1,width:5,height:5,position:"absolute"});d.parentNode.insertBefore(c,d);p.publish(c,s);return}while(d=d.nextSibling)}10>y&&setTimeout(p.init,50*++y)},publish:function(d,c){d.innerHTML=q({id:c,src:C(a.flashUrl,"r="+a.version),wmode:"transparent",flashvars:"callback=FileAPI.Flash.event&flashId="+c+"&storeKey="+navigator.userAgent.match(/\d/ig).join("")+"_"+a.version+(p.isReady||(a.pingUrl?"&ping="+a.pingUrl:""))})},ready:function(){p.ready=a.F;p.isReady=!0;p.patch();
|
||||
a.event.on(g,"mouseover",p.mouseover);a.event.on(g,"click",function(a){p.mouseover(a)&&(a.preventDefault?a.preventDefault():a.returnValue=!0)})},getWrapper:function(a){do if(/js-fileapi-wrapper/.test(a.className))return a;while((a=a.parentNode)&&a!==g.body)},mouseover:function(d){d=a.event.fix(d).target;if(/input/i.test(d.nodeName)&&"file"==d.type){var c=d.getAttribute(s);if("i"==c||"r"==c)return!1;if("p"!=c){d.setAttribute(s,"i");var c=g.createElement("div"),e=p.getWrapper(d);if(!e){a.log("flash.mouseover.error: js-fileapi-wrapper not found");
|
||||
return}t(c,{top:0,left:0,width:d.offsetWidth+100,height:d.offsetHeight+100,zIndex:"1000000",position:"absolute"});e.appendChild(c);p.publish(c,a.uid());d.setAttribute(s,"p")}return!0}},event:function(d){var c=d.type;if("ready"==c){try{p.getInput(d.flashId).setAttribute(s,"r")}catch(e){}p.ready();setTimeout(function(){p.mouseenter(d)},50);return!0}"ping"===c?a.log("(flash -> js).ping:",[d.status,d.savedStatus],d.error):"log"===c?a.log("(flash -> js).log:",d.target):c in p&&setTimeout(function(){a.log("Flash.event."+
|
||||
d.type+":",d);p[c](d)},1)},mouseenter:function(d){var c=p.getInput(d.flashId);if(c){p.cmd(d,"multiple",null!=c.getAttribute("multiple"));var e=[],f={};a.each((c.getAttribute("accept")||"").split(/,\s*/),function(d){a.accept[d]&&a.each(a.accept[d].split(" "),function(a){f[a]=1})});a.each(f,function(a,d){e.push(d)});p.cmd(d,"accept",e.length?e.join(",")+","+e.join(",").toUpperCase():"*")}},get:function(a){return g[a]||k[a]||g.embeds[a]},getInput:function(d){try{var c=p.getWrapper(p.get(d));if(c)return c.getElementsByTagName("input")[0]}catch(e){a.log('Can not find "input" by flashId:',
|
||||
d,e)}},select:function(d){var c=p.getInput(d.flashId),e=a.uid(c);d=d.target.files;a.each(d,function(d){a.checkFileObj(d)});r[e]=d;g.createEvent?(e=g.createEvent("Event"),e.initEvent("change",!0,!1),c.dispatchEvent(e)):g.createEventObject&&(e=g.createEventObject(),c.fireEvent("onchange",e))},cmd:function(d,c,e,f){try{return a.log("(js -> flash)."+c+":",e),p.get(d.flashId||d).cmd(c,e)}catch(g){a.log("(js -> flash).onError:",g),f||setTimeout(function(){p.cmd(d,c,e,!0)},50)}},patch:function(){a.flashEngine=
|
||||
a.support.transform=!0;l(a,{getFiles:function(d,c,e){if(e)return a.filterFiles(a.getFiles(d),c,e),null;var f=a.isArray(d)?d:r[a.uid(d.target||d.srcElement||d)];if(!f)return this.parent.apply(this,arguments);c&&(c=a.getFilesFilter(c),f=a.filter(f,function(a){return c.test(a.name)}));return f},getInfo:function(d,c){if(d&&!d.flashId)this.parent.apply(this,arguments);else{if(!d.__info){var e=d.__info=a.defer();p.cmd(d,"getFileInfo",{id:d.id,callback:A(function F(a,c){u(F);e.resolve(a,d.info=c)})})}d.__info.then(c)}}});
|
||||
a.support.transform=!0;a.Image&&l(a.Image.prototype,{get:function(a,c){this.set({scaleMode:c||"noScale"});this.parent(a)},_load:function(d,c){a.log("FileAPI.Image._load:",d);if(d&&!d.flashId)this.parent.apply(this,arguments);else{var e=this;a.getInfo(d,function(a){c.call(e,a,d)})}},_apply:function(d,c){a.log("FileAPI.Image._apply:",d);if(d&&!d.flashId)this.parent.apply(this,arguments);else{var e=this.getMatrix(d.info);p.cmd(d,"imageTransform",{id:d.id,matrix:e,callback:A(function F(f,k){a.log("FileAPI.Image._apply.callback:",
|
||||
f);u(F);if(f)c(f);else if(!a.support.dataURI||3E4<k.length){var j={width:!(e.deg%180)?e.dw:e.dh,height:e.deg%180?e.dw:e.dh,scale:e.scaleMode},l=c,m=function(){try{p.get(s).setImage(k)}catch(d){a.log('flash.setImage -- can not set "base64":',d)}},r,s=a.uid(),z=g.createElement("div");for(r in j)z.setAttribute("data-img-"+r,j[r]);t(z,j);z.innerHTML=q(a.extend({id:s,src:C(a.flashImageUrl,"r="+a.uid()),wmode:"opaque",flashvars:"scale="+j.scale+"&callback="+A(function J(){u(J);setTimeout(m,99);return!0})},
|
||||
j));l(!1,z);z=null}else{var v=new Image;a.event.one(v,"error abort load",function(a){c("load"!=a.type&&a.type,v);v=null});v.src="data:"+d.type+";base64,"+k}})})}},toData:function(d){var c=this.file,e=c.info,f=this.getMatrix(e);c&&!c.flashId?this.parent.apply(this,arguments):("auto"==f.deg&&(f.deg=a.Image.exifOrientation[e&&e.exif&&e.exif.Orientation]||0),d.call(this,!c.info,{id:c.id,flashId:c.flashId,name:c.name,type:c.type,matrix:f}))}});l(a.Form.prototype,{toData:function(d){for(var c=this.items,
|
||||
e=c.length;e--;)if(c[e].file&&c[e].blob&&!c[e].blob.flashId)return this.parent.apply(this,arguments);a.log("flash.Form.toData");d(c)}});l(a.XHR.prototype,{_send:function(c,e){if(e.nodeName||e.append&&a.support.html5||a.isArray(e)&&"string"===typeof e[0])return this.parent.apply(this,arguments);var f={},g={},j=this,k,l;a.each(e,function(a){a.file?(g[a.name]=a={id:a.blob.id,name:a.blob.name,matrix:a.blob.matrix,flashId:a.blob.flashId},l=a.id,k=a.flashId):f[a.name]=a.blob});if(!l&&!k)return this.parent.apply(this,
|
||||
arguments);a.log("flash.XHR._send:",k,l,g);j.xhr={headers:{},abort:function(){p.cmd(k,"abort",{id:l})},getResponseHeader:function(a){return this.headers[a]},getAllResponseHeaders:function(){return this.headers}};var m=a.queue(function(){p.cmd(k,"upload",{url:C(c.url),data:f,files:g,headers:c.headers,callback:A(function I(e){var f=e.type,g=e.result;a.log("flash.upload."+f+":",e);if("progress"==f)e.loaded=Math.min(e.loaded,e.total),e.lengthComputable=!0,c.progress(e);else if("complete"==f)u(I),"string"==
|
||||
typeof g&&(j.responseText=g.replace(/%22/g,'"').replace(/%5c/g,"\\").replace(/%26/g,"&").replace(/%25/g,"%")),j.end(e.status||200);else if("abort"==f||"error"==f)j.end(e.status||0,e.message),u(I)})})});a.each(g,function(c){m.inc();a.getInfo(c,m.next)});m.check()}})}};a.Flash=p;var w=new Image;a.event.one(w,"error load",function(){a.support.dataURI=!(1!=w.width||1!=w.height);w=null;p.init()});w.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="}})(FileAPI,window,document);
|
||||
"undefined"!==typeof ajs&&ajs.loaded&&ajs.loaded("{fileapi}FileAPI.min");"function"===typeof define&&define.amd&&define("FileAPI",[],function(){return window.FileAPI||{}});
|
25
themes/hellug-keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,25 @@
|
|||
/**!
|
||||
* AngularJS file upload shim for angular XHR HTML5 browsers
|
||||
* @author Danial <danial.farid@gmail.com>
|
||||
* @version 1.1.10
|
||||
*/
|
||||
if (window.XMLHttpRequest) {
|
||||
if (window.FormData) {
|
||||
// allow access to Angular XHR private field: https://github.com/angular/angular.js/issues/1934
|
||||
XMLHttpRequest = (function(origXHR) {
|
||||
return function() {
|
||||
var xhr = new origXHR();
|
||||
xhr.send = (function(orig) {
|
||||
return function() {
|
||||
if (arguments[0] instanceof FormData && arguments[0].__setXHR_) {
|
||||
var formData = arguments[0];
|
||||
formData.__setXHR_(xhr);
|
||||
}
|
||||
orig.apply(xhr, arguments);
|
||||
}
|
||||
})(xhr.send);
|
||||
return xhr;
|
||||
}
|
||||
})(XMLHttpRequest);
|
||||
}
|
||||
}
|
2
themes/hellug-keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.min.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,2 @@
|
|||
/*! 1.1.10 */
|
||||
window.XMLHttpRequest&&window.FormData&&(XMLHttpRequest=function(a){return function(){var b=new a;return b.send=function(a){return function(){if(arguments[0]instanceof FormData&&arguments[0].__setXHR_){var c=arguments[0];c.__setXHR_(b)}a.apply(b,arguments)}}(b.send),b}}(XMLHttpRequest));
|
215
themes/hellug-keycloak/common/resources/lib/fileupload/angular-file-upload-shim.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,215 @@
|
|||
/**!
|
||||
* AngularJS file upload shim for HTML5 FormData
|
||||
* @author Danial <danial.farid@gmail.com>
|
||||
* @version 1.1.10
|
||||
*/
|
||||
(function() {
|
||||
|
||||
if (window.XMLHttpRequest) {
|
||||
if (window.FormData) {
|
||||
// allow access to Angular XHR private field: https://github.com/angular/angular.js/issues/1934
|
||||
XMLHttpRequest = (function(origXHR) {
|
||||
return function() {
|
||||
var xhr = new origXHR();
|
||||
xhr.send = (function(orig) {
|
||||
return function() {
|
||||
if (arguments[0] instanceof FormData && arguments[0].__setXHR_) {
|
||||
var formData = arguments[0];
|
||||
formData.__setXHR_(xhr);
|
||||
}
|
||||
orig.apply(xhr, arguments);
|
||||
}
|
||||
})(xhr.send);
|
||||
return xhr;
|
||||
}
|
||||
})(XMLHttpRequest);
|
||||
} else {
|
||||
XMLHttpRequest = (function(origXHR) {
|
||||
return function() {
|
||||
var xhr = new origXHR();
|
||||
var origSend = xhr.send;
|
||||
xhr.__requestHeaders = [];
|
||||
xhr.open = (function(orig) {
|
||||
xhr.upload = {
|
||||
addEventListener: function(t, fn, b) {
|
||||
if (t == 'progress') {
|
||||
xhr.__progress = fn;
|
||||
}
|
||||
}
|
||||
};
|
||||
return function(m, url, b) {
|
||||
orig.apply(xhr, [m, url, b]);
|
||||
xhr.__url = url;
|
||||
}
|
||||
})(xhr.open);
|
||||
xhr.getResponseHeader = (function(orig) {
|
||||
return function(h) {
|
||||
return xhr.__fileApiXHR ? xhr.__fileApiXHR.getResponseHeader(h) : orig.apply(xhr, [h]);
|
||||
}
|
||||
})(xhr.getResponseHeader);
|
||||
xhr.getAllResponseHeaders = (function(orig) {
|
||||
return function() {
|
||||
return xhr.__fileApiXHR ? xhr.__fileApiXHR.getAllResponseHeaders() : orig.apply(xhr);
|
||||
}
|
||||
})(xhr.getAllResponseHeaders);
|
||||
xhr.abort = (function(orig) {
|
||||
return function() {
|
||||
return xhr.__fileApiXHR ? xhr.__fileApiXHR.abort() : (orig == null ? null : orig.apply(xhr));
|
||||
}
|
||||
})(xhr.abort);
|
||||
xhr.send = function() {
|
||||
if (arguments[0] != null && arguments[0].__isShim && arguments[0].__setXHR_) {
|
||||
var formData = arguments[0];
|
||||
if (arguments[0].__setXHR_) {
|
||||
var formData = arguments[0];
|
||||
formData.__setXHR_(xhr);
|
||||
}
|
||||
var config = {
|
||||
url: xhr.__url,
|
||||
complete: function(err, fileApiXHR) {
|
||||
Object.defineProperty(xhr, 'status', {get: function() {return fileApiXHR.status}});
|
||||
Object.defineProperty(xhr, 'statusText', {get: function() {return fileApiXHR.statusText}});
|
||||
Object.defineProperty(xhr, 'readyState', {get: function() {return 4}});
|
||||
Object.defineProperty(xhr, 'response', {get: function() {return fileApiXHR.response}});
|
||||
Object.defineProperty(xhr, 'responseText', {get: function() {return fileApiXHR.responseText}});
|
||||
xhr.__fileApiXHR = fileApiXHR;
|
||||
xhr.onreadystatechange();
|
||||
},
|
||||
progress: function(e) {
|
||||
xhr.__progress(e);
|
||||
},
|
||||
headers: xhr.__requestHeaders
|
||||
}
|
||||
config.data = {};
|
||||
config.files = {}
|
||||
for (var i = 0; i < formData.data.length; i++) {
|
||||
var item = formData.data[i];
|
||||
if (item.val != null && item.val.name != null && item.val.size != null && item.val.type != null) {
|
||||
config.files[item.key] = item.val;
|
||||
} else {
|
||||
config.data[item.key] = item.val;
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
xhr.__fileApiXHR = FileAPI.upload(config);
|
||||
}, 1);
|
||||
} else {
|
||||
origSend.apply(xhr, arguments);
|
||||
}
|
||||
}
|
||||
return xhr;
|
||||
}
|
||||
})(XMLHttpRequest);
|
||||
}
|
||||
}
|
||||
|
||||
if (!window.FormData) {
|
||||
var hasFlash = false;
|
||||
try {
|
||||
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
|
||||
if (fo) hasFlash = true;
|
||||
} catch(e) {
|
||||
if (navigator.mimeTypes["application/x-shockwave-flash"] != undefined) hasFlash = true;
|
||||
}
|
||||
var wrapFileApi = function(elem) {
|
||||
if (!elem.__isWrapped && (elem.getAttribute('ng-file-select') != null || elem.getAttribute('data-ng-file-select') != null)) {
|
||||
var wrap = document.createElement('div');
|
||||
wrap.innerHTML = '<div class="js-fileapi-wrapper" style="position:relative; overflow:hidden"></div>';
|
||||
wrap = wrap.firstChild;
|
||||
var parent = elem.parentNode;
|
||||
parent.insertBefore(wrap, elem);
|
||||
parent.removeChild(elem);
|
||||
wrap.appendChild(elem);
|
||||
if (!hasFlash) {
|
||||
wrap.appendChild(document.createTextNode('Flash is required'));
|
||||
}
|
||||
elem.__isWrapped = true;
|
||||
}
|
||||
};
|
||||
var changeFnWrapper = function(fn) {
|
||||
return function(evt) {
|
||||
var files = FileAPI.getFiles(evt);
|
||||
if (!evt.target) {
|
||||
evt.target = {};
|
||||
}
|
||||
evt.target.files = files;
|
||||
evt.target.files.item = function(i) {
|
||||
return evt.target.files[i] || null;
|
||||
}
|
||||
fn(evt);
|
||||
};
|
||||
};
|
||||
var isFileChange = function(elem, e) {
|
||||
return (e.toLowerCase() === 'change' || e.toLowerCase() === 'onchange') && elem.getAttribute('type') == 'file';
|
||||
}
|
||||
if (HTMLInputElement.prototype.addEventListener) {
|
||||
HTMLInputElement.prototype.addEventListener = (function(origAddEventListener) {
|
||||
return function(e, fn, b, d) {
|
||||
if (isFileChange(this, e)) {
|
||||
wrapFileApi(this);
|
||||
origAddEventListener.apply(this, [e, changeFnWrapper(fn), b, d]);
|
||||
} else {
|
||||
origAddEventListener.apply(this, [e, fn, b, d]);
|
||||
}
|
||||
}
|
||||
})(HTMLInputElement.prototype.addEventListener);
|
||||
}
|
||||
if (HTMLInputElement.prototype.attachEvent) {
|
||||
HTMLInputElement.prototype.attachEvent = (function(origAttachEvent) {
|
||||
return function(e, fn) {
|
||||
if (isFileChange(this, e)) {
|
||||
wrapFileApi(this);
|
||||
origAttachEvent.apply(this, [e, changeFnWrapper(fn)]);
|
||||
} else {
|
||||
origAttachEvent.apply(this, [e, fn]);
|
||||
}
|
||||
}
|
||||
})(HTMLInputElement.prototype.attachEvent);
|
||||
}
|
||||
|
||||
window.FormData = FormData = function() {
|
||||
return {
|
||||
append: function(key, val, name) {
|
||||
this.data.push({
|
||||
key: key,
|
||||
val: val,
|
||||
name: name
|
||||
});
|
||||
},
|
||||
data: [],
|
||||
__isShim: true
|
||||
};
|
||||
};
|
||||
|
||||
(function () {
|
||||
//load FileAPI
|
||||
if (!window.FileAPI || !FileAPI.upload) {
|
||||
var base = '', script = document.createElement('script'), allScripts = document.getElementsByTagName('script'), i, index, src;
|
||||
if (window.FileAPI && window.FileAPI.jsPath) {
|
||||
base = window.FileAPI.jsPath;
|
||||
} else {
|
||||
for (i = 0; i < allScripts.length; i++) {
|
||||
src = allScripts[i].src;
|
||||
index = src.indexOf('angular-file-upload-shim.js')
|
||||
if (index == -1) {
|
||||
index = src.indexOf('angular-file-upload-shim.min.js');
|
||||
}
|
||||
if (index > -1) {
|
||||
base = src.substring(0, index);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!window.FileAPI || FileAPI.staticPath == null) {
|
||||
FileAPI = {
|
||||
staticPath: base
|
||||
}
|
||||
}
|
||||
|
||||
script.setAttribute('src', base + "FileAPI.min.js");
|
||||
document.getElementsByTagName('head')[0].appendChild(script);
|
||||
}
|
||||
})();
|
||||
}})();
|
2
themes/hellug-keycloak/common/resources/lib/fileupload/angular-file-upload-shim.min.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,2 @@
|
|||
/*! 1.1.10 */
|
||||
!function(){if(window.XMLHttpRequest&&(XMLHttpRequest=window.FormData?function(a){return function(){var b=new a;return b.send=function(a){return function(){if(arguments[0]instanceof FormData&&arguments[0].__setXHR_){var c=arguments[0];c.__setXHR_(b)}a.apply(b,arguments)}}(b.send),b}}(XMLHttpRequest):function(a){return function(){var b=new a,c=b.send;return b.__requestHeaders=[],b.open=function(a){return b.upload={addEventListener:function(a,c){"progress"==a&&(b.__progress=c)}},function(c,d,e){a.apply(b,[c,d,e]),b.__url=d}}(b.open),b.getResponseHeader=function(a){return function(c){return b.__fileApiXHR?b.__fileApiXHR.getResponseHeader(c):a.apply(b,[c])}}(b.getResponseHeader),b.getAllResponseHeaders=function(a){return function(){return b.__fileApiXHR?b.__fileApiXHR.getAllResponseHeaders():a.apply(b)}}(b.getAllResponseHeaders),b.abort=function(a){return function(){return b.__fileApiXHR?b.__fileApiXHR.abort():null==a?null:a.apply(b)}}(b.abort),b.send=function(){if(null!=arguments[0]&&arguments[0].__isShim&&arguments[0].__setXHR_){var a=arguments[0];if(arguments[0].__setXHR_){var a=arguments[0];a.__setXHR_(b)}var d={url:b.__url,complete:function(a,c){Object.defineProperty(b,"status",{get:function(){return c.status}}),Object.defineProperty(b,"statusText",{get:function(){return c.statusText}}),Object.defineProperty(b,"readyState",{get:function(){return 4}}),Object.defineProperty(b,"response",{get:function(){return c.response}}),Object.defineProperty(b,"responseText",{get:function(){return c.responseText}}),b.__fileApiXHR=c,b.onreadystatechange()},progress:function(a){b.__progress(a)},headers:b.__requestHeaders};d.data={},d.files={};for(var e=0;e<a.data.length;e++){var f=a.data[e];null!=f.val&&null!=f.val.name&&null!=f.val.size&&null!=f.val.type?d.files[f.key]=f.val:d.data[f.key]=f.val}setTimeout(function(){b.__fileApiXHR=FileAPI.upload(d)},1)}else c.apply(b,arguments)},b}}(XMLHttpRequest)),!window.FormData){var a=!1;try{var b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");b&&(a=!0)}catch(c){void 0!=navigator.mimeTypes["application/x-shockwave-flash"]&&(a=!0)}var d=function(b){if(!b.__isWrapped&&(null!=b.getAttribute("ng-file-select")||null!=b.getAttribute("data-ng-file-select"))){var c=document.createElement("div");c.innerHTML='<div class="js-fileapi-wrapper" style="position:relative; overflow:hidden"></div>',c=c.firstChild;var d=b.parentNode;d.insertBefore(c,b),d.removeChild(b),c.appendChild(b),a||c.appendChild(document.createTextNode("Flash is required")),b.__isWrapped=!0}},e=function(a){return function(b){var c=FileAPI.getFiles(b);b.target||(b.target={}),b.target.files=c,b.target.files.item=function(a){return b.target.files[a]||null},a(b)}},f=function(a,b){return("change"===b.toLowerCase()||"onchange"===b.toLowerCase())&&"file"==a.getAttribute("type")};HTMLInputElement.prototype.addEventListener&&(HTMLInputElement.prototype.addEventListener=function(a){return function(b,c,g,h){f(this,b)?(d(this),a.apply(this,[b,e(c),g,h])):a.apply(this,[b,c,g,h])}}(HTMLInputElement.prototype.addEventListener)),HTMLInputElement.prototype.attachEvent&&(HTMLInputElement.prototype.attachEvent=function(a){return function(b,c){f(this,b)?(d(this),a.apply(this,[b,e(c)])):a.apply(this,[b,c])}}(HTMLInputElement.prototype.attachEvent)),window.FormData=FormData=function(){return{append:function(a,b,c){this.data.push({key:a,val:b,name:c})},data:[],__isShim:!0}},function(){if(!window.FileAPI||!FileAPI.upload){var a,b,c,d="",e=document.createElement("script"),f=document.getElementsByTagName("script");if(window.FileAPI&&window.FileAPI.jsPath)d=window.FileAPI.jsPath;else for(a=0;a<f.length;a++)if(c=f[a].src,b=c.indexOf("angular-file-upload-shim.js"),-1==b&&(b=c.indexOf("angular-file-upload-shim.min.js")),b>-1){d=c.substring(0,b);break}window.FileAPI&&null!=FileAPI.staticPath||(FileAPI={staticPath:d}),e.setAttribute("src",d+"FileAPI.min.js"),document.getElementsByTagName("head")[0].appendChild(e)}}()}}();
|
156
themes/hellug-keycloak/common/resources/lib/fileupload/angular-file-upload.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,156 @@
|
|||
/**!
|
||||
* AngularJS file upload/drop directive with http post and progress
|
||||
* @author Danial <danial.farid@gmail.com>
|
||||
* @version 1.1.10
|
||||
*/
|
||||
(function() {
|
||||
|
||||
var angularFileUpload = angular.module('angularFileUpload', []);
|
||||
|
||||
angularFileUpload.service('$upload', ['$http', '$rootScope', '$timeout', function($http, $rootScope, $timeout) {
|
||||
this.upload = function(config) {
|
||||
config.method = config.method || 'POST';
|
||||
config.headers = config.headers || {};
|
||||
config.headers['Content-Type'] = undefined;
|
||||
config.transformRequest = config.transformRequest || $http.defaults.transformRequest;
|
||||
var formData = new FormData();
|
||||
if (config.data) {
|
||||
for (var key in config.data) {
|
||||
var val = config.data[key];
|
||||
if (!config.formDataAppender) {
|
||||
if (typeof config.transformRequest == 'function') {
|
||||
val = config.transformRequest(val);
|
||||
} else {
|
||||
for (var i = 0; i < config.transformRequest.length; i++) {
|
||||
var fn = config.transformRequest[i];
|
||||
if (typeof fn == 'function') {
|
||||
val = fn(val);
|
||||
}
|
||||
}
|
||||
}
|
||||
formData.append(key, val);
|
||||
} else {
|
||||
config.formDataAppender(formData, key, val);
|
||||
}
|
||||
}
|
||||
}
|
||||
config.transformRequest = angular.identity;
|
||||
formData.append(config.fileFormDataName || 'file', config.file, config.file.name);
|
||||
|
||||
formData['__setXHR_'] = function(xhr) {
|
||||
config.__XHR = xhr;
|
||||
xhr.upload.addEventListener('progress', function(e) {
|
||||
if (config.progress) {
|
||||
$timeout(function() {
|
||||
config.progress(e);
|
||||
});
|
||||
}
|
||||
}, false);
|
||||
//fix for firefox not firing upload progress end
|
||||
xhr.upload.addEventListener('load', function(e) {
|
||||
if (e.lengthComputable) {
|
||||
$timeout(function() {
|
||||
config.progress(e);
|
||||
});
|
||||
}
|
||||
}, false);
|
||||
};
|
||||
|
||||
config.data = formData;
|
||||
|
||||
var promise = $http(config);
|
||||
|
||||
promise.progress = function(fn) {
|
||||
config.progress = fn;
|
||||
return promise;
|
||||
};
|
||||
|
||||
promise.abort = function() {
|
||||
if (config.__XHR) {
|
||||
$timeout(function() {
|
||||
config.__XHR.abort();
|
||||
});
|
||||
}
|
||||
return promise;
|
||||
};
|
||||
promise.then = (function(promise, origThen) {
|
||||
return function(s, e, p) {
|
||||
config.progress = p || config.progress;
|
||||
origThen.apply(promise, [s, e, p]);
|
||||
return promise;
|
||||
};
|
||||
})(promise, promise.then);
|
||||
|
||||
return promise;
|
||||
};
|
||||
}]);
|
||||
|
||||
angularFileUpload.directive('ngFileSelect', [ '$parse', '$http', '$timeout', function($parse, $http, $timeout) {
|
||||
return function(scope, elem, attr) {
|
||||
var fn = $parse(attr['ngFileSelect']);
|
||||
elem.bind('change', function(evt) {
|
||||
var files = [], fileList, i;
|
||||
fileList = evt.target.files;
|
||||
if (fileList != null) {
|
||||
for (i = 0; i < fileList.length; i++) {
|
||||
files.push(fileList.item(i));
|
||||
}
|
||||
}
|
||||
$timeout(function() {
|
||||
fn(scope, {
|
||||
$files : files,
|
||||
$event : evt
|
||||
});
|
||||
});
|
||||
});
|
||||
elem.bind('click', function(){
|
||||
this.value = null;
|
||||
});
|
||||
};
|
||||
} ]);
|
||||
|
||||
angularFileUpload.directive('ngFileDropAvailable', [ '$parse', '$http', '$timeout', function($parse, $http, $timeout) {
|
||||
return function(scope, elem, attr) {
|
||||
if ('draggable' in document.createElement('span')) {
|
||||
var fn = $parse(attr['ngFileDropAvailable']);
|
||||
$timeout(function() {
|
||||
fn(scope);
|
||||
});
|
||||
}
|
||||
};
|
||||
} ]);
|
||||
|
||||
angularFileUpload.directive('ngFileDrop', [ '$parse', '$http', '$timeout', function($parse, $http, $timeout) {
|
||||
return function(scope, elem, attr) {
|
||||
if ('draggable' in document.createElement('span')) {
|
||||
var fn = $parse(attr['ngFileDrop']);
|
||||
elem[0].addEventListener("dragover", function(evt) {
|
||||
evt.stopPropagation();
|
||||
evt.preventDefault();
|
||||
elem.addClass(attr['ngFileDragOverClass'] || "dragover");
|
||||
}, false);
|
||||
elem[0].addEventListener("dragleave", function(evt) {
|
||||
elem.removeClass(attr['ngFileDragOverClass'] || "dragover");
|
||||
}, false);
|
||||
elem[0].addEventListener("drop", function(evt) {
|
||||
evt.stopPropagation();
|
||||
evt.preventDefault();
|
||||
elem.removeClass(attr['ngFileDragOverClass'] || "dragover");
|
||||
var files = [], fileList = evt.dataTransfer.files, i;
|
||||
if (fileList != null) {
|
||||
for (i = 0; i < fileList.length; i++) {
|
||||
files.push(fileList.item(i));
|
||||
}
|
||||
}
|
||||
$timeout(function() {
|
||||
fn(scope, {
|
||||
$files : files,
|
||||
$event : evt
|
||||
});
|
||||
});
|
||||
}, false);
|
||||
}
|
||||
};
|
||||
} ]);
|
||||
|
||||
})();
|
2
themes/hellug-keycloak/common/resources/lib/fileupload/angular-file-upload.min.js
εξωτερικό
Κανονικό αρχείο
|
@ -0,0 +1,2 @@
|
|||
/*! 1.1.10 */
|
||||
!function(){var a=angular.module("angularFileUpload",[]);a.service("$upload",["$http","$rootScope","$timeout",function(a,b,c){this.upload=function(b){b.method=b.method||"POST",b.headers=b.headers||{},b.headers["Content-Type"]=void 0,b.transformRequest=b.transformRequest||a.defaults.transformRequest;var d=new FormData;if(b.data)for(var e in b.data){var f=b.data[e];if(b.formDataAppender)b.formDataAppender(d,e,f);else{if("function"==typeof b.transformRequest)f=b.transformRequest(f);else for(var g=0;g<b.transformRequest.length;g++){var h=b.transformRequest[g];"function"==typeof h&&(f=h(f))}d.append(e,f)}}b.transformRequest=angular.identity,d.append(b.fileFormDataName||"file",b.file,b.file.name),d.__setXHR_=function(a){b.__XHR=a,a.upload.addEventListener("progress",function(a){b.progress&&c(function(){b.progress(a)})},!1),a.upload.addEventListener("load",function(a){a.lengthComputable&&c(function(){b.progress(a)})},!1)},b.data=d;var i=a(b);return i.progress=function(a){return b.progress=a,i},i.abort=function(){return b.__XHR&&c(function(){b.__XHR.abort()}),i},i.then=function(a,c){return function(d,e,f){return b.progress=f||b.progress,c.apply(a,[d,e,f]),a}}(i,i.then),i}}]),a.directive("ngFileSelect",["$parse","$http","$timeout",function(a,b,c){return function(b,d,e){var f=a(e.ngFileSelect);d.bind("change",function(a){var d,e,g=[];if(d=a.target.files,null!=d)for(e=0;e<d.length;e++)g.push(d.item(e));c(function(){f(b,{$files:g,$event:a})})}),d.bind("click",function(){this.value=null})}}]),a.directive("ngFileDropAvailable",["$parse","$http","$timeout",function(a,b,c){return function(b,d,e){if("draggable"in document.createElement("span")){var f=a(e.ngFileDropAvailable);c(function(){f(b)})}}}]),a.directive("ngFileDrop",["$parse","$http","$timeout",function(a,b,c){return function(b,d,e){if("draggable"in document.createElement("span")){var f=a(e.ngFileDrop);d[0].addEventListener("dragover",function(a){a.stopPropagation(),a.preventDefault(),d.addClass(e.ngFileDragOverClass||"dragover")},!1),d[0].addEventListener("dragleave",function(){d.removeClass(e.ngFileDragOverClass||"dragover")},!1),d[0].addEventListener("drop",function(a){a.stopPropagation(),a.preventDefault(),d.removeClass(e.ngFileDragOverClass||"dragover");var g,h=[],i=a.dataTransfer.files;if(null!=i)for(g=0;g<i.length;g++)h.push(i.item(g));c(function(){f(b,{$files:h,$event:a})})},!1)}}}])}();
|
21
themes/hellug-keycloak/common/resources/lib/pficon/pficon.css
Κανονικό αρχείο
|
@ -0,0 +1,21 @@
|
|||
/*!
|
||||
* This folder contains updated PatternFly4 icons (version 2020.13).
|
||||
* After the PF4 transition is finished this folder will be deleted.
|
||||
*/
|
||||
|
||||
@font-face {
|
||||
font-family: "pficon-tmp";
|
||||
src: url("./pficon.woff2") format("woff2"), url("./pficon.woff") format("woff"); }
|
||||
|
||||
.pf-icon-openshift:before {
|
||||
font-family: "pficon-tmp";
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
text-transform: none; }
|
||||
|
||||
.pf-icon-openshift:before {
|
||||
content: ""; }
|
BIN
themes/hellug-keycloak/common/resources/lib/pficon/pficon.woff
Κανονικό αρχείο
BIN
themes/hellug-keycloak/common/resources/lib/pficon/pficon.woff2
Κανονικό αρχείο
1560
themes/hellug-keycloak/common/resources/package-lock.json
δημιουργημένο
Κανονικό αρχείο
29
themes/hellug-keycloak/common/resources/package.json
Κανονικό αρχείο
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "keycloak-npm-dependencies",
|
||||
"version": "1.0.0",
|
||||
"description": "Keycloak NPM Dependencies",
|
||||
"license": "Apache-2.0",
|
||||
"repository": "https://github.com/keycloak/keycloak",
|
||||
"dependencies": {
|
||||
"angular": "1.8.3",
|
||||
"angular-cookies": "1.8.3",
|
||||
"angular-loader": "1.8.3",
|
||||
"angular-resource": "1.8.3",
|
||||
"angular-route": "1.8.3",
|
||||
"angular-sanitize": "1.8.3",
|
||||
"angular-translate": "2.19.0",
|
||||
"angular-translate-loader-url": "2.19.0",
|
||||
"angular-treeview": "0.1.5",
|
||||
"angular-ui-select2": "0.0.5",
|
||||
"autofill-event": "0.0.1",
|
||||
"bootstrap": "3.4.1",
|
||||
"filesaver": "0.0.13",
|
||||
"font-awesome": "4.7.0",
|
||||
"jquery": "3.6.1",
|
||||
"ng-file-upload": "12.2.13",
|
||||
"patternfly": "3.59.5",
|
||||
"rcue": "3.48.1",
|
||||
"select2": "3.5.1",
|
||||
"text-security": "3.2.1"
|
||||
}
|
||||
}
|
53
themes/hellug-keycloak/email/messages/messages_el.properties
Κανονικό αρχείο
|
@ -0,0 +1,53 @@
|
|||
# encoding: UTF-8
|
||||
requiredAction.terms_and_conditions=Όροι και Συνθήκες
|
||||
requiredAction.CONFIGURE_RECOVERY_AUTHN_CODES=Δημιουργία Κωδικών Ανάκτησης
|
||||
requiredAction.VERIFY_EMAIL=Επιβεβαίωση Email
|
||||
requiredAction.UPDATE_PROFILE=Ενημέρωση Προφίλ
|
||||
requiredAction.UPDATE_PASSWORD=Ενημέρωση Κωδικού Πρόσβασης
|
||||
requiredAction.CONFIGURE_TOTP=Ρύθμιση OTP
|
||||
executeActionsBodyHtml=<p>Ο διαχειριστής σας ζητάει να ενημερώστε το λογαριασμός σας στο {2} με το να κάνετε την/τις ακόλουθες ενέργεια/ες:{3}. Πατήστε το σύνδεσμο παρακάτω για να ξεκινήσετε τη διαδικασία.</p><p><a href="{0}">Σύνδεσμος για ενημέρωση λογαριασμού</a></p><p>Αυτός ο σύνδεσμος θα λήξει σε {4}.</p><p>Αν δεν έχετε ενημερωθεί ότι ο διαχειριστής ζήτησε αυτήν την ενημέρωση, τότε απλώς αγνοήστε αυτό το μήνυμα και δεν θα αλλάξει τίποτα.</p>
|
||||
executeActionsBody=Ο διαχειριστής σας ζητάει να ενημερώστε το λογαριασμός σας στο {2} με το να κάνετε την/τις ακόλουθες ενέργεια/ες:{3}. Πατήστε το σύνδεσμο παρακάτω για να ξεκινήσετε τη διαδικασία.\n\n{0}\n\nΑυτός ο σύνδεσμος θα λήξει σε {4}.\n\nΑν δεν έχετε ενημερωθεί ότι ο διαχειριστής ζήτησε αυτήν την ενημέρωση, τότε απλώς αγνοήστε αυτό το μήνυμα και δεν θα αλλάξει τίποτα.
|
||||
passwordResetBodyHtml=<p>Κάποιος ζήτησε να αλλάξει τα διαπιστευτήρια του λογαριασμού σας στο {2}. Αν είσαστε εσείς, πατήστε το σύνδεσμο παρακάτω για να τα αλλάξετε.</p><p><a href="{0}">Σύνδεσμος για να αλλάξετε τα διαπιστευτήρια</a></p><p>Αυτός ο σύνδεσμος και κωδικός θα λήξει σε {3}.</p><p>Αν δεν θέλετε να αλλάξετε τα διαπιστευτήρια σας, τότε αγνοήστε αυτό το μήνυμα και δε θα αλλάξει τίποτα.</p>
|
||||
passwordResetBody=Κάποιος ζήτησε να αλλάξει τα διαπιστευτήρια του λογαριασμού σας στο {2}. Αν είσαστε εσείς, πατήστε το σύνδεσμο παρακάτω για να τα αλλάξετε.\n\n{0}\n\nΑυτός ο σύνδεσμος και κωδικός θα λήξει σε {3}.\n\nΑν δεν θέλετε να αλλάξετε τα διαπιστευτήρια σας, τότε αγνοήστε αυτό το μήνυμα και δε θα αλλάξει τίποτα.
|
||||
identityProviderLinkBodyHtml=<p>Κάποιος θέλει να συνδέσει το λογαριασμό σας στο <b>{1}</b> με ένα λογαριασμό του χρήστη {2} στο <b>{0}</b>. Αν είσαστε εσείς, πατήστε το σύνδεσμο παρακάτω για να συνδεθούν οι λογαριασμοί </p><p><a href="{3}">Σύνδεσμος για σύνδεση λογαριασμών</a></p><p>Αυτός ο σύνδεσμος θα λήξει σε {5}.</p><p>Αν δεν θέλετε να συνδέσετε το λογαριασμό, τότε αγνοήστε αυτό το μήνυμα. Αν συνδεθούν οι λογαριασμοί τότε θα μπορεί να γίνει είσοδος στο {1} μέσω του {0}.</p>
|
||||
identityProviderLinkBody=Κάποιος θέλει να συνδέσει το λογαριασμό σας στο "{1}" με ένα λογαριασμό του χρήστη {2} στο "{0}". Αν είσαστε εσείς, πατήστε το σύνδεσμο παρακάτω για να συνδεθούν οι λογαριασμοί\n\n{3}\n\nΑυτός ο σύνδεσμος θα λήξει σε {5}.\n\nΑν δεν θέλετε να συνδέσετε το λογαριασμό, τότε αγνοήστε αυτό το μήνυμα. Αν συνδεθούν οι λογαριασμοί τότε θα μπορεί να γίνει είσοδος στο {1} μέσω του {0}.
|
||||
emailUpdateConfirmationBodyHtml=<p>Για να ενημερώσετε το λογαριασμό σας {2} με διεύθυνση email {1}, πατήστε το σύνδεσμο παρακάτω </p><p><a href="{0}">{0}</a></p><p>Ο σύνδεσμος θα λήξει σε {3}.</p><p>Αν δεν θέλετε να προχωρήσετε με αυτή την αλλαγή, τότε αγνοήστε αυτό το μήνυμα.</p>
|
||||
emailUpdateConfirmationBody=Για να ενημερώσετε το λογαριασμό σας {2} με διεύθυνση email {1}, πατήστε το σύνδεσμο παρακάτω\n\n{0}\n\nΟ σύνδεσμος θα λήξει σε {3}.\n\nΑν δεν θέλετε να προχωρήσετε με αυτή την αλλαγή, τότε αγνοήστε αυτό το μήνυμα.
|
||||
emailVerificationBodyCode=Παρακαλώ επιβεβαιώστε τη διεύθυνση email σας, εισάγοντας το παρακάτω κωδικό.\n\n{0}\n\n.
|
||||
emailVerificationBodyCodeHtml=<p>Παρακαλώ επιβεβαιώστε τη διεύθυνση email σας, εισάγοντας το παρακάτω κωδικό.</p><p><b>{0}</b></p>
|
||||
linkExpirationFormatter.timePeriodUnit.days.1=μέρα
|
||||
linkExpirationFormatter.timePeriodUnit.days=μέρες
|
||||
linkExpirationFormatter.timePeriodUnit.hours.1=ώρα
|
||||
#for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this:
|
||||
#linkExpirationFormatter.timePeriodUnit.minutes.2=minuty
|
||||
#linkExpirationFormatter.timePeriodUnit.minutes.3=minuty
|
||||
#linkExpirationFormatter.timePeriodUnit.minutes.4=minuty
|
||||
linkExpirationFormatter.timePeriodUnit.hours=ώρες
|
||||
linkExpirationFormatter.timePeriodUnit.minutes.1=λεπτό
|
||||
linkExpirationFormatter.timePeriodUnit.minutes=λεπτά
|
||||
linkExpirationFormatter.timePeriodUnit.seconds.1=δευτερόλεπτο
|
||||
|
||||
# units for link expiration timeout formatting
|
||||
linkExpirationFormatter.timePeriodUnit.seconds=δευτερόλεπτα
|
||||
eventUpdateTotpBodyHtml=<p>Η πρόσβαση μέσω OTP ενημερώθηκε στο λογαριασμό σας στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.</p>
|
||||
eventUpdateTotpBody=Η πρόσβαση μέσω OTP ενημερώθηκε στο λογαριασμό σας στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.
|
||||
eventUpdateTotpSubject=Ενημέρωση OTP
|
||||
eventUpdatePasswordBodyHtml=<p>Ο κωδικός πρόσβασης σας άλλαξε στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.</p>
|
||||
eventUpdatePasswordBody=Ο κωδικός πρόσβασης σας άλλαξε στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.
|
||||
eventUpdatePasswordSubject=Ενημέρωση κωδικού πρόσβασης
|
||||
eventRemoveTotpBodyHtml=<p>Η πρόσβαση μέσω OTP αφαιρέθηκε από το λογαριασμό σας στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.</p>
|
||||
eventRemoveTotpBody=Η πρόσβαση μέσω OTP αφαιρέθηκε από το λογαριασμό σας στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.
|
||||
eventRemoveTotpSubject=Αφαίρεση OTP
|
||||
eventLoginErrorBodyHtml=<p>Ανιχνεύθηκε μία αποτυχημένη προσπάθεια εισόδου στο λογαριασμό σας στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.</p>
|
||||
eventLoginErrorBody=Ανιχνεύθηκε μία αποτυχημένη προσπάθεια εισόδου στο λογαριασμό σας στις {0} από το {1}. Αν δεν είσαστε εσείς, τότε παρακαλώ επικοινωνήστε με ένα διαχειριστή.
|
||||
eventLoginErrorSubject=Σφάλμα εισόδου
|
||||
executeActionsSubject=Ενημέρωση Του Λογαριασμού Σας
|
||||
passwordResetSubject=Αλλαγή κωδικού πρόσβασης
|
||||
identityProviderLinkSubject=Σύνδεση {0}
|
||||
emailTestBodyHtml=<p>Αυτό είναι ένα δοκιμαστικό μήνυμα</p>
|
||||
emailTestBody=Αυτό είναι ένα δοκιμαστικό μήνυμα
|
||||
emailTestSubject=[KEYCLOAK] - Δοκιμαστικό μήνυμα SMTP
|
||||
emailUpdateConfirmationSubject=Επιβεβαίωση νέου email
|
||||
emailVerificationBodyHtml=<p>Κάποιος δημιούργησε ένα λογαριασμό {2} με αυτή τη διεύθυνση email. Αν είσαστε εσείς, τότε πατήστε το σύνδεσμο παρακάτω για να επιβεβαιώσετε το email σας</p><p><a href="{0}">Σύνδεσμος για επιβεβαίωση διεύθυνσης email</a></p><p>Αυτός ο σύνδεσμος θα λήξει σε {3}.</p><p>Αν δεν δημιουργήσατε το λογαριασμό τότε απλώς αγνοήστε αυτό το μήνυμα.</p>
|
||||
emailVerificationBody=Κάποιος δημιούργησε ένα {2} λογαριασμό με αυτή τη διεύθυνση email. Αν είσασταν εσείς, τότε πατήστε το παρακάτω σύνδεσμο για να επιβεβαιώσετε τη διεύθυνση email σας\n\n{0}\n\nΑυτός ο σύνδεσμος θα λήξει μέσα σε {3}.\n\nΑν δεν δημιουργήσατε εσείς αυτό το λογαριασμό, τότε απλώς αγνοήστε αυτό το μήνυμα.
|
||||
emailVerificationSubject=Επιβεβαίωση email
|
57
themes/hellug-keycloak/email/messages/messages_en.properties
Εκτελέσιμο αρχείο → Κανονικό αρχείο
|
@ -1,55 +1,2 @@
|
|||
emailVerificationSubject=Verify email
|
||||
emailVerificationBody=Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address\n\n{0}\n\nThis link will expire within {3}.\n\nIf you didn''t create this account, just ignore this message.
|
||||
emailVerificationBodyHtml=<p>Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address</p><p><a href="{0}">Link to e-mail address verification</a></p><p>This link will expire within {3}.</p><p>If you didn''t create this account, just ignore this message.</p>
|
||||
emailUpdateConfirmationSubject=Verify new email
|
||||
emailUpdateConfirmationBody=To update your {2} account with email address {1}, click the link below\n\n{0}\n\nThis link will expire within {3}.\n\nIf you don''t want to proceed with this modification, just ignore this message.
|
||||
emailUpdateConfirmationBodyHtml=<p>To update your {2} account with email address {1}, click the link below</p><p><a href="{0}">{0}</a></p><p>This link will expire within {3}.</p><p>If you don''t want to proceed with this modification, just ignore this message.</p>
|
||||
emailTestSubject=[KEYCLOAK] - SMTP test message
|
||||
emailTestBody=This is a test message
|
||||
emailTestBodyHtml=<p>This is a test message</p>
|
||||
identityProviderLinkSubject=Link {0}
|
||||
identityProviderLinkBody=Someone wants to link your "{1}" account with "{0}" account of user {2} . If this was you, click the link below to link accounts\n\n{3}\n\nThis link will expire within {5}.\n\nIf you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.
|
||||
identityProviderLinkBodyHtml=<p>Someone wants to link your <b>{1}</b> account with <b>{0}</b> account of user {2}. If this was you, click the link below to link accounts</p><p><a href="{3}">Link to confirm account linking</a></p><p>This link will expire within {5}.</p><p>If you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.</p>
|
||||
passwordResetSubject=Reset password
|
||||
passwordResetBody=Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.\n\n{0}\n\nThis link and code will expire within {3}.\n\nIf you don''t want to reset your credentials, just ignore this message and nothing will be changed.
|
||||
passwordResetBodyHtml=<p>Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.</p><p><a href="{0}">Link to reset credentials</a></p><p>This link will expire within {3}.</p><p>If you don''t want to reset your credentials, just ignore this message and nothing will be changed.</p>
|
||||
executeActionsSubject=Update Your Account
|
||||
executeActionsBody=Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.
|
||||
executeActionsBodyHtml=<p>Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.</p><p><a href="{0}">Link to account update</a></p><p>This link will expire within {4}.</p><p>If you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.</p>
|
||||
eventLoginErrorSubject=Login error
|
||||
eventLoginErrorBody=A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.
|
||||
eventLoginErrorBodyHtml=<p>A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.</p>
|
||||
eventRemoveTotpSubject=Remove OTP
|
||||
eventRemoveTotpBody=OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.
|
||||
eventRemoveTotpBodyHtml=<p>OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.</p>
|
||||
eventUpdatePasswordSubject=Update password
|
||||
eventUpdatePasswordBody=Your password was changed on {0} from {1}. If this was not you, please contact an administrator.
|
||||
eventUpdatePasswordBodyHtml=<p>Your password was changed on {0} from {1}. If this was not you, please contact an administrator.</p>
|
||||
eventUpdateTotpSubject=Update OTP
|
||||
eventUpdateTotpBody=OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.
|
||||
eventUpdateTotpBodyHtml=<p>OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.</p>
|
||||
|
||||
requiredAction.CONFIGURE_TOTP=Configure OTP
|
||||
requiredAction.terms_and_conditions=Terms and Conditions
|
||||
requiredAction.UPDATE_PASSWORD=Update Password
|
||||
requiredAction.UPDATE_PROFILE=Update Profile
|
||||
requiredAction.VERIFY_EMAIL=Verify Email
|
||||
requiredAction.CONFIGURE_RECOVERY_AUTHN_CODES=Generate Recovery Codes
|
||||
|
||||
# units for link expiration timeout formatting
|
||||
linkExpirationFormatter.timePeriodUnit.seconds=seconds
|
||||
linkExpirationFormatter.timePeriodUnit.seconds.1=second
|
||||
linkExpirationFormatter.timePeriodUnit.minutes=minutes
|
||||
linkExpirationFormatter.timePeriodUnit.minutes.1=minute
|
||||
#for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this:
|
||||
#linkExpirationFormatter.timePeriodUnit.minutes.2=minuty
|
||||
#linkExpirationFormatter.timePeriodUnit.minutes.3=minuty
|
||||
#linkExpirationFormatter.timePeriodUnit.minutes.4=minuty
|
||||
linkExpirationFormatter.timePeriodUnit.hours=hours
|
||||
linkExpirationFormatter.timePeriodUnit.hours.1=hour
|
||||
linkExpirationFormatter.timePeriodUnit.days=days
|
||||
linkExpirationFormatter.timePeriodUnit.days.1=day
|
||||
|
||||
emailVerificationBodyCode=Please verify your email address by entering in the following code.\n\n{0}\n\n.
|
||||
emailVerificationBodyCodeHtml=<p>Please verify your email address by entering in the following code.</p><p><b>{0}</b></p>
|
||||
|
||||
# encoding: UTF-8
|
||||
locale_el=Ελληνικά
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
parent=base
|
||||
locales=en,el
|
||||
|
|
468
themes/hellug-keycloak/login/messages/messages_el.properties
Κανονικό αρχείο
|
@ -0,0 +1,468 @@
|
|||
# encoding: UTF-8
|
||||
doLogIn=Είσοδος
|
||||
doRegister=Εγγραφή
|
||||
doCancel=Ακύρωση
|
||||
doSubmit=Εφαρμογή
|
||||
doBack=Επιστροφή
|
||||
doYes=Ναι
|
||||
doNo=Όχι
|
||||
doContinue=Συνέχεια
|
||||
doIgnore=Αγνόηση
|
||||
doAccept=Αποδοχή
|
||||
doDecline=Απόρριψη
|
||||
doForgotPassword=Ξεχάσατε το κωδικό;
|
||||
doClickHere=Πατήστε Εδώ
|
||||
doImpersonate=Προσποίηση
|
||||
doTryAgain=Δοκιμή Ξανά
|
||||
doTryAnotherWay=Δοκιμή με άλλη μέθοδο
|
||||
doConfirmDelete=Επιβεβαίωση διαγραφής
|
||||
errorDeletingAccount=Σφάλμα κατά τη διαγραφή του λογαριασμού
|
||||
deletingAccountForbidden=Δεν έχετε το δικαίωμα να διαγράψετε τον λογαριασμό σας, επικοινωνήστε με τον διαχειριστή.
|
||||
kerberosNotConfigured=Το Kerberos Δεν Έχει Ρυθμιστεί
|
||||
kerberosNotConfiguredTitle=Το Kerberos Δεν Έχει Ρυθμιστεί
|
||||
bypassKerberosDetail=Είτε δεν έχετε συνδεθεί μέσω Kerberos ή ο περιηγητής σας δεν έχει ρυθμιστεί για είσοδο με Kerberos. Πατήστε για να συνεχίσετε την είσοδο με άλλες μεθόδους
|
||||
kerberosNotSetUp=Το Kerberos δεν έχει ρυθμιστεί. Δεν μπορείτε να εισέλθετε.
|
||||
registerTitle=Εγγραφή
|
||||
loginAccountTitle=Είσοδος στο λογαριασμό σας
|
||||
loginTitle=Είσοδος στο {0}
|
||||
loginTitleHtml={0}
|
||||
impersonateTitle={0} Προσποίηση Χρήστη
|
||||
impersonateTitleHtml=<strong>{0}</strong> Προσποίηση Χρήστη
|
||||
realmChoice=Περιοχή
|
||||
unknownUser=Άγνωστος χρήστης
|
||||
loginTotpTitle=Ρύθμιση Authenticator Κινητού
|
||||
loginProfileTitle=Ενημέρωση Πληροφοριών Λογαριασμού
|
||||
loginIdpReviewProfileTitle=Ενημέρωση Πληροφοριών Λογαριασμού
|
||||
loginTimeout=Η προσπάθεια εισόδου σας έληξε. Είσοδος από την αρχή.
|
||||
reauthenticate=Για να συνεχίσετε παρακαλώ για αυθεντικοποίηση ξανά
|
||||
oauthGrantTitle=Δώστε Πρόσβαση στο {0}
|
||||
oauthGrantTitleHtml={0}
|
||||
oauthGrantInformation=Βεβαιωθείτε ότι εμπιστεύεστε το {0} μαθαίνοντας πως το {0} θα χειρίζεται τα δεδομένα σας.
|
||||
oauthGrantReview=Μπορείτε να ελέγξετε τα
|
||||
oauthGrantTos=όροι της υπηρεσίας.
|
||||
oauthGrantPolicy=πολιτική ιδιωτικότητας.
|
||||
errorTitle=Ζητάμε συγνώμη...
|
||||
errorTitleHtml=Ζητάμε <strong>συγνώμη</strong> ...
|
||||
emailVerifyTitle=Πιστοποίηση Email
|
||||
emailForgotTitle=Ξεχάσατε το Κωδικό;
|
||||
updateEmailTitle=Ενημέρωση email
|
||||
emailUpdateConfirmationSentTitle=Στάλθηκε email επιβεβαίωσης
|
||||
emailUpdateConfirmationSent=Ένα email επιβεβαίωσης στάλθηκε στο {0}. Ακολουθήστε τις οδηγίες εκεί, ώστε να ολοκληρώσετε την ενημέρωση του email.
|
||||
emailUpdatedTitle=Ενημέρωση email
|
||||
emailUpdated=Το email του λογαριασμού άλλαξε επιτυχώς σε {0}.
|
||||
updatePasswordTitle=Ενημέρωση κωδικού
|
||||
codeSuccessTitle=Επιτυχής κωδικός
|
||||
codeErrorTitle=Αριθμός σφάλματος\: {0}
|
||||
displayUnsupported=Μη υποστηριζόμενος τύπος οθόνης
|
||||
browserRequired=Απαιτείται browser για την είσοδο
|
||||
browserContinue=Απαιτείται browser για την ολοκλήρωση της εισόδου
|
||||
browserContinuePrompt=Εκκίνηση browser και συνέχεια στην είσοδο [ν/ο]:
|
||||
browserContinueAnswer=ν
|
||||
|
||||
# Transports
|
||||
usb=USB
|
||||
nfc=NFC
|
||||
bluetooth=Bluetooth
|
||||
internal=Εσωτερικό
|
||||
unknown=Άγνωστο
|
||||
termsTitle=Όροι και Συνθήκες
|
||||
termsText=<p>Δεν έχουν οριστεί Όροι και Συνθήκες</p>
|
||||
termsPlainText=Δεν έχουν οριστεί Όροι και Συνθήκες.
|
||||
recaptchaFailed=Άκυρο Recaptcha
|
||||
recaptchaNotConfigured=Απαιτείται Recaptcha, αλλά δεν έχει ρυθμιστεί
|
||||
consentDenied=Άρνηση Συναίνεσης.
|
||||
noAccount=Νέος χρήστης;
|
||||
username=Όνομα χρήστη
|
||||
usernameOrEmail=Όνομα χρήστη ή email
|
||||
firstName=Όνομα
|
||||
givenName=Όνομα
|
||||
fullName=Ονοματεπώνυμο
|
||||
lastName=Επώνυμο
|
||||
familyName=Επώνυμο
|
||||
email=Email
|
||||
password=Κωδικός Πρόσβασης
|
||||
passwordConfirm=Επιβεβαίωση κωδικού
|
||||
passwordNew=Νέος Κωδικός Πρόσβασης
|
||||
passwordNewConfirm=Επιβεβαίωση Νέου Κωδικού
|
||||
rememberMe=Να με θυμάσαι
|
||||
authenticatorCode=Κωδικός μίας-χρήσης
|
||||
address=Διεύθυνση
|
||||
street=Οδός
|
||||
locality=Πόλη ή Δήμος
|
||||
region=Νομός ή Περιφέρεια
|
||||
postal_code=Ταχυδρομικός Κώδικας
|
||||
country=Χώρα
|
||||
emailVerified=Επιβεβαιωμένο Email
|
||||
website=Ιστοσελίδα
|
||||
phoneNumber=Τηλέφωνο
|
||||
phoneNumberVerified=Επιβεβαιωμένο τηλέφωνο
|
||||
gender=Φύλο
|
||||
birthday=Ημερομηνία γέννησης
|
||||
zoneinfo=Ζώνη ώρας
|
||||
gssDelegationCredential=GSS διαπιστευτήρια εξουσιοδότησης
|
||||
logoutOtherSessions=Έξοδος από άλλες συσκευές
|
||||
profileScopeConsentText=Προφίλ χρήστη
|
||||
emailScopeConsentText=Διεύθυνση email
|
||||
addressScopeConsentText=Διεύθυνση
|
||||
phoneScopeConsentText=Τηλέφωνο
|
||||
offlineAccessScopeConsentText=Πρόσβαση εκτός-σύνδεσης
|
||||
samlRoleListScopeConsentText=Οι Ρόλοι Μου
|
||||
rolesScopeConsentText=Ρόλοι χρήστη
|
||||
restartLoginTooltip=Επανεκκίνηση Εισόδου
|
||||
loginTotpIntro=Πρέπει να ορίσετε μια γεννήτρια Κωδικών Μίας Χρήσης για να έχετε πρόσβαση στο λογαριασμό
|
||||
loginTotpStep1=Εγκαταστήστε μία από τις ακόλουθες εφαρμογές στο κινητό σας:
|
||||
loginTotpStep2=Ανοίξτε την εφαρμογή και σαρώστε το Κώδικα QR:
|
||||
loginTotpStep3=Εισάγετε το κωδικό μίας-χρήσης όπως παρέχεται από την εφαρμογή και πατήστε το Υποβολή για να ολοκληρώσετε.
|
||||
loginTotpStep3DeviceName=Παρέχετε ένα Όνομα Συσκευής για ευκολία διαχείρισης των συσκευών OTP.
|
||||
loginTotpManualStep2=Ανοίξτε την εφαρμογή και εισάγετε το μυστικό κλειδί:
|
||||
loginTotpManualStep3=Χρησιμοποιείστε τις παρακάτω τιμές ρυθμίσεων αν η εφαρμογή το υποστηρίζει:
|
||||
loginTotpUnableToScan=Πρόβλημα στη σάρωση;
|
||||
loginTotpScanBarcode=Σάρωση του QR;
|
||||
loginCredential=Διαπιστευτήρια
|
||||
loginOtpOneTime=Κωδικός μίας-χρήσης
|
||||
loginTotpType=Τύπος
|
||||
loginTotpAlgorithm=Αλγόριθμος
|
||||
loginTotpDigits=Ψηφία
|
||||
loginTotpInterval=Διάστημα
|
||||
loginTotpCounter=Μετρητής
|
||||
loginTotpDeviceName=Όνομα Συσκευής
|
||||
loginTotp.totp=Χρονικός
|
||||
loginTotp.hotp=Σειριακός
|
||||
totpAppFreeOTPName=FreeOTP
|
||||
totpAppGoogleName=Google Authenticator
|
||||
totpAppMicrosoftAuthenticatorName=Microsoft Authenticator
|
||||
loginChooseAuthenticator=Επιλέξτε μέθοδο εισόδου
|
||||
oauthGrantRequest=Παραχωρείτε αυτά τα δικαιώματα πρόσβασης;
|
||||
inResource=σε
|
||||
oauth2DeviceVerificationTitle=Σύνδεση Συσκευής
|
||||
verifyOAuth2DeviceUserCode=Εισάγετε τον κωδικό που παρέχεται από την συσκευή και πατήστε Υποβολή
|
||||
oauth2DeviceInvalidUserCodeMessage=Άκυρος κωδικός, παρακαλώ προσπαθήστε ξανά.
|
||||
oauth2DeviceExpiredUserCodeMessage=Ο κωδικός έχει λήξει. Παρακαλώ πηγαίνετε πίσω στη συσκευή σας και προσπαθήστε να συνδεθείτε ξανά.
|
||||
oauth2DeviceVerificationCompleteHeader=Επιτυχής σύνδεση συσκευής
|
||||
oauth2DeviceVerificationCompleteMessage=Μπορείτε να κλείσετε το παράθυρο του browser και να επιστρέψετε στη συσκευή σας.
|
||||
oauth2DeviceVerificationFailedHeader=Η σύνδεση της συσκευής απέτυχε
|
||||
oauth2DeviceVerificationFailedMessage=Μπορείτε να κλείσετε αυτόν τον περιηγητή και να πάτε πίσω στη συσκευή σας και να πρσπαθήσετε να συνδεθείτε ξανά.
|
||||
oauth2DeviceConsentDeniedMessage=Δεν δώθηκε συγκατάθεση για σύνδεση στη συσκευή.
|
||||
oauth2DeviceAuthorizationGrantDisabledMessage=Ο πελάτης δεν επιτρέπεται να ξεκινήσει το OAuth 2.0 για τη χορήγηση εξουσιοδότησης της συσκευής. Αυτή η ροή είναι απενεργοποιημένη για τον πελάτη.
|
||||
emailVerifyInstruction1=Σας στάλθηκε ένα email με οδηγίες για το πως να επιβεβαιώσετε τη διεύθυνση σας {0}.
|
||||
emailVerifyInstruction2=Δεν έχετε λάβει έναν κωδικό επαλήθευσης στο email σας;
|
||||
emailVerifyInstruction3=να ξανασταλεί το email.
|
||||
emailLinkIdpTitle=Σύνδεση {0}
|
||||
emailLinkIdp1=Στάλθηκε ένα email με οδηγίες για να συνδέσετε το {0} λογαριασμό {1} με το {2} λογαριασμό.
|
||||
emailLinkIdp2=Δεν έχετε λάβει έναν κωδικό επαλήθευσης στο email σας;
|
||||
emailLinkIdp3=να ξανασταλεί το email.
|
||||
emailLinkIdp4=Αν έχετε ήδη επαλυθεύσει το email σε έναν διαφορετικό περιηγητή
|
||||
emailLinkIdp5=για συνέχεια.
|
||||
backToLogin=« Επιστροφή στην Είσοδο
|
||||
emailInstruction=Εισάγετε το όνομα χρήστη ή τη διεύθυνση email και θα σας σταλούν οδηγίες για το πως να δημιουργήσετε ένα νέο κωδικό.
|
||||
emailInstructionUsername=Εισάγετε το όνομα χρήστη και θα σας σταλούν οδηγίες για το πως να δημιουργήσετε ένα νέο κωδικό.
|
||||
copyCodeInstruction=Παρακαλώ αντιγράψτε αυτό το κωδικό στην εφαρμογή σας:
|
||||
pageExpiredTitle=Η σελίδα έληξε
|
||||
pageExpiredMsg1=Για επανεκκίνηση της εισόδου
|
||||
pageExpiredMsg2=Για συνέχεια της εισόδου
|
||||
personalInfo=Προσωπικά Στοιχεία:
|
||||
role_admin=Διαχειριστής
|
||||
role_realm-admin=Διαχειριστή Τόπου
|
||||
role_create-realm=Δημιουργία τομέα
|
||||
role_create-client=Δημιουργία πελάτη
|
||||
role_view-realm=Εμφάνιση τομέα
|
||||
role_view-users=Εμφάνιση χρηστών
|
||||
role_view-applications=Εμφάνιση εφαρμογών
|
||||
role_view-clients=Εμφάνιση πελατών
|
||||
role_view-events=Εμφάνιση συμβάντων
|
||||
role_view-identity-providers=Εμφάνιση παρόχων ταυτότητας
|
||||
role_manage-realm=Διαχείριση τομέα
|
||||
role_manage-users=Διαχείριση χρηστών
|
||||
role_manage-applications=Διαχείριση εφαρμογών
|
||||
role_manage-identity-providers=Διαχείριση παρόχων ταυτότητας
|
||||
role_manage-clients=Διαχείριση πελατών
|
||||
role_manage-events=Διαχείριση συμβάντων
|
||||
role_view-profile=Εμφάνιση προφίλ
|
||||
role_manage-account=Διαχείριση λογαριασμού
|
||||
role_manage-account-links=Διαχείριση συνδέσεων λογαριασμού
|
||||
role_read-token=Ανάγνωση διακριτικού
|
||||
role_offline-access=Πρόσβαση εκτός-σύνδεσης
|
||||
client_account=Λογαριασμός
|
||||
client_account-console=Κονσόλα Λογαριασμού
|
||||
client_security-admin-console=Κονσόλα Διαχειριστή Ασφάλειας
|
||||
client_admin-cli=CLI Διαχείρισης
|
||||
client_realm-management=Διαχείριση Τομέα
|
||||
client_broker=Μεσολαβητής
|
||||
requiredFields=Απαιτούμενα πεδία
|
||||
invalidUserMessage=Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης.
|
||||
invalidUsernameMessage=Μη έγκυρο όνομα χρήστη.
|
||||
invalidUsernameOrEmailMessage=Μη έγκυρο όνομα χρήστη ή email.
|
||||
invalidPasswordMessage=Μη έγκυρος κωδικός πρόσβασης.
|
||||
invalidEmailMessage=Μη έγκυρη διεύθυνση email.
|
||||
accountDisabledMessage=Ο λογαριασμός έχει απενεργοποιηθεί, επικοινωνήστε με το διαχειριστή.
|
||||
accountTemporarilyDisabledMessage=Ο λογαριασμός έχει απενεργοποιηθεί προσωρινά, επικοινωνήστε με το διαχειριστή ή δοκιμάστε αργότερα.
|
||||
expiredCodeMessage=Λήξη χρόνου σύνδεσης. Παρακαλώ συνδεθείτε ξανά.
|
||||
expiredActionMessage=Η ενέργεια έληξε. Προχωρείστε τώρα με σύνδεση.
|
||||
expiredActionTokenNoSessionMessage=Η ενέργεια έληξε.
|
||||
expiredActionTokenSessionExistsMessage=Η ενέργεια έλειξε. Παρακαλώ αρχίστε ξανά.
|
||||
sessionLimitExceeded=Πάρα πολλές συνεδρίες
|
||||
missingFirstNameMessage=Παρακαλώ ορίστε ένα όνομα.
|
||||
missingLastNameMessage=Παρακαλώ ορίστε επώνυμο.
|
||||
missingEmailMessage=Παρακαλώ ορίστε email.
|
||||
missingUsernameMessage=Παρακαλώ ορίστε όνομα χρήστη.
|
||||
missingPasswordMessage=Παρακαλώ ορίστε κωδικό πρόσβασης.
|
||||
missingTotpMessage=Παρακαλώ εισάγετε ένα κωδικό από εφαρμογή ταυτοποίησης.
|
||||
missingTotpDeviceNameMessage=Παρακαλώ ορίστε όνομα συσκευής.
|
||||
notMatchPasswordMessage=Οι κωδικοί πρόσβασης δε ταιριάζουν.
|
||||
error-invalid-value=Μη έγκυρη τιμή.
|
||||
error-invalid-blank=Παρακαλώ ορίστε τιμή.
|
||||
error-empty=Παρακαλώ ορίστε τιμή.
|
||||
error-invalid-length=Το μήκος πρέπει να είναι μεταξύ {1} και {2}.
|
||||
error-invalid-length-too-short=Ελάχιστο μήκος {1}.
|
||||
error-invalid-length-too-long=Μέγιστο μήκος {2}.
|
||||
error-invalid-email=Μη έγκυρη διεύθυνση email.
|
||||
error-invalid-number=Μη έγκυρος αριθμός.
|
||||
error-number-out-of-range=Ο αριθμός πρέπει να είναι μεταξύ {1} και {2}.
|
||||
error-number-out-of-range-too-small=Ο αριθμός πρέπει να έχει ελάχιστη τιμή {1}.
|
||||
error-number-out-of-range-too-big=Ο αριθμός πρέπει να έχει μέγιστη τιμή {1}.
|
||||
error-pattern-no-match=Μη έγκυρη τιμή.
|
||||
error-invalid-uri=Μη έγκυρο URL.
|
||||
error-invalid-uri-scheme=Μη έγκυρο σχήμα URL.
|
||||
error-invalid-uri-fragment=Μη έγκυρο κομμάτι URL.
|
||||
error-user-attribute-required=Παρακαλώ ορίστε αυτό το πεδίο.
|
||||
error-invalid-date=Μη έγκυρη ημερομηνία.
|
||||
error-user-attribute-read-only=Αυτό το πεδίο είναι για ανάγνωση μόνο.
|
||||
error-username-invalid-character=Η τιμή περιέχει μη έγκυρους χαρακτήρες.
|
||||
error-person-name-invalid-character=Η τιμή περιέχει μη έγκυρο χαρακτήρα.
|
||||
invalidPasswordExistingMessage=Μη έγκυρος υπάρχοντας κωδικός πρόσβασης.
|
||||
invalidPasswordBlacklistedMessage=Μη έγκυρος κωδικός πρόσβασης: ο κωδικός πρόσβασης είναι απαγορευμένος.
|
||||
invalidPasswordConfirmMessage=Η επιβεβαίωση του κωδικού πρόσβασης δε ταιριάζει.
|
||||
invalidTotpMessage=Μη έγκυρος κωδικός μίας χρήσης.
|
||||
usernameExistsMessage=Το όνομα χρήστη υπάρχει ήδη.
|
||||
emailExistsMessage=Το email υπάρχει ήδη.
|
||||
federatedIdentityExistsMessage=Ο χρήστης με {0} {1} υπάρχει ήδη. Παρακαλώ συνδεθείτε στη διαχείριση λογαριασμού για να συνδέσετε το λογαριασμό.
|
||||
federatedIdentityUnavailableMessage=Δεν υπάρχει ο χρήστης {0} που συνδέθηκε με το πάροχο ταυτότητας {1} . Επικοινωνήστε με το διαχειριστή.
|
||||
confirmLinkIdpTitle=Ο λογαριασμός υπάρχει ήδη
|
||||
federatedIdentityConfirmLinkMessage=Ο χρήστης {0} {1} υπάρχει ήδη. Σίγουρα να συνεχίσω;
|
||||
federatedIdentityConfirmReauthenticateMessage=Αυθεντικοποίηση για σύνδεση του λογαριασμού σας με το {0}
|
||||
nestedFirstBrokerFlowMessage=Ο {0} χρήστης {1} δεν έχει συνδεθεί με κάποιο γνωστό χρήστη.
|
||||
confirmLinkIdpReviewProfile=Εξέταση προφίλ
|
||||
confirmLinkIdpContinue=Προσθήκη σε υπάρχων λογαριασμό
|
||||
configureTotpMessage=Ρυθμίστε μια Εφαρμογή Ταυτοποίησης στο κινητό σας για να ενεργοποιήσετε το λογαριασμό.
|
||||
configureBackupCodesMessage=Πρέπει να ορίσετε Κωδικούς Ασφαλείας για να ενεργοποιήσετε το λογαριασμό σας.
|
||||
updateProfileMessage=Πρέπει να ενημερώσετε το προφίλ χρήστη σας για να ενεργοποιήσετε το λογαριασμό σας.
|
||||
updatePasswordMessage=Πρέπει να αλλάξετε το κωδικό πρόσβασης για να ενεργοποιήσετε το λογαριασμό σας.
|
||||
updateEmailMessage=Πρέπει να ενημερώσετε το email σας για να ενεργοποιήσετε το λογαριασμός σας.
|
||||
resetPasswordMessage=Πρέπει να αλλάξετε το κωδικό πρόσβασης σας.
|
||||
verifyEmailMessage=Πρέπει να επιβεβαιώσετε το email σας για να ενεργοποιήσετε το λογαριασμό σας.
|
||||
linkIdpMessage=Πρέπει να επιβεβαιώσετε το email σας για να συνδέσετε το λογαριασμό σας με το {0}.
|
||||
emailSentMessage=Θα λάβετε ένα email σύντομα με επιπλέων πληροφορίες.
|
||||
emailSendErrorMessage=Αποτυχία αποστολής email, παρακαλώ δοκιμάστε αργότερα.
|
||||
accountUpdatedMessage=Ο λογαριασμός σας έχει ενημερωθεί.
|
||||
accountPasswordUpdatedMessage=Ο κωδικός πρόσβασης ενημερώθηκε.
|
||||
delegationCompleteHeader=Επιτυχής Είσοδος
|
||||
delegationCompleteMessage=Μπορείτε να κλείστε αυτό το παράθυρο του browser και να επιστρέψετε στην εφαρμογή κονσόλας.
|
||||
delegationFailedHeader=Αποτυχία Εισόδου
|
||||
delegationFailedMessage=Μπορείτε να κλείσετε αυτό το παράθυρο και να επιστρέψετε στην εφαρμογή κονσόλας σας και να δοκιμάσετε να μπείτε ξανά.
|
||||
noAccessMessage=Καμία πρόσβαση
|
||||
invalidPasswordMinLengthMessage=Μη έγκυρος κωδικός πρόσβασης: ελάχιστο μήκος {0}.
|
||||
invalidPasswordMaxLengthMessage=Μη έγκυρος κωδικός πρόσβασης: μέγιστο μήκος {0}.
|
||||
invalidPasswordMinDigitsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} ψηφία.
|
||||
invalidPasswordMinLowerCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} πεζούς χαρακτήρες.
|
||||
invalidPasswordMinUpperCaseCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} κεφαλαίους χαρακτήρες.
|
||||
invalidPasswordMinSpecialCharsMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να περιέχει τουλάχιστον {0} ειδικούς χαρακτήρες.
|
||||
invalidPasswordNotUsernameMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίδιο με το όνομα χρήστη.
|
||||
invalidPasswordNotEmailMessage=Μη έγκυρος κωδικός πρόσβασης: πρέπει να μην είναι ίδιο με το email.
|
||||
invalidPasswordRegexPatternMessage=Μη έγκυρος κωδικός πρόσβασης: δε ταιριάζει με τα μοτίβα regex.
|
||||
invalidPasswordHistoryMessage=Μη έγκυρος κωδικός πρόσβασης: δε πρέπει να είναι το ίδιο με τους τελευταίους {0} κωδικούς.
|
||||
invalidPasswordGenericMessage=Μη έγκυρος κωδικός πρόσβασης: ο νέος κωδικός δε συμφωνεί με τις πολιτικές κωδικών.
|
||||
failedToProcessResponseMessage=Αδυναμία επεξεργασίας της απάντησης
|
||||
httpsRequiredMessage=Απαιτείται HTTPS
|
||||
realmNotEnabledMessage=Ο τομέας δεν είναι ενεργός
|
||||
invalidRequestMessage=Μη Έγκυρη Αίτηση
|
||||
successLogout=Έχετε αποσυνδεθεί
|
||||
failedLogout=Αποτυχία αποσύνδεσης
|
||||
unknownLoginRequesterMessage=Άγνωστος αιτών σύνδεσης
|
||||
loginRequesterNotEnabledMessage=Δεν έχει ενεργοποιηθεί ο αιτών Σύνδεσης
|
||||
bearerOnlyMessage=Εφαρμογές τύπου Bearer-only δεν επιτρέπονται να εκκινήσουν είσοδο μέσω browser
|
||||
standardFlowDisabledMessage=Ο πελάτης δεν επιτρέπεται να ξεκινά είσοδο μέσω browser με το δοθέν response_type. Η πρότυπη ροή έχει απενεργοποιηθεί για αυτό το πελάτη.
|
||||
implicitFlowDisabledMessage=Ο πελάτης δεν επιτρέπεται να ξεκινά είσοδο μέσω browser με το δοθέν response_type. Η έμμεση ροή έχει απενεργοποιηθεί για αυτό το πελάτη.
|
||||
invalidRedirectUriMessage=Μη έγκυρο redirect uri
|
||||
unsupportedNameIdFormatMessage=Μη υποστηριζόμενη NamedIDFormat
|
||||
invalidRequesterMessage=Μη έγκυρος αιτών
|
||||
registrationNotAllowedMessage=Η εγγραφή δεν επιτρέπεται
|
||||
resetCredentialNotAllowedMessage=Η Επαναφορά Διαπιστευτηρίων δεν επιτρέπεται
|
||||
permissionNotApprovedMessage=Η άδεια δεν εγκρίθηκε.
|
||||
noRelayStateInResponseMessage=Δεν υπάρχει κατάσταση μεταβίβασης στην απάντηση από το πάροχο ταυτότητας.
|
||||
insufficientPermissionMessage=Δεν επαρκούν τα δικαιώματα για σύνδεση των ταυτοτήτων.
|
||||
couldNotProceedWithAuthenticationRequestMessage=Αδυναμία ολοκλήρωσης του ελέγχου ταυτότητας στο πάροχο ταυτότητας.
|
||||
couldNotObtainTokenMessage=Αδυναμία απόκτησης διακριτικού από το πάροχο ταυτότητας.
|
||||
unexpectedErrorRetrievingTokenMessage=Απρόσμενο σφάλμα κατά την απόκτηση διακριτικού από το πάροχο ταυτότητας.
|
||||
unexpectedErrorHandlingResponseMessage=Απρόσμενο σφάλμα κατά το χειρισμό της απάντησης από το πάροχο ταυτότητας.
|
||||
identityProviderAuthenticationFailedMessage=Η ταυτοποίηση απέτυχε. Αδυναμία ελέγχου της ταυτότητας με το πάροχο ταυτότητας.
|
||||
couldNotSendAuthenticationRequestMessage=Αδυναμία αποστολής του αιτήματος ελέγχου ταυτότητας στο πάροχο ταυτότητας.
|
||||
unexpectedErrorHandlingRequestMessage=Απρόσμενο σφάλμα κατά το χειρισμό του αιτήματος ταυτοποποίησης στο πάροχο ταυτότητας.
|
||||
invalidAccessCodeMessage=Μη έγκυρος κωδικός πρόσβασης.
|
||||
sessionNotActiveMessage=Η συνεδρία δεν είναι ενεργή.
|
||||
invalidCodeMessage=Συνέβη ένα σφάλμα, παρακαλώ για επανασύνδεση μέσω της εφαρμογής σας.
|
||||
cookieNotFoundMessage=Δε βρέθηκε το cookie. Παρακαλώ βεβαιωθείτε ότι τα cookies είναι ενεργά στο browser σας.
|
||||
insufficientLevelOfAuthentication=Δεν ικανοποιήθηκε το επίπεδο ταυτοποίησης που ζητήθηκε.
|
||||
identityProviderUnexpectedErrorMessage=Απρόσμενο σφάλμα κατά τη ταυτοποίηση με το πάροχο ταυτότητας
|
||||
identityProviderMissingStateMessage=Λείπει η παράμετρος state από την απάντηση του παρόχου ταυτότητας.
|
||||
identityProviderInvalidResponseMessage=Μη έγκυρη απάντηση από το πάροχο ταυτότητας.
|
||||
identityProviderInvalidSignatureMessage=Μη έγκυρη υπογραφή στην απάντηση από το πάροχο ταυτότητας.
|
||||
identityProviderNotFoundMessage=Αδυναμία εύρεσης ενός παρόχου ταυτότητας με το αναγνωριστικό.
|
||||
identityProviderLinkSuccess=Επιβεβαιώσατε το email σας επιτυχώς. Παρακαλώ επιστρέψτε στο αρχικό browser και συνεχίστε εκεί την είσοδο.
|
||||
staleCodeMessage=Αυτή η σελίδα δεν είναι πια έγκυρη, παρακαλώ επιστρέψτε στην εφαρμογή σας και συνδεθείτε ξανά
|
||||
realmSupportsNoCredentialsMessage=Ο τομέας δεν υποστηρίζει κανένα τύπο διαπιστευτηρίων.
|
||||
credentialSetupRequired=Αδυναμία εισόδου, απαιτείται ρύθμιση των διαπιστευτηρίων.
|
||||
identityProviderNotUniqueMessage=Ο τομέας υποστηρίζει πολλαπλούς παρόχους ταυτότητας. Αδυναμία επιλογής του παρόχου ταυτότητας που θα χρησιμοποιηθεί για τη ταυτοποίηση.
|
||||
emailVerifiedMessage=Η διεύθυνση email σας έχει επιβεβαιωθεί.
|
||||
staleEmailVerificationLink=Ο σύνδεσμός που πατήσατε είναι παλιός και δεν είναι έγκυρος πια. Ίσως έχετε ήδη επιβεβαιώσει το email σας.
|
||||
identityProviderAlreadyLinkedMessage=Η ομόσπονδη ταυτότητα που επιστρέφει το {0} είναι ήδη συνδεδεμένη με ένα άλλο χρήστη.
|
||||
confirmAccountLinking=Επιβεβαιώστε τη σύνδεση του λογαριασμού {0} στο πάροχο ταυτότητας {1} με το λογαριασμό σας.
|
||||
confirmEmailAddressVerification=Επιβεβαιώστε την εγκυρότητα της διεύθυνσης email {0}.
|
||||
confirmExecutionOfActions=Πραγματοποιήστε την ακόλουθη ενέργεια(ες)
|
||||
locale_ar=\u0639\u0631\u0628\u064A
|
||||
locale_ca=Catal\u00E0
|
||||
locale_cs=\u010Ce\u0161tina
|
||||
locale_da=Dansk
|
||||
locale_de=Deutsch
|
||||
locale_en=English
|
||||
locale_es=Espa\u00F1ol
|
||||
locale_fr=Fran\u00E7ais
|
||||
locale_gr=\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC
|
||||
locale_hu=Magyar
|
||||
locale_it=Italiano
|
||||
locale_ja=\u65E5\u672C\u8A9E
|
||||
locale_lt=Lietuvi\u0173
|
||||
locale_nl=Nederlands
|
||||
locale_no=Norsk
|
||||
locale_pl=Polski
|
||||
locale_pt_BR=Portugu\u00EAs (Brasil)
|
||||
locale_pt-BR=Portugu\u00EAs (Brasil)
|
||||
locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439
|
||||
locale_sk=Sloven\u010Dina
|
||||
locale_sv=Svenska
|
||||
locale_tr=T\u00FCrk\u00E7e
|
||||
locale_zh-CN=\u4E2D\u6587\u7B80\u4F53
|
||||
locale_fi=Suomi
|
||||
backToApplication=« Επιστροφή στην Εφαρμογή
|
||||
missingParameterMessage=Λείπουν οι παράμετροι: {0}
|
||||
clientNotFoundMessage=Ο πελάτης δε βρέθηκε.
|
||||
clientDisabledMessage=Ο πελάτης απενεργοποιήθηκε.
|
||||
invalidParameterMessage=Μη έγκυρη παράμετρος: {0}
|
||||
alreadyLoggedIn=Έχετε ήδη συνδεθεί.
|
||||
differentUserAuthenticated=Έχετε ήδη ταυτοποιηθεί σε αυτή τη συνεδρία ως ο άλλος χρήστης ''{0}''. Παρακαλώ πρώτα να αποσυνδεθείτε.
|
||||
brokerLinkingSessionExpired=Αιτήθηκε σύνδεση με λογαριασμό μεσολαβητή, αλλά η τρέχουσα συνεδρία δεν είναι πια έγκυρη.
|
||||
proceedWithAction=» Πατήστε εδώ για να προχωρήσετε
|
||||
acrNotFulfilled=Δεν ικανοποιούνται οι απαιτήσεις ταυτοποίησης
|
||||
requiredAction.CONFIGURE_TOTP=Ρύθμιση OTP
|
||||
requiredAction.terms_and_conditions=Όροι και Συνθήκες
|
||||
requiredAction.UPDATE_PASSWORD=Ενημέρωση Κωδικού Πρόσβασης
|
||||
requiredAction.UPDATE_PROFILE=Ενημέρωση Προφίλ
|
||||
requiredAction.VERIFY_EMAIL=Επιβεβαίωση Email
|
||||
requiredAction.CONFIGURE_RECOVERY_AUTHN_CODES=Δημιουργία Κωδικών Ανάκτησης
|
||||
requiredAction.webauthn-register-passwordless=Εγγραφή σε Webauthn Χωρίς-Κωδικό-Πρόσβασης
|
||||
invalidTokenRequiredActions=Οι απαιτούμενες ενέργειες που περιλαμβάνονται σε αυτό το σύνδεσμο δεν είναι έγκυρες
|
||||
doX509Login=Θα συνδεθείτε ως:
|
||||
clientCertificate=Πιστοποιητικό πελάτη X509:
|
||||
noCertificate=[Κανένα Πιστοποιητικό]
|
||||
|
||||
|
||||
pageNotFound=Η σελίδα δε βρέθηκε
|
||||
internalServerError=Συνέβη ένα εσωτερικό σφάλμα στην υπηρεσία
|
||||
console-username=Όνομα Χρήστη:
|
||||
console-password=Κωδικός Πρόσβασης:
|
||||
console-otp=Κωδικός Μίας Χρήσης:
|
||||
console-new-password=Νέος Κωδικός Πρόσβασης:
|
||||
console-confirm-password=Επιβεβαίωση Κωδικού:
|
||||
console-update-password=Απαιτείται η ενημέρωση του κωδικού πρόσβασης σας.
|
||||
console-verify-email=Πρέπει να επιβεβαιώσετε την διεύθυνση email σας. Στάλθηκε ένα email στο {0} το οποίο περιέχει ένα κωδικό επιβεβαίωσης. Παρακαλώ εισάγετε το κωδικό στο παρακάτω πεδίο.
|
||||
console-email-code=Κωδικός Email:
|
||||
console-accept-terms=Αποδοχή Όρων [ν/ο]:
|
||||
console-accept=ν
|
||||
|
||||
# Openshift messages
|
||||
openshift.scope.user_info=Πληροφορίες χρήστη
|
||||
openshift.scope.user_check-access=Πληροφορίες πρόσβασης χρήστη
|
||||
openshift.scope.user_full=Πλήρης Πρόσβαση
|
||||
openshift.scope.list-projects=Εμφάνιση λίστας έργων
|
||||
|
||||
# SAML authentication
|
||||
saml.post-form.title=Ανακατεύθυνση Ταυτοποίησης
|
||||
saml.post-form.message=Ανακατεύθυνση, παρακαλώ αναμένατε.
|
||||
saml.post-form.js-disabled=Έχει απενεργοποιηθεί η JavaScript. Συνιστούμε να την ενεργοποιήσετε. Πατήστε το κουμπί παρακάτω για να συνεχίσετε.
|
||||
saml.artifactResolutionServiceInvalidResponse=Αδυναμία επίλυσης του στοιχείου.
|
||||
|
||||
#authenticators
|
||||
otp-display-name=Εφαρμογής Ταυτοποίησης
|
||||
otp-help-text=Εισάγετε ένα κωδικό επιβεβαίωσης από την εφαρμογή ταυτοποίησης.
|
||||
password-display-name=Κωδικός Πρόσβασης
|
||||
password-help-text=Συνδεθείτε βάζοντας το κωδικό πρόσβασης σας.
|
||||
auth-username-form-display-name=Όνομα Χρήστη
|
||||
auth-username-form-help-text=Ξεκινήστε την είσοδο με το όνομα του χρήστη σας
|
||||
auth-username-password-form-display-name=Όνομα χρήστη και κωδικός πρόσβασης
|
||||
auth-username-password-form-help-text=Συνδεθείτε με το όνομα χρήστη και το κωδικό πρόσβασης σας.
|
||||
|
||||
# Recovery Codes
|
||||
auth-recovery-authn-code-form-display-name=Κωδικός Ανάκτησης Ταυτοποίησης
|
||||
auth-recovery-authn-code-form-help-text=Δώστε ένα κωδικό ανάκτησης ταυτοποίησης από μια προϋπάρχουσα λίστα.
|
||||
auth-recovery-code-info-message=Δώστε το καθορισμένο κωδικό ανάκτησης.
|
||||
auth-recovery-code-prompt=Κωδικός ανάκτησης #{0}
|
||||
auth-recovery-code-header=Σύνδεση με ένα κωδικό ανάκτησης ταυτοποίησης
|
||||
recovery-codes-error-invalid=Μη έγκυρος κωδικός ανάκτησης ταυτοποίησης
|
||||
recovery-code-config-header=Κωδικοί Ανάκτησης Ταυτοποίησης
|
||||
recovery-code-config-warning-title=Αυτοί οι κωδικοί ανάκτησης δεν θα είναι πια ορατή μετά που θα βγείτε από τη σελίδα
|
||||
recovery-code-config-warning-message=Βεβαιωθείτε ότι τους εκτυπώσατε, κατεβάσατε ή αντιγράψατε στο διαχειριστή κωδικών σας με ασφάλεια. Η ακύρωση αυτής της διαδικασίας θα αφαιρέσει αυτούς του κωδικούς ανάκτησης από το λογαριασμό σας.
|
||||
recovery-codes-print=Εκτύπωση
|
||||
recovery-codes-download=Λήψη
|
||||
recovery-codes-copy=Αντιγραφή
|
||||
recovery-codes-copied=Αντιγράφηκε
|
||||
recovery-codes-confirmation-message=Αποθήκευσα αυτούς του κωδικούς με ασφάλεια
|
||||
recovery-codes-action-complete=Ολοκλήρωση διαδικασίας
|
||||
recovery-codes-action-cancel=Ακύρωση διαδικασίας
|
||||
recovery-codes-download-file-header=Κρατήστε αυτούς του κωδικούς ανάκτησης κάπου ασφαλές.
|
||||
recovery-codes-download-file-description=Οι κωδικοί ανάκτησης είναι μυστικά μίας χρήσης που επιτρέπουν να συνδεθείτε στο λογαριασμό αν δεν έχετε πρόσβαση στην εφαρμογή ταυτοποίησης.
|
||||
recovery-codes-download-file-date=Αυτοί οι κωδικοί δημιουργήθηκαν στις
|
||||
recovery-codes-label-default=Κωδικοί ανάκτησης
|
||||
|
||||
# WebAuthn
|
||||
webauthn-display-name=Κλειδί Ασφαλείας
|
||||
webauthn-help-text=Χρήση του κλειδιού ασφαλείας σας για σύνδεση.
|
||||
webauthn-passwordless-display-name=Κλειδί Ασφαλείας
|
||||
webauthn-passwordless-help-text=Χρήση του κλειδιού ασφαλείας για σύνδεση χωρίς κωδικό πρόσβασης.
|
||||
webauthn-login-title=Είσοδος με Κλειδί Ασφαλείας
|
||||
webauthn-registration-title=Εγγραφή Κλειδιού Ασφαλείας
|
||||
webauthn-available-authenticators=Διαθέσιμα Κλειδιά Ασφαλείας
|
||||
webauthn-unsupported-browser-text=Το WebAuthn δεν υποστηρίζεται από αυτό το browser. Δοκιμάστε κάποιον άλλο ή επικοινωνήστε με το διαχειριστή.
|
||||
webauthn-doAuthenticate=Σύνδεση με το Κλειδί Ασφαλείας
|
||||
webauthn-createdAt-label=Δημιουργήθηκε
|
||||
|
||||
# WebAuthn Error
|
||||
webauthn-error-title=Σφάλμα Κλειδιού Ασφαλείας
|
||||
webauthn-error-registration=Αποτυχία εγγραφής του κλειδιού ασφαλείας σας.<br/> {0}
|
||||
webauthn-error-api-get=Αποτυχία ταυτοποίησης μέσω του Κλειδιού ασφαλείας.<br/> {0}
|
||||
webauthn-error-different-user=Ο αρχικός ταυτοποιημένος χρήστης δεν είναι ο ίδιος με αυτό που ταυτοποιήθηκε με το Κλειδί ασφαλείας.
|
||||
webauthn-error-auth-verification=Μη έγκυρο αποτέλεσμα ταυτοποίησης του Κλειδιού ασφαλείας.<br/> {0}
|
||||
webauthn-error-register-verification=Μη έγκυρο αποτέλεσμα εγγραφής του Κλειδιού ασφαλείας.<br/> {0}
|
||||
webauthn-error-user-not-found=Άγνωστος χρήστης ταυτοποιήθηκε με το Κλειδί ασφαλείας.
|
||||
|
||||
# Identity provider
|
||||
identity-provider-redirector=Σύνδεση με ένα άλλο Πάροχο Ταυτότητας
|
||||
identity-provider-login-label=Ή σύνδεση με
|
||||
idp-email-verification-display-name=Πιστοποίηση Email
|
||||
idp-email-verification-help-text=Σύνδεση του λογαριασμού με επιβεβαίωση του email σας.
|
||||
idp-username-password-form-display-name=Όνομα χρήστη και κωδικός πρόσβασης
|
||||
idp-username-password-form-help-text=Σύνδεση του λογαριασμού σας μέσω της εισόδου σας.
|
||||
finalDeletionConfirmation=Αν διαγράψετε το λογαριασμό σας, η ανάκτηση θα είναι αδύνατη. Για να παραμείνει, πατήστε Ακύρωση.
|
||||
irreversibleAction=Αυτή η ενέργεια είναι μη αναστρέψιμη
|
||||
deleteAccountConfirm=Επιβεβαίωση διαγραφής λογαριασμού
|
||||
deletingImplies=Η διαγραφή του λογαριασμού σας συνεπάγεται:
|
||||
errasingData=Διαγραφή όλων των δεδομένων σας
|
||||
loggingOutImmediately=Άμεση αποσύνδεση σας
|
||||
accountUnusable=Κάθε μεταγενέστερη χρήση αυτής της εφαρμογής δεν θα είναι δυνατή με αυτό το λογαριασμό
|
||||
userDeletedSuccessfully=Ο χρήστης διαγράφηκε με επιτυχία
|
||||
access-denied=Δεν επιτρέπεται η πρόσβαση
|
||||
access-denied-when-idp-auth=Δεν επιτρέπεται η πρόσβαση κατά τη ταυτοποίηση με {0}
|
||||
frontchannel-logout.title=Αποσύνδεση
|
||||
frontchannel-logout.message=Αποσυνδέεστε από τις παρακάτω εφαρμογές
|
||||
logoutConfirmTitle=Αποσύνδεση
|
||||
logoutConfirmHeader=Σίγουρα να γίνει αποσύνδεση;
|
||||
doLogout=Αποσύνδεση
|
||||
readOnlyUsernameMessage=Δε μπορείτε να ενημερώσετε το όνομα χρήστη σας καθώς είναι μόνο-για-ανάγνωση.
|
2
themes/hellug-keycloak/login/messages/messages_en.properties
Κανονικό αρχείο
|
@ -0,0 +1,2 @@
|
|||
# encoding: UTF-8
|
||||
locale_el=Ελληνικά
|
|
@ -1,21 +0,0 @@
|
|||
.login-pf body {
|
||||
background: url("../node_modules/rcue/dist/img/bg-login.png") no-repeat left top fixed;
|
||||
background-size: auto;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.login-pf body {
|
||||
background: white;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 767px) {
|
||||
.login-pf {
|
||||
background-attachment: fixed;
|
||||
}
|
||||
}
|
||||
#kc-header-wrapper sup {
|
||||
font-size: 35%;
|
||||
top: -1.4em;
|
||||
}
|
Πριν Πλάτος: | Ύψος: | Μέγεθος: 513 B |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 343 B |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 678 B |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 410 B |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 513 B |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 646 B |
|
@ -1,4 +1,3 @@
|
|||
parent=keycloak
|
||||
|
||||
styles=css/login.css css/tile.css css/login-hellug.css
|
||||
stylesCommon=web_modules/@patternfly/react-core/dist/styles/base.css web_modules/@patternfly/react-core/dist/styles/app.css node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css lib/pficon/pficon.css
|
||||
kcLogoLink=http://www.hellug.gr
|
||||
locale=en,el
|
||||
|
|
135
themes/hellug-keycloak/welcome/index.ftl
Εκτελέσιμο αρχείο
|
@ -0,0 +1,135 @@
|
|||
<!--
|
||||
~ JBoss, Home of Professional Open Source.
|
||||
~ Copyright (c) 2011, Red Hat, Inc., and individual contributors
|
||||
~ as indicated by the @author tags. See the copyright.txt file in the
|
||||
~ distribution for a full listing of individual contributors.
|
||||
~
|
||||
~ This is free software; you can redistribute it and/or modify it
|
||||
~ under the terms of the GNU Lesser General Public License as
|
||||
~ published by the Free Software Foundation; either version 2.1 of
|
||||
~ the License, or (at your option) any later version.
|
||||
~
|
||||
~ This software is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
~ Lesser General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU Lesser General Public
|
||||
~ License along with this software; if not, write to the Free
|
||||
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Welcome to ${productNameFull}</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
|
||||
<link rel="shortcut icon" href="${resourcesPath}/img/favicon.ico" />
|
||||
|
||||
<#if properties.stylesCommon?has_content>
|
||||
<#list properties.stylesCommon?split(' ') as style>
|
||||
<link href="${resourcesCommonPath}/${style}" rel="stylesheet" />
|
||||
</#list>
|
||||
</#if>
|
||||
<#if properties.styles?has_content>
|
||||
<#list properties.styles?split(' ') as style>
|
||||
<link href="${resourcesPath}/${style}" rel="stylesheet" />
|
||||
</#list>
|
||||
</#if>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2">
|
||||
<div class="welcome-header">
|
||||
<img src="${resourcesPath}/logo.png" alt="${productName}" border="0" />
|
||||
<h1>Welcome to <strong>${productNameFull}</strong></h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<#if adminConsoleEnabled>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<div class="card-pf h-l">
|
||||
<#if successMessage?has_content>
|
||||
<p class="alert success">${successMessage}</p>
|
||||
<#elseif errorMessage?has_content>
|
||||
<p class="alert error">${errorMessage}</p>
|
||||
<h3><img src="welcome-content/user.png">Administration Console</h3>
|
||||
<#elseif bootstrap>
|
||||
<#if localUser>
|
||||
<h3><img src="welcome-content/user.png">Administration Console</h3>
|
||||
<p>Please create an initial admin user to get started.</p>
|
||||
<#else>
|
||||
<p class="welcome-message">
|
||||
<img src="welcome-content/alert.png">You need local access to create the initial admin user. <br><br>Open <a href="${localAdminUrl}">${localAdminUrl}</a>
|
||||
<br>${adminUserCreationMessage}.
|
||||
</p>
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
<#if bootstrap && localUser>
|
||||
<form method="post" class="welcome-form">
|
||||
<p>
|
||||
<label for="username">Username</label>
|
||||
<input id="username" name="username" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="password">Password</label>
|
||||
<input id="password" name="password" type="password" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="passwordConfirmation">Password confirmation</label>
|
||||
<input id="passwordConfirmation" name="passwordConfirmation" type="password" />
|
||||
</p>
|
||||
|
||||
<input id="stateChecker" name="stateChecker" type="hidden" value="${stateChecker}" />
|
||||
|
||||
<button id="create-button" type="submit" class="btn btn-primary">Create</button>
|
||||
</form>
|
||||
</#if>
|
||||
|
||||
<div class="welcome-primary-link">
|
||||
<h3><a href="${adminUrl}"><img src="welcome-content/user.png">Administration Console <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
|
||||
<div class="description">
|
||||
Centrally manage all aspects of the ${productNameFull} server
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</#if> <#-- adminConsoleEnabled -->
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<div class="card-pf h-l">
|
||||
<h3><a href="${properties.documentationUrl}"><img class="doc-img" src="welcome-content/admin-console.png">Documentation <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
|
||||
<div class="description">
|
||||
|
||||
User Guide, Admin REST API and Javadocs
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<#if properties.displayCommunityLinks = "true">
|
||||
<div class="card-pf h-m">
|
||||
<h3><a href="http://www.keycloak.org"><img src="welcome-content/keycloak-project.png">Keycloak Project <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
|
||||
</div>
|
||||
<div class="card-pf h-m">
|
||||
<h3><a href="https://groups.google.com/forum/#!forum/keycloak-user"><img src="welcome-content/mail.png">Mailing List <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
|
||||
</div>
|
||||
<div class="card-pf h-m">
|
||||
<h3><a href="https://github.com/keycloak/keycloak/issues"><img src="welcome-content/bug.png">Report an issue <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
|
||||
</div>
|
||||
</#if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
BIN
themes/hellug-keycloak/welcome/resources/admin-console.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 712 B |
BIN
themes/hellug-keycloak/welcome/resources/alert.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 6 KiB |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 4,9 KiB |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 3,3 KiB Μετά Πλάτος: | Ύψος: | Μέγεθος: 71 KiB |
BIN
themes/hellug-keycloak/welcome/resources/bug.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 1,4 KiB |
|
@ -1,12 +0,0 @@
|
|||
body {
|
||||
background-image: url(../bg.png),url(../bg-login.png);
|
||||
background-repeat: no-repeat,no-repeat;
|
||||
background-position: right bottom, left top;
|
||||
background-size: auto, auto;
|
||||
background-color: #1a1a1a;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.welcome-header {
|
||||
color: #fff;
|
||||
}
|
140
themes/hellug-keycloak/welcome/resources/css/welcome.css
Κανονικό αρχείο
|
@ -0,0 +1,140 @@
|
|||
body {
|
||||
background: #fff url(../bg.png) no-repeat center bottom fixed;
|
||||
background-size: cover;
|
||||
}
|
||||
.welcome-header {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 50px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
.welcome-header img {
|
||||
width: 150px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.welcome-message {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.h-l {
|
||||
min-height: 370px;
|
||||
padding: 10px 20px 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.h-l h3 {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.h-m {
|
||||
height: 110px;
|
||||
padding-top: 23px;
|
||||
}
|
||||
.card-pf img {
|
||||
width: 22px;
|
||||
margin-right: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
img.doc-img {
|
||||
width: auto;
|
||||
height: 22px;
|
||||
}
|
||||
.link {
|
||||
font-size: 16px;
|
||||
vertical-align: baseline;
|
||||
margin-left: 5px;
|
||||
}
|
||||
h3 {
|
||||
font-weight: 550;
|
||||
}
|
||||
h3 a:link,
|
||||
h3 a:visited {
|
||||
color: #333;
|
||||
font-weight: 550;
|
||||
}
|
||||
h3 a:hover,
|
||||
h3 a:hover .link {
|
||||
text-decoration: none;
|
||||
color: #00659c;
|
||||
}
|
||||
.h-l h3 a img {
|
||||
height: 30px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.card-pf {
|
||||
border-top: 1px solid rgba(3, 3, 3, 0.1);
|
||||
box-shadow: 0 1px 1px rgba(3, 3, 3, 0.275);
|
||||
}
|
||||
|
||||
.welcome-form label,
|
||||
.welcome-form input {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.welcome-form label {
|
||||
color: #828486;
|
||||
font-weight: normal;
|
||||
margin-top: 18px;
|
||||
}
|
||||
.welcome-form input {
|
||||
border: 0;
|
||||
border-bottom: solid 1px #cbcbcb;
|
||||
}
|
||||
.welcome-form input:focus {
|
||||
border-bottom: solid 1px #5e99c6;
|
||||
outline-width: 0;
|
||||
}
|
||||
.welcome-form button {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.error {
|
||||
color: #c00;
|
||||
border-color: #c00;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.success {
|
||||
color: #3f9c35;
|
||||
border-color: #3f9c35;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.welcome-form + .welcome-primary-link,
|
||||
.welcome-message + .welcome-primary-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.footer img {
|
||||
float: right;
|
||||
width: 150px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.welcome-header {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.welcome-header img {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
h3 {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.h-l,
|
||||
.h-m {
|
||||
height: auto;
|
||||
min-height: auto;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.h-l img {
|
||||
display: inline;
|
||||
margin-bottom: auto;
|
||||
}
|
||||
.description {
|
||||
display: none;
|
||||
}
|
||||
.footer img {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
BIN
themes/hellug-keycloak/welcome/resources/keycloak-project.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 1,6 KiB |
BIN
themes/hellug-keycloak/welcome/resources/keycloak_logo.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 7,4 KiB |
Πριν Πλάτος: | Ύψος: | Μέγεθος: 26 KiB Μετά Πλάτος: | Ύψος: | Μέγεθος: 7,4 KiB |
BIN
themes/hellug-keycloak/welcome/resources/mail.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 1 KiB |
BIN
themes/hellug-keycloak/welcome/resources/user.png
Κανονικό αρχείο
Μετά Πλάτος: | Ύψος: | Μέγεθος: 2,4 KiB |
|
@ -1,6 +1,5 @@
|
|||
parent=keycloak
|
||||
styles=css/welcome-hellug.css
|
||||
|
||||
styles=css/welcome.css css/welcome-hellug.css
|
||||
|
||||
documentationUrl=https://wiki.hellug.gr/index.php?title=%CE%A5%CF%80%CE%B7%CF%81%CE%B5%CF%83%CE%AF%CE%B1_Hellug_Auth
|
||||
documentationUrl=https://https://wiki.hellug.gr/index.php?title=%CE%A5%CF%80%CE%B7%CF%81%CE%B5%CF%83%CE%AF%CE%B1_Hellug_Auth
|
||||
displayCommunityLinks=false
|
||||
|
|