From f28f28f24a61ce4a8956c220f04df5980d4dbd65 Mon Sep 17 00:00:00 2001 From: Kai Krueger Date: Tue, 27 Apr 2010 20:54:07 +0100 Subject: [PATCH] Try a different style for the OpenID login page --- app/views/user/login.html.erb | 68 ++++++++++++++++++++++++----- config/locales/en.yml | 4 +- public/images/google.gif | Bin 0 -> 1902 bytes public/images/myopenid.png | Bin 0 -> 1549 bytes public/images/myspace.png | Bin 0 -> 1498 bytes public/images/openid-inputicon.gif | Bin 0 -> 237 bytes public/images/openid_logo.png | Bin 0 -> 1135 bytes public/images/wordpress.png | Bin 0 -> 3306 bytes public/images/yahoo.gif | Bin 0 -> 2174 bytes public/stylesheets/common.css | 12 +++++ public/stylesheets/small.css | 15 +++++++ 11 files changed, 88 insertions(+), 11 deletions(-) create mode 100644 public/images/google.gif create mode 100644 public/images/myopenid.png create mode 100644 public/images/myspace.png create mode 100644 public/images/openid-inputicon.gif create mode 100644 public/images/openid_logo.png create mode 100644 public/images/wordpress.png create mode 100644 public/images/yahoo.gif diff --git a/app/views/user/login.html.erb b/app/views/user/login.html.erb index e394a8c27..6cac5cecb 100644 --- a/app/views/user/login.html.erb +++ b/app/views/user/login.html.erb @@ -1,16 +1,64 @@ + +

<%= t 'user.login.heading' %>

<%= t 'user.login.please login', :create_user_link => link_to(t('user.login.create_account'), :controller => 'user', :action => 'new', :referer => params[:referer]) %>

<% form_tag :action => 'login' do %> -<%= hidden_field_tag('referer', h(params[:referer])) %> - - - - - - - - -
<%= t 'user.login.email or username' %><%= text_field('user', 'email',{:value => "", :size => 28, :maxlength => 255, :tabindex => 1}) %>
<%= t 'user.login.password' %><%= password_field('user', 'password',{:value => "", :size => 28, :maxlength => 255, :tabindex => 2}) %> (<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)

<%= t 'user.login.alternatively' %>

<%= t 'user.login.openid' %><%= text_field('user', 'openid_url',{:size => 28, :maxlength => 255, :tabindex => 3}) %> (<%= t 'user.account.openid.link text' %>)
 
 
<%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %><%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
+ <%= hidden_field_tag('referer', h(params[:referer])) %> +
+
+

<%= t 'user.login.username_heading' %>

+ + + + +
<%= t 'user.login.email or username' %><%= text_field('user', 'email',{:value => "", :size => 28, :maxlength => 255, :tabindex => 1}) %>
<%= t 'user.login.password' %><%= password_field('user', 'password',{:value => "", :size => 28, :maxlength => 255, :tabindex => 2}) %>
(<%= link_to t('user.login.lost password link'), :controller => 'user', :action => 'lost_password' %>)
+
+
+

<%= t 'user.login.or' %>

+
+ + +
+ + +
<%= check_box_tag "remember_me", "yes", false, :tabindex => 3 %><%= submit_tag t('user.login.login_button'), :tabindex => 3 %>
+
+
<% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index 02eff8f56..e6e0c6c0e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1375,7 +1375,9 @@ en: password: "Password:" openid: "OpenID:" openid description: "Use your OpenID to login" - alternatively: "Alternatively" + username_heading: "Login with username and password:" + openid_heading: "Login with an OpenID:" + or: "Or" remember: "Remember me:" lost password link: "Lost your password?" login_button: "Login" diff --git a/public/images/google.gif b/public/images/google.gif new file mode 100644 index 0000000000000000000000000000000000000000..ed6ba10930eb40db1fd357a845d941d0bc284226 GIT binary patch literal 1902 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 literal 0 HcmV?d00001 diff --git a/public/images/openid_logo.png b/public/images/openid_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8a8a92453ef472a875fe29d42db75d0fed4110a3 GIT binary patch literal 1135 zcmV-#1d#iQP)RDM?&CShob90D@h&nnt?u9GG#l^9)vAw;$3JMCr!NIAi zsr>x>larI$+S-GIgF{0@_V)I>ySw!C^!fSu;^N}g*4Ch)pr)p#oSdA=$;mM>G5Y%Y znVFf=($ZsNV~mW9Yin!R*x1;pf%B_w{{H^;xPh{qBGwq@<((00960|Nrz^wg3PFMM*?KRCwC#m}_^MKoEujQ5NMEWCKxF@e+x* zq|~N2!tDS5SKSMs)g&ctPV8wjesC1nXLshEojoY@Os4#8;N4lk`R@MW4B)T3`-g{f zfWJIEoCo~j9sCad$G{|!;9Sk#4s5Q1R?(K=q?jAF61@SKtXc)P8q6*9d+bs)Iea8D z$t!}%VqO%dU}ht;-Rkcj2xAO@)`O-1E%xam=GN_8x5Zye*L5p!J1jAMdtByt8px@H z{i2xHVOayDmWBZL8-g*kr~#$n&Y05CDDI400nYuBdOJQ;bu=-GLdHKS+m;9Vlz(3V zT)zbD@k!fD1iDIH8h1JItDW-hh2+Ip59gPDiNG<4l1&#@x8 z$;k$io40`lf$NUl>fsr40JnzJ)hBkY zL|Fx4F%|wbSo`V&hz3k9Epl^-U_)sDsZEnBj0p7rZwQ?t@K3-oEGw`omb7?o%gj_c zEeD4CKM~wAun7GC(3t92RQr&r&I5FhC64dkXCF@Jn#J`HGpK^2!f{ zxVja1(+Ay>wtfaoFia}2DZr~HV4|~8>T((~uwDhQUr$0T>nZRO(yRh!qGDP}lYTr0 zy$nsr^~A(w^B*e4lL%pvuBq-k4Ym=C_Dw>@`Z8+(&SF4ZH;D^eBn+&xZb39ya}8@I zrQ;a-kAVpxs@=i+urP2YcT7KTZ~}=O#?n}WLL*T|sSc@!!DFDv0_?FX+s8s(H3{eD zuq`HXdos)>M<1ihT9fW5vVJwiNs+dZ!-bZvYg_~!O+h?o`0RV{BNhzob?`{A9002ovPDHLkV1lD| BIZXfn literal 0 HcmV?d00001 diff --git a/public/images/wordpress.png b/public/images/wordpress.png new file mode 100644 index 0000000000000000000000000000000000000000..901549859f7b3d25ab01618a382c41dc41fdd1f5 GIT binary patch literal 3306 zcmVEWm-I!j?m=tAu(~R9~00`ss^HKq z-fLxopHYQBrwYj@{@$bt4^zgTE9U>YS|By9nYV&jt)p6_B@zzB(R?JJ^(HG*ZZf+3 z83T&lH~aP$4E%&L{7T8lfnx5#2mW5X#XXAk(qXDdv*rnGZ%3!i?hG2owdKV;4(K-k z?eluN#7ddTHKsFtLKl6;oIKSz{Z0k%PxWKToiq6QSBB_s3{e7GiusY!p?51sobJu- zNH7!(V*A~h<))q?uh$y~^uGZejYhSr*78AVBpUVmeLlb6vf-wQHSbk%KV=FAluMf) z4;C>rmbI+DnIk2fqqjI}i*q{?3IqaPuW!>IOl#_QIGhpO`Ot*IVYl18zP|2qxi&X9 zL!oy8^FUsEcHb24+R;#O)?if{?QHont7qWe z%Jw!;?&;|%DJdx}Ep2LQGMP-lV35IJfbw>`9V@qYhF-7#)_w!!fq{WLckaMMYinzL zeSKS78dJoH1BY4}6uOuwM$YXH+#4t`XH@u{b|Je`I6?^Qoz+^z`(Fg$2x4R#xx` z$$%uV#-r)!X^+Q4JXu{`wOXyFok5CVYikQzY&P5K&H#C1-UI7fw{AHc4!K-@`t<3p zt}aNL&1Q?mVl)~d2@_ztWoJMkc?v5;twNztsZ`6$%VY)0XJ=>CYBgjYst*(m9x0Vd z_(=*8Rf~b%ArL`Q%JL^aGL zBqUI&RLtpg`tjq(K|q)ni9`Sz?(%p%Ahoo#gcv|`i9`Zqby_XNghF9oUte`~HJ||^ zkfBg0GMNl0G&D4HbabFHpq9yGrlh10b9_F(pr8Qw0&bXFTwDaxhlhu;9s02gb3obH z*r?Mj0>{C@!QS3pc!Cw{&S10I0Is>YxwEqq6%#`lI_Ku*;5LW?CGG9);c#Spd>q1{ z2)M%Ka$yD8g2RY{?9%CUG#U*XzXn=wG!?dSCEC^97aNba3AeU9z*KE^{=TCBP=3c7 z#a##TJL*KLXfUuH3{c1BUM}iKwt(h{9EPA47LmUT7cO86&;&Fv0X=8W zo<%W{Y{4%4$r93f-Pl)VH!4lm=74{iDj>6^s4-0@nW16*C&c6?(r&D2U$w0R$7I9o~bsn7|t_ZfIx-T@@|6 zU}wa#09{sI08S9OT8kzrP>K!C$A-iN&g_ zs*H>bc!92!lam8ISVV3}DS%?AImCbM+BGB+i=ZB9Vy8}>f<>GzAbzYaH5yGzOA8VZ z!yO9I5>bvZ%ELYELf=3o<>uxh@eqSc5F;(|E1=~nbsn>CY;N)3nTjV*l-}V=J?;&k zd%b>Gx-W@(Af@u2^6Cj*m;)_9fkZHmTxFL;sXYcQCc`rIad}W+{u- zJt-RBf%q#AP~gSI#ULHH<8p0a4j#d8#0lUkDk@^}AQFIr8pI?yIT`H6SNKgF1!1v5 z2ne772kA&i8;Fb+iN#pX(0PD9n1wj8kt`y4IE~Suh!T(hSpij3Q&Zs{IyJVV&dSTn zPo6vpoj{Fj#3K%eLsCdK!WR0NSUed68r>fWLze?TkZ+I!=|SZoccb-h3d{WAG*d4%HrqLh0Q1fI$*~caAUE}iHHlBaW74Wzz-GaSI)cq-yjloAR03)U0mKohA#M?xzP?z}@_;P8Mps6uFn6bS~_I8IP@ zG2eEPa>%M;%o!}dyH4M8l5!-qTCCJR)BOE*=dLe`k5~81EgHYftMG1ZK6E=C7Yb3}gqQ#wU7Oej1ek-fTCEmk z3nE|+Ux7FXg&GIDQQCkEPr=+1Cr+RhAaWdfMMXvAtVbjOMIaEwN*hq3ctL9H0vv^f zg1FAOn@o8M*@Hp^q{LE2CM*0 zAP7zoo#X-o)Nq^vUp&PY91B=*K5k(A>Zh z_<*(m&SL~b=e88TP|yOD3GLJrV3uov>M4s8#-f=447lRdq*U8G!m^D=$U>6$;} zF^#LMTkFpDad~pXVEvHf`LnhAQ)^B&^sn2kTk8%AM_A4g7IX=p_(%Ci6gGZTI#x`R zh{dFfJqR?u#u_oXem-=Q|JRl8aYP^UKV>|+{I2^iT3glKJmH+~R*&eZbM*((Xx$UD zn@+nzs~0KMiM4${KHmVK-_2ub^~>uH`>bYBAYb^Pp!MmLn&BB$GhdcdUX6N;wXOL0 z_dtWxT7xl%-m6(&O{8&ubha+Jd1TFIwp+{#+QoPBSTAMJ4_u%fzSPVS&p9k6ht<+9 zQap2xmc`;xse>szJIP327=}nhdeB;WB)wG)3!pmwKQ|VU{N*kHoeRi9TyvWAKHvzrVa!T8| zS6jH#T0t{5IG~RP^gUjO>Uwx*>p1Aq>SdF0#hA_-{bPC0`=#CZ`;gjuo;j+}8B~T<22Yw; z-cm$k84ddF2YyS6k4FL;zZIZ|7>wrI?7{Tg%~u(NcZGAq3cWzNG^R8R&gvWZvP<=y z=gS+58rw$&!p)7H_x(7KkIiUuW!Zsya$4TpJ5t!dx_p~G@yR*y+hLrY^fcW6|w zf_4#!JoHu;ACCd_g9C4RIQo>Tg(@zk8tL<2xDu1WCPfsPs_lTL1t607*qoM6N<$f-kc=O8@`> literal 0 HcmV?d00001 diff --git a/public/images/yahoo.gif b/public/images/yahoo.gif new file mode 100644 index 0000000000000000000000000000000000000000..078f3097164cc907fa84fae821f300995b1564b5 GIT binary patch literal 2174 zcmV-^2!Z!UNk%w1VRQf~0O$VzmU^Y$)Z(Fuu9$+OiD{W+I(v?Bo^?%%^Y8SKa-f%f zrJRAP?db1@W|sQ-`{?5AU^RD{eyHu}@MAc6Y)F84S&#er{JEpU(8JfsyU}JneZsZL zSS)eo;OgSr=DVrI-qz#a*5rX-lZrIb?D>k<=p7w-06N?k+!11Z%BingssxX*~`Jx%e>NQL4U@#&si&Ry{X0d`1)-{ zg6ib$l60Y~mAI;tw^}Z8;o0SWTajTmc&LxG+tT3I%-z$;*=0U@n}Df z_WAbn_i93aS}k+@`~3Iy_*yJ-{r&yp+~-;?aeZ2la7u;o?eq2W_P3J0;iQSMZ9#_O-sRiQ;BHNT`1AO8Qj6r> z=!+x&Fkmx*3aAJ-s-85w)XV*n|rAH`~33k^Rb@1vYox} z>+;~*+x%&C>Lw4uMvz|_vc)vS@X=;7?8j0^uVyl!LrHg=Iz3>%W_GG_VoC(sJZv``HXa* zrIxkU(csd>*m+iriD#Si^7g{9%5+bN>E!JE{QaMVtz9y8td_W5GInuEg!AzAjBA~X zY@AsvasU7SEC2ur0CWHr000R70L>sk;6{uXMPlU0K_IS88y0{5{F_LzqQ#3CGiuz( zu_H$?U`F&AF+u<;RA_``$uhx+5e+#sXedC*kRcQ)Qh40Sv!~C0`yL!R^Za@=BrXAN{=2D`zfuXk-?}lXZ#sarOF~K zSOv5cDA2`+kC|h}X#4Wzq6ZH%s8Rdy;p`L>5+wW!5a1htq`IU@b7fJHqCA13rx`X3 zW0@c>{pHBP$SI0D4>9n)By*OP?14N$TQ0< z{=fl85hqwl?rdORTZTD$A_1&`L|K zwFY22(YD?0G(eR8OfW$#|M=mD8f(1p0!GlBbIuAhXvBy=B8Xtm0!%Ow2><}7&__}L zOtg#(ppCN;7+uUU2M7&dIe|hQC6E9ID*WqDB$4psKm`>@VXQ6F@WBT>TUzwWE0|=E z!8T;va05mcLjXY*C_JV|Km7oqE)Ww9qLc?5<>^l*x7>1RbRD690vQ)f)QlPz#LW{c ztQe6L{uyLI>p(`r2(!dQX{gae6Bwc3&m)h3fss2&jWCfXN=dU38aX5tfLnU=!;d2y zeZcoKCjO(s5Fv!n6W)4X+BX${V-)z{{}g_B;)^%_c;u5;etG8pY|cREpNBqr>8Gdu z6B90K9zaIMxZuJB1XRyKC!Jt}r$2Pik&zNf5ipTD8bq1OD;k00&pYo}Fp)EqBt^w8 zySU$^2RY3_qB0bjaR?e{_{kBJ;(|EDAtN=o$34v94tMl|7-~?%HU6FHU{VTrK#U}Cfen0M1SeR*3ubVG9sFPjM_9rW zrf`KVd|?bFFvA+&FozV`VGn;8#335Yh;2Zk5}Eh~C;kD79yx(hw2+KsU<3x25P$$G z!T{+lp%_kZf)7^620*OD5P+ZuJ^sO)HT2;zMKBLJ{y_^`2tjd48C6mQA&3(gB_np= z%>sbXjAncy1C^+RMTnCmgDhfIz}QI;j%2`!yr6mzXdw;oQ4s|w;0&9fhy$kS01H^t z0e|7i10JA+JKSLrX>bJS7E=+jpr8S?!9z8wp}NlG0S|bnf)u2XlszrN21IBef+-wD z2V^kL4-<()A=to%q#))FhfzCfdYFtiMgb0<9INl!gl;hy>2XEyrz&wviJp#C_h zLPzQmhBm1T5Y5Omt3ZR;jDZF;AgE0Y(S-