Custom Login Page Customizer | LoginPress - Version 1.4.0

Version Description

2019-11-15

Download this release

Release Info

Developer hiddenpearls
Plugin Icon 128x128 Custom Login Page Customizer | LoginPress
Version 1.4.0
Comparing to
See all releases

Code changes from version 1.3.2 to 1.4.0

classes/class-loginpress-custom-password.php CHANGED
@@ -13,6 +13,7 @@ if ( ! class_exists( 'LoginPresss_Custom_Password' ) ) :
13
  * LoginPress Custom Passwords class
14
  *
15
  * @since 1.0.22
 
16
  */
17
  class LoginPresss_Custom_Password {
18
 
@@ -26,10 +27,12 @@ if ( ! class_exists( 'LoginPresss_Custom_Password' ) ) :
26
 
27
  public function _hooks() {
28
 
29
- add_action( 'register_form', array( $this, 'loginpress_reg_password_fields' ) );
30
- add_filter( 'registration_errors', array( $this, 'loginpress_reg_pass_errors' ), 10, 3 );
31
- add_filter( 'random_password', array( $this, 'loginpress_set_password' ) );
32
- add_action( 'register_new_user', array( $this, 'update_default_password_nag' ) );
 
 
33
  }
34
 
35
  /**
@@ -112,6 +115,21 @@ if ( ! class_exists( 'LoginPresss_Custom_Password' ) ) :
112
  update_user_meta( $user_id, 'default_password_nag', false );
113
  }
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  } // End Of Class.
116
 
117
  endif;
13
  * LoginPress Custom Passwords class
14
  *
15
  * @since 1.0.22
16
+ * @version 1.3.3
17
  */
18
  class LoginPresss_Custom_Password {
19
 
27
 
28
  public function _hooks() {
29
 
30
+ add_action( 'register_form', array( $this, 'loginpress_reg_password_fields' ) );
31
+ add_filter( 'registration_errors', array( $this, 'loginpress_reg_pass_errors' ), 10, 3 );
32
+ add_filter( 'random_password', array( $this, 'loginpress_set_password' ) );
33
+ add_action( 'register_new_user', array( $this, 'update_default_password_nag' ) );
34
+ add_filter( 'wp_new_user_notification_email', array( $this, 'loginpress_new_user_email_notification' ) );
35
+
36
  }
37
 
38
  /**
115
  update_user_meta( $user_id, 'default_password_nag', false );
116
  }
117
 
118
+ /**
119
+ * Filter the new user email notification.
120
+ *
121
+ * @since 1.3.3
122
+ *
123
+ * @param array $email The new user email notification parameters.
124
+ * @return array The new user email notification parameters.
125
+ */
126
+ function loginpress_new_user_email_notification( $email ) {
127
+
128
+ $email['message'] .= "\r\n" . __( 'If you have already set your own password, you may disregard this email and use the password you have already set.', 'loginpress' );
129
+
130
+ return $email;
131
+ }
132
+
133
  } // End Of Class.
134
 
135
  endif;
css/style-login.php CHANGED
@@ -228,6 +228,19 @@ function loginpress_box_shadow( $shadow, $opacity, $default_shadow = 0, $inset =
228
  *{
229
  box-sizing: border-box;
230
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
231
  #login::after{
232
  <?php if ( ( $loginpress_theme_tem == 'default6' || $loginpress_theme_tem == 'default10' ) && ! empty( $loginpress_background_img ) && $loginpress_display_bg ) : ?>
233
  background-image: url(<?php echo $loginpress_background_img; ?>);
@@ -907,6 +920,7 @@ text-shadow: none;
907
  }
908
  .login form{
909
  overflow: visible;
 
910
  }
911
  #loginform .user-pass-fields input{
912
  margin-bottom: 0;
@@ -918,6 +932,9 @@ text-shadow: none;
918
  #login form p.submit{
919
  position: relative;
920
  clear: both;
 
 
 
921
  }
922
  /* LoginPress input field since 1.1.20 */
923
  /* .loginpress-input-wrap{
@@ -1022,408 +1039,7 @@ body.login label[for="authcode"]+input{
1022
  padding-left: 15px;
1023
  }
1024
  </style>
1025
- <?php if ( ( $loginpress_theme_tem == 'default19' ) ) : ?>
1026
- <script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.20.3/TweenMax.min.js"></script>
1027
- <script>
1028
- /*!
1029
- * VERSION: 0.8.6
1030
- * DATE: 2016-07-08
1031
- * UPDATES AND DOCS AT: http://greensock.com
1032
- *
1033
- * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
1034
- * MorphSVGPlugin is a Club GreenSock membership benefit; You must have a valid membership to use
1035
- * this code without violating the terms of use. Visit http://greensock.com/club/ to sign up or get more details.
1036
- * This work is subject to the software agreement that was issued with your membership.
1037
- *
1038
- * @author: Jack Doyle, jack@greensock.com
1039
- */
1040
- var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";var a=Math.PI/180,b=180/Math.PI,c=/[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,d=/(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,e=/[achlmqstvz]/gi,f=/[\+\-]?\d*\.?\d+e[\+\-]?\d+/gi,g=_gsScope._gsDefine.globals.TweenLite,h=function(a){window.console&&console.log(a)},i=function(b,c){var d,e,f,g,h,i,j=Math.ceil(Math.abs(c)/90),k=0,l=[];for(b*=a,c*=a,d=c/j,e=4/3*Math.sin(d/2)/(1+Math.cos(d/2)),i=0;j>i;i++)f=b+i*d,g=Math.cos(f),h=Math.sin(f),l[k++]=g-e*h,l[k++]=h+e*g,f+=d,g=Math.cos(f),h=Math.sin(f),l[k++]=g+e*h,l[k++]=h-e*g,l[k++]=g,l[k++]=h;return l},j=function(c,d,e,f,g,h,j,k,l){if(c!==k||d!==l){e=Math.abs(e),f=Math.abs(f);var m=g%360*a,n=Math.cos(m),o=Math.sin(m),p=(c-k)/2,q=(d-l)/2,r=n*p+o*q,s=-o*p+n*q,t=e*e,u=f*f,v=r*r,w=s*s,x=v/t+w/u;x>1&&(e=Math.sqrt(x)*e,f=Math.sqrt(x)*f,t=e*e,u=f*f);var y=h===j?-1:1,z=(t*u-t*w-u*v)/(t*w+u*v);0>z&&(z=0);var A=y*Math.sqrt(z),B=A*(e*s/f),C=A*-(f*r/e),D=(c+k)/2,E=(d+l)/2,F=D+(n*B-o*C),G=E+(o*B+n*C),H=(r-B)/e,I=(s-C)/f,J=(-r-B)/e,K=(-s-C)/f,L=Math.sqrt(H*H+I*I),M=H;y=0>I?-1:1;var N=y*Math.acos(M/L)*b;L=Math.sqrt((H*H+I*I)*(J*J+K*K)),M=H*J+I*K,y=0>H*K-I*J?-1:1;var O=y*Math.acos(M/L)*b;!j&&O>0?O-=360:j&&0>O&&(O+=360),O%=360,N%=360;var P,Q,R,S=i(N,O),T=n*e,U=o*e,V=o*-f,W=n*f,X=S.length-2;for(P=0;X>P;P+=2)Q=S[P],R=S[P+1],S[P]=Q*T+R*V+F,S[P+1]=Q*U+R*W+G;return S[S.length-2]=k,S[S.length-1]=l,S}},k=function(a){var b,d,e,g,i,k,l,m,n,o,p,q,r,s=(a+"").replace(f,function(a){var b=+a;return 1e-4>b&&b>-1e-4?0:b}).match(c)||[],t=[],u=0,v=0,w=s.length,x=2,y=0;if(!a||!isNaN(s[0])||isNaN(s[1]))return h("ERROR: malformed path data: "+a),t;for(b=0;w>b;b++)if(r=i,isNaN(s[b])?(i=s[b].toUpperCase(),k=i!==s[b]):b--,e=+s[b+1],g=+s[b+2],k&&(e+=u,g+=v),0===b&&(m=e,n=g),"M"===i)l&&l.length<8&&(t.length-=1,x=0),u=m=e,v=n=g,l=[e,g],y+=x,x=2,t.push(l),b+=2,i="L";else if("C"===i)l||(l=[0,0]),l[x++]=e,l[x++]=g,k||(u=v=0),l[x++]=u+1*s[b+3],l[x++]=v+1*s[b+4],l[x++]=u+=1*s[b+5],l[x++]=v+=1*s[b+6],b+=6;else if("S"===i)"C"===r||"S"===r?(o=u-l[x-4],p=v-l[x-3],l[x++]=u+o,l[x++]=v+p):(l[x++]=u,l[x++]=v),l[x++]=e,l[x++]=g,k||(u=v=0),l[x++]=u+=1*s[b+3],l[x++]=v+=1*s[b+4],b+=4;else if("Q"===i)o=e-u,p=g-v,l[x++]=u+2*o/3,l[x++]=v+2*p/3,k||(u=v=0),u+=1*s[b+3],v+=1*s[b+4],o=e-u,p=g-v,l[x++]=u+2*o/3,l[x++]=v+2*p/3,l[x++]=u,l[x++]=v,b+=4;else if("T"===i)o=u-l[x-4],p=v-l[x-3],l[x++]=u+o,l[x++]=v+p,o=u+1.5*o-e,p=v+1.5*p-g,l[x++]=e+2*o/3,l[x++]=g+2*p/3,l[x++]=u=e,l[x++]=v=g,b+=2;else if("H"===i)g=v,l[x++]=u+(e-u)/3,l[x++]=v+(g-v)/3,l[x++]=u+2*(e-u)/3,l[x++]=v+2*(g-v)/3,l[x++]=u=e,l[x++]=g,b+=1;else if("V"===i)g=e,e=u,k&&(g+=v-u),l[x++]=e,l[x++]=v+(g-v)/3,l[x++]=e,l[x++]=v+2*(g-v)/3,l[x++]=e,l[x++]=v=g,b+=1;else if("L"===i||"Z"===i)"Z"===i&&(e=m,g=n,l.closed=!0),("L"===i||Math.abs(u-e)>.5||Math.abs(v-g)>.5)&&(l[x++]=u+(e-u)/3,l[x++]=v+(g-v)/3,l[x++]=u+2*(e-u)/3,l[x++]=v+2*(g-v)/3,l[x++]=e,l[x++]=g,"L"===i&&(b+=2)),u=e,v=g;else if("A"===i){for(q=j(u,v,1*s[b+1],1*s[b+2],1*s[b+3],1*s[b+4],1*s[b+5],(k?u:0)+1*s[b+6],(k?v:0)+1*s[b+7]),d=0;d<q.length;d++)l[x++]=q[d];u=l[x-2],v=l[x-1],b+=7}else h("Error: malformed path data: "+a);return t.totalPoints=y+x,t},l=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q=0,r=.999999,s=a.length,t=b/((s-2)/6);for(o=2;s>o;o+=6)for(q+=t;q>r;)c=a[o-2],d=a[o-1],e=a[o],f=a[o+1],g=a[o+2],h=a[o+3],i=a[o+4],j=a[o+5],p=1/(Math.floor(q)+1),k=c+(e-c)*p,m=e+(g-e)*p,k+=(m-k)*p,m+=(g+(i-g)*p-m)*p,l=d+(f-d)*p,n=f+(h-f)*p,l+=(n-l)*p,n+=(h+(j-h)*p-n)*p,a.splice(o,4,c+(e-c)*p,d+(f-d)*p,k,l,k+(m-k)*p,l+(n-l)*p,m,n,g+(i-g)*p,h+(j-h)*p),o+=6,s+=6,q--;return a},m=function(a){var b,c,d,e,f="",g=a.length,h=100;for(c=0;g>c;c++){for(e=a[c],f+="M"+e[0]+","+e[1]+" C",b=e.length,d=2;b>d;d++)f+=(e[d++]*h|0)/h+","+(e[d++]*h|0)/h+" "+(e[d++]*h|0)/h+","+(e[d++]*h|0)/h+" "+(e[d++]*h|0)/h+","+(e[d]*h|0)/h+" ";e.closed&&(f+="z")}return f},n=function(a){for(var b=[],c=a.length-1,d=0;--c>-1;)b[d++]=a[c],b[d++]=a[c+1],c--;for(c=0;d>c;c++)a[c]=b[c];a.reversed=a.reversed?!1:!0},o=function(a){var b,c=a.length,d=0,e=0;for(b=0;c>b;b++)d+=a[b++],e+=a[b];return[d/(c/2),e/(c/2)]},p=function(a){var b,c,d,e=a.length,f=a[0],g=f,h=a[1],i=h;for(d=6;e>d;d+=6)b=a[d],c=a[d+1],b>f?f=b:g>b&&(g=b),c>h?h=c:i>c&&(i=c);return a.centerX=(f+g)/2,a.centerY=(h+i)/2,a.size=(f-g)*(h-i)},q=function(a){for(var b,c,d,e,f,g=a.length,h=a[0][0],i=h,j=a[0][1],k=j;--g>-1;)for(f=a[g],b=f.length,e=6;b>e;e+=6)c=f[e],d=f[e+1],c>h?h=c:i>c&&(i=c),d>j?j=d:k>d&&(k=d);return a.centerX=(h+i)/2,a.centerY=(j+k)/2,a.size=(h-i)*(j-k)},r=function(a,b){return b.length-a.length},s=function(a,b){var c=a.size||p(a),d=b.size||p(b);return Math.abs(d-c)<(c+d)/20?b.centerX-a.centerX||b.centerY-a.centerY:d-c},t=function(a,b){var c,d,e=a.slice(0),f=a.length,g=f-2;for(b=0|b,c=0;f>c;c++)d=(c+b)%g,a[c++]=e[d],a[c]=e[d+1]},u=function(a,b,c,d,e){var f,g,h,i,j=a.length,k=0,l=j-2;for(c*=6,g=0;j>g;g+=6)f=(g+c)%l,i=a[f]-(b[g]-d),h=a[f+1]-(b[g+1]-e),k+=Math.sqrt(h*h+i*i);return k},v=function(a,b,c){var d,e,f,g=a.length,h=o(a),i=o(b),j=i[0]-h[0],k=i[1]-h[1],l=u(a,b,0,j,k),m=0;for(f=6;g>f;f+=6)e=u(a,b,f/6,j,k),l>e&&(l=e,m=f);if(c)for(d=a.slice(0),n(d),f=6;g>f;f+=6)e=u(d,b,f/6,j,k),l>e&&(l=e,m=-f);return m/6},w=function(a,b,c){for(var d,e,f,g,h,i,j=a.length,k=99999999999,l=0,m=0;--j>-1;)for(d=a[j],i=d.length,h=0;i>h;h+=6)e=d[h]-b,f=d[h+1]-c,g=Math.sqrt(e*e+f*f),k>g&&(k=g,l=d[h],m=d[h+1]);return[l,m]},x=function(a,b,c,d,e,f){var g,h,i,j,k,l=b.length,m=0,n=Math.min(a.size||p(a),b[c].size||p(b[c]))*d,o=999999999999,q=a.centerX+e,r=a.centerY+f;for(h=c;l>h&&(g=b[h].size||p(b[h]),!(n>g));h++)i=b[h].centerX-q,j=b[h].centerY-r,k=Math.sqrt(i*i+j*j),o>k&&(m=h,o=k);return k=b[m],b.splice(m,1),k},y=function(a,b,c,d){var e,f,g,i,j,k,m,o=b.length-a.length,u=o>0?b:a,y=o>0?a:b,z=0,A="complexity"===d?r:s,B="position"===d?0:"number"==typeof d?d:.8,C=y.length,D="object"==typeof c&&c.push?c.slice(0):[c],E="reverse"===D[0]||D[0]<0,F="log"===c;if(y[0]){if(u.length>1&&(a.sort(A),b.sort(A),k=u.size||q(u),k=y.size||q(y),k=u.centerX-y.centerX,m=u.centerY-y.centerY,A===s))for(C=0;C<y.length;C++)u.splice(C,0,x(y[C],u,C,B,k,m));if(o)for(0>o&&(o=-o),u[0].length>y[0].length&&l(y[0],(u[0].length-y[0].length)/6|0),C=y.length;o>z;)i=u[C].size||p(u[C]),g=w(y,u[C].centerX,u[C].centerY),i=g[0],j=g[1],y[C++]=[i,j,i,j,i,j,i,j],y.totalPoints+=8,z++;for(C=0;C<a.length;C++)e=b[C],f=a[C],o=e.length-f.length,0>o?l(e,-o/6|0):o>0&&l(f,o/6|0),E&&!f.reversed&&n(f),c=D[C]||0===D[C]?D[C]:"auto",c&&(f.closed||Math.abs(f[0]-f[f.length-2])<.5&&Math.abs(f[1]-f[f.length-1])<.5?"auto"===c||"log"===c?(D[C]=c=v(f,e,0===C),0>c&&(E=!0,n(f),c=-c),t(f,6*c)):"reverse"!==c&&(C&&0>c&&n(f),t(f,6*(0>c?-c:c))):!E&&("auto"===c&&Math.abs(e[0]-f[0])+Math.abs(e[1]-f[1])+Math.abs(e[e.length-2]-f[f.length-2])+Math.abs(e[e.length-1]-f[f.length-1])>Math.abs(e[0]-f[f.length-2])+Math.abs(e[1]-f[f.length-1])+Math.abs(e[e.length-2]-f[0])+Math.abs(e[e.length-1]-f[1])||c%2)?(n(f),D[C]=-1,E=!0):"auto"===c?D[C]=0:"reverse"===c&&(D[C]=-1),f.closed!==e.closed&&(f.closed=e.closed=!1));return F&&h("shapeIndex:["+D.join(",")+"]"),D}},z=function(a,b,c,d){var e=k(a[0]),f=k(a[1]);y(e,f,b||0===b?b:"auto",c)&&(a[0]=m(e),a[1]=m(f),("log"===d||d===!0)&&h('precompile:["'+a[0]+'","'+a[1]+'"]'))},A=function(a,b,c){return b||c||a||0===a?function(d){z(d,a,b,c)}:z},B=function(a,b){if(!b)return a;var c,e,f,g=a.match(d)||[],h=g.length,i="";for("reverse"===b?(e=h-1,c=-2):(e=(2*(parseInt(b,10)||0)+1+100*h)%h,c=2),f=0;h>f;f+=2)i+=g[e-1]+","+g[e]+" ",e=(e+c)%h;return i},C=function(a,b){var c,d,e,f,g,h,i,j=0,k=parseFloat(a[0]),l=parseFloat(a[1]),m=k+","+l+" ",n=.999999;for(e=a.length,c=.5*b/(.5*e-1),d=0;e-2>d;d+=2){if(j+=c,h=parseFloat(a[d+2]),i=parseFloat(a[d+3]),j>n)for(g=1/(Math.floor(j)+1),f=1;j>n;)m+=(k+(h-k)*g*f).toFixed(2)+","+(l+(i-l)*g*f).toFixed(2)+" ",j--,f++;m+=h+","+i+" ",k=h,l=i}return m},D=function(a){var b=a[0].match(d)||[],c=a[1].match(d)||[],e=c.length-b.length;e>0?a[0]=C(b,e):a[1]=C(c,-e)},E=function(a){return isNaN(a)?D:function(b){D(b),b[1]=B(b[1],parseInt(a,10))}},F=function(a,b){var c=document.createElementNS("http://www.w3.org/2000/svg","path"),d=Array.prototype.slice.call(a.attributes),e=d.length;for(b=","+b+",";--e>-1;)-1===b.indexOf(","+d[e].nodeName+",")&&c.setAttributeNS(null,d[e].nodeName,d[e].nodeValue);return c},G=function(a,b){var c,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=a.tagName.toLowerCase(),z=.552284749831;return"path"!==y&&a.getBBox?(i=F(a,"x,y,width,height,cx,cy,rx,ry,r,x1,x2,y1,y2,points"),"rect"===y?(g=+a.getAttribute("rx")||0,h=+a.getAttribute("ry")||0,e=+a.getAttribute("x")||0,f=+a.getAttribute("y")||0,m=(+a.getAttribute("width")||0)-2*g,n=(+a.getAttribute("height")||0)-2*h,g||h?(o=e+g*(1-z),p=e+g,q=p+m,r=q+g*z,s=q+g,t=f+h*(1-z),u=f+h,v=u+n,w=v+h*z,x=v+h,c="M"+s+","+u+" V"+v+" C"+[s,w,r,x,q,x,q-(q-p)/3,x,p+(q-p)/3,x,p,x,o,x,e,w,e,v,e,v-(v-u)/3,e,u+(v-u)/3,e,u,e,t,o,f,p,f,p+(q-p)/3,f,q-(q-p)/3,f,q,f,r,f,s,t,s,u].join(",")+"z"):c="M"+(e+m)+","+f+" v"+n+" h"+-m+" v"+-n+" h"+m+"z"):"circle"===y||"ellipse"===y?("circle"===y?(g=h=+a.getAttribute("r")||0,k=g*z):(g=+a.getAttribute("rx")||0,h=+a.getAttribute("ry")||0,k=h*z),e=+a.getAttribute("cx")||0,f=+a.getAttribute("cy")||0,j=g*z,c="M"+(e+g)+","+f+" C"+[e+g,f+k,e+j,f+h,e,f+h,e-j,f+h,e-g,f+k,e-g,f,e-g,f-k,e-j,f-h,e,f-h,e+j,f-h,e+g,f-k,e+g,f].join(",")+"z"):"line"===y?c="M"+a.getAttribute("x1")+","+a.getAttribute("y1")+" L"+a.getAttribute("x2")+","+a.getAttribute("y2"):("polyline"===y||"polygon"===y)&&(l=(a.getAttribute("points")+"").match(d)||[],e=l.shift(),f=l.shift(),c="M"+e+","+f+" L"+l.join(","),"polygon"===y&&(c+=","+e+","+f+"z")),i.setAttribute("d",c),b&&a.parentNode&&(a.parentNode.insertBefore(i,a),a.parentNode.removeChild(a)),i):a},H=function(a,b,c){var e,f,i="string"==typeof a;return(!i||(a.match(d)||[]).length<3)&&(e=i?g.selector(a):a&&a[0]?a:[a],e&&e[0]?(e=e[0],f=e.nodeName.toUpperCase(),b&&"PATH"!==f&&(e=G(e,!1),f="PATH"),a=e.getAttribute("PATH"===f?"d":"points")||"",e===c&&(a=e.getAttributeNS(null,"data-original")||a)):(h("WARNING: invalid morph to: "+a),a=!1)),a},I="Use MorphSVGPlugin.convertToPath(elementOrSelectorText) to convert to a path before morphing.",J=_gsScope._gsDefine.plugin({propName:"morphSVG",API:2,global:!0,version:"0.8.6",init:function(a,b,c,d){var f,g,i,j,k;return"function"!=typeof a.setAttribute?!1:("function"==typeof b&&(b=b(d,a)),f=a.nodeName.toUpperCase(),k="POLYLINE"===f||"POLYGON"===f,"PATH"===f||k?(g="PATH"===f?"d":"points",("string"==typeof b||b.getBBox||b[0])&&(b={shape:b}),j=H(b.shape||b.d||b.points||"","d"===g,a),k&&e.test(j)?(h("WARNING: a <"+f+"> cannot accept path data. "+I),!1):(j&&(this._target=a,a.getAttributeNS(null,"data-original")||a.setAttributeNS(null,"data-original",a.getAttribute(g)),i=this._addTween(a,"setAttribute",a.getAttribute(g)+"",j+"","morphSVG",!1,g,"object"==typeof b.precompile?function(a){a[0]=b.precompile[0],a[1]=b.precompile[1]}:"d"===g?A(b.shapeIndex,b.map||J.defaultMap,b.precompile):E(b.shapeIndex)),i&&(this._overwriteProps.push("morphSVG"),i.end=j,i.endProp=g)),!0)):(h("WARNING: cannot morph a <"+f+"> SVG element. "+I),!1))},set:function(a){var b;if(this._super.setRatio.call(this,a),1===a)for(b=this._firstPT;b;)b.end&&this._target.setAttribute(b.endProp,b.end),b=b._next}});J.pathFilter=z,J.pointsFilter=D,J.subdivideRawBezier=l,J.defaultMap="size",J.pathDataToRawBezier=function(a){return k(H(a,!0))},J.equalizeSegmentQuantity=y,J.convertToPath=function(a,b){"string"==typeof a&&(a=g.selector(a));for(var c=a&&0!==a.length?a.length&&a[0]&&a[0].nodeType?Array.prototype.slice.call(a,0):[a]:[],d=c.length;--d>-1;)c[d]=G(c[d],b!==!1);return c},J.pathDataToBezier=function(a,b){var c,d,e,f,h,i,j,l,m=k(H(a,!0))[0]||[],n=0;if(b=b||{},l=b.align||b.relative,f=b.matrix||[1,0,0,1,0,0],h=b.offsetX||0,i=b.offsetY||0,"relative"===l||l===!0?(h-=m[0]*f[0]+m[1]*f[2],i-=m[0]*f[1]+m[1]*f[3],n="+="):(h+=f[4],i+=f[5],l&&(l="string"==typeof l?g.selector(l):l&&l[0]?l:[l],l&&l[0]&&(j=l[0].getBBox()||{x:0,y:0},h-=j.x,i-=j.y))),c=[],e=m.length,f)for(d=0;e>d;d+=2)c.push({x:n+(m[d]*f[0]+m[d+1]*f[2]+h),y:n+(m[d]*f[1]+m[d+1]*f[3]+i)});else for(d=0;e>d;d+=2)c.push({x:n+(m[d]+h),y:n+(m[d+1]+i)});return c}}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(a){"use strict";var b=function(){return(_gsScope.GreenSockGlobals||_gsScope)[a]};"function"==typeof define&&define.amd?define(["TweenLite"],b):"undefined"!=typeof module&&module.exports&&(require("../TweenLite.js"),module.exports=b())}("MorphSVGPlugin");
1041
- </script>
1042
- <script>
1043
- document.addEventListener( 'DOMContentLoaded', function(){
1044
- document.querySelector('#login h1 a').innerHTML = '<div class="loginpress_svgContainer"> <div> <svg class="loginpress_mySVG" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 200 200"> <defs> <circle id="loginpress_armMaskPath" cx="100" cy="100" r="100"/> </defs> <clipPath id="loginpress_armMask"> <use xlink:href="#loginpress_armMaskPath" overflow="visible"/> </clipPath> <circle cx="100" cy="100" r="100" fill="#a9ddf3"/> <g class="loginpress_body"> <path class="loginpress_bodyBGchanged" style="display: none;" fill="#FFFFFF" d="M200,122h-35h-14.9V72c0-27.6-22.4-50-50-50s-50,22.4-50,50v50H35.8H0l0,91h200L200,122z"/> <path class="loginpress_bodyBGnormal" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoinn="round" fill="#FFFFFF" d="M200,158.5c0-20.2-14.8-36.5-35-36.5h-14.9V72.8c0-27.4-21.7-50.4-49.1-50.8c-28-0.5-50.9,22.1-50.9,50v50 H35.8C16,122,0,138,0,157.8L0,213h200L200,158.5z"/> <path fill="#DDF1FA" d="M100,156.4c-22.9,0-43,11.1-54.1,27.7c15.6,10,34.2,15.9,54.1,15.9s38.5-5.8,54.1-15.9 C143,167.5,122.9,156.4,100,156.4z"/> </g> <g class="loginpress_earL"> <g class="loginpress_outerEar" fill="#ddf1fa" stroke="#3a5e77" stroke-width="2.5"> <circle cx="47" cy="83" r="11.5"/> <path d="M46.3 78.9c-2.3 0-4.1 1.9-4.1 4.1 0 2.3 1.9 4.1 4.1 4.1" stroke-linecap="round" stroke-linejoin="round"/> </g> <g class="loginpress_earHair"> <rect x="51" y="64" fill="#FFFFFF" width="15" height="35"/> <path d="M53.4 62.8C48.5 67.4 45 72.2 42.8 77c3.4-.1 6.8-.1 10.1.1-4 3.7-6.8 7.6-8.2 11.6 2.1 0 4.2 0 6.3.2-2.6 4.1-3.8 8.3-3.7 12.5 1.2-.7 3.4-1.4 5.2-1.9" fill="#fff" stroke="#3a5e77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/> </g> </g> <g class="loginpress_earR"> <g class="loginpress_outerEar"> <circle fill="#DDF1FA" stroke="#3A5E77" stroke-width="2.5" cx="153" cy="83" r="11.5"/> <path fill="#DDF1FA" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M153.7,78.9 c2.3,0,4.1,1.9,4.1,4.1c0,2.3-1.9,4.1-4.1,4.1"/> </g> <g class="loginpress_earHair"> <rect x="134" y="64" fill="#FFFFFF" width="15" height="35"/> <path fill="#FFFFFF" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M146.6,62.8 c4.9,4.6,8.4,9.4,10.6,14.2c-3.4-0.1-6.8-0.1-10.1,0.1c4,3.7,6.8,7.6,8.2,11.6c-2.1,0-4.2,0-6.3,0.2c2.6,4.1,3.8,8.3,3.7,12.5 c-1.2-0.7-3.4-1.4-5.2-1.9"/> </g> </g> <path class="loginpress_chin" d="M84.1 121.6c2.7 2.9 6.1 5.4 9.8 7.5l.9-4.5c2.9 2.5 6.3 4.8 10.2 6.5 0-1.9-.1-3.9-.2-5.8 3 1.2 6.2 2 9.7 2.5-.3-2.1-.7-4.1-1.2-6.1" fill="none" stroke="#3a5e77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/> <path class="loginpress_face" fill="#DDF1FA" d="M134.5,46v35.5c0,21.815-15.446,39.5-34.5,39.5s-34.5-17.685-34.5-39.5V46"/> <path class="loginpress_hair" fill="#FFFFFF" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M81.457,27.929 c1.755-4.084,5.51-8.262,11.253-11.77c0.979,2.565,1.883,5.14,2.712,7.723c3.162-4.265,8.626-8.27,16.272-11.235 c-0.737,3.293-1.588,6.573-2.554,9.837c4.857-2.116,11.049-3.64,18.428-4.156c-2.403,3.23-5.021,6.391-7.852,9.474"/> <g class="loginpress_eyebrow"> <path fill="#FFFFFF" d="M138.142,55.064c-4.93,1.259-9.874,2.118-14.787,2.599c-0.336,3.341-0.776,6.689-1.322,10.037 c-4.569-1.465-8.909-3.222-12.996-5.226c-0.98,3.075-2.07,6.137-3.267,9.179c-5.514-3.067-10.559-6.545-15.097-10.329 c-1.806,2.889-3.745,5.73-5.816,8.515c-7.916-4.124-15.053-9.114-21.296-14.738l1.107-11.768h73.475V55.064z"/> <path fill="#FFFFFF" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M63.56,55.102 c6.243,5.624,13.38,10.614,21.296,14.738c2.071-2.785,4.01-5.626,5.816-8.515c4.537,3.785,9.583,7.263,15.097,10.329 c1.197-3.043,2.287-6.104,3.267-9.179c4.087,2.004,8.427,3.761,12.996,5.226c0.545-3.348,0.986-6.696,1.322-10.037 c4.913-0.481,9.857-1.34,14.787-2.599"/> </g> <g class="loginpress_eyeL"> <circle cx="85.5" cy="78.5" r="3.5" fill="#3a5e77"/> <circle cx="84" cy="76" r="1" fill="#fff"/> </g> <g class="loginpress_eyeR"> <circle cx="114.5" cy="78.5" r="3.5" fill="#3a5e77"/> <circle cx="113" cy="76" r="1" fill="#fff"/> </g> <g class="loginpress_mouth"> <path class="loginpress_mouthBG" fill="#617E92" d="M100.2,101c-0.4,0-1.4,0-1.8,0c-2.7-0.3-5.3-1.1-8-2.5c-0.7-0.3-0.9-1.2-0.6-1.8 c0.2-0.5,0.7-0.7,1.2-0.7c0.2,0,0.5,0.1,0.6,0.2c3,1.5,5.8,2.3,8.6,2.3s5.7-0.7,8.6-2.3c0.2-0.1,0.4-0.2,0.6-0.2 c0.5,0,1,0.3,1.2,0.7c0.4,0.7,0.1,1.5-0.6,1.9c-2.6,1.4-5.3,2.2-7.9,2.5C101.7,101,100.5,101,100.2,101z"/> <path style="display: none;" class="loginpress_mouthSmallBG" fill="#617E92" d="M100.2,101c-0.4,0-1.4,0-1.8,0c-2.7-0.3-5.3-1.1-8-2.5c-0.7-0.3-0.9-1.2-0.6-1.8 c0.2-0.5,0.7-0.7,1.2-0.7c0.2,0,0.5,0.1,0.6,0.2c3,1.5,5.8,2.3,8.6,2.3s5.7-0.7,8.6-2.3c0.2-0.1,0.4-0.2,0.6-0.2 c0.5,0,1,0.3,1.2,0.7c0.4,0.7,0.1,1.5-0.6,1.9c-2.6,1.4-5.3,2.2-7.9,2.5C101.7,101,100.5,101,100.2,101z"/> <path style="display: none;" class="loginpress_mouthMediumBG" d="M95,104.2c-4.5,0-8.2-3.7-8.2-8.2v-2c0-1.2,1-2.2,2.2-2.2h22c1.2,0,2.2,1,2.2,2.2v2 c0,4.5-3.7,8.2-8.2,8.2H95z"/> <path style="display: none;" class="loginpress_mouthLargeBG" d="M100 110.2c-9 0-16.2-7.3-16.2-16.2 0-2.3 1.9-4.2 4.2-4.2h24c2.3 0 4.2 1.9 4.2 4.2 0 9-7.2 16.2-16.2 16.2z" fill="#617e92" stroke="#3a5e77" stroke-linejoin="round" stroke-width="2.5"/> <defs> <path id="loginpress_mouthMaskPath" d="M100.2,101c-0.4,0-1.4,0-1.8,0c-2.7-0.3-5.3-1.1-8-2.5c-0.7-0.3-0.9-1.2-0.6-1.8 c0.2-0.5,0.7-0.7,1.2-0.7c0.2,0,0.5,0.1,0.6,0.2c3,1.5,5.8,2.3,8.6,2.3s5.7-0.7,8.6-2.3c0.2-0.1,0.4-0.2,0.6-0.2 c0.5,0,1,0.3,1.2,0.7c0.4,0.7,0.1,1.5-0.6,1.9c-2.6,1.4-5.3,2.2-7.9,2.5C101.7,101,100.5,101,100.2,101z"/> </defs> <clipPath id="loginpress_mouthMask"> <use xlink:href="#loginpress_mouthMaskPath" overflow="visible"/> </clipPath> <g clip-path="url(#loginpress_mouthMask)"> <g class="loginpress_tongue"> <circle cx="100" cy="107" r="8" fill="#cc4a6c"/> <ellipse class="loginpress_tongueHighlight" cx="100" cy="100.5" rx="3" ry="1.5" opacity=".1" fill="#fff"/> </g> </g> <path clip-path="url(#loginpress_mouthMask)" class="loginpress_tooth" style="fill:#FFFFFF;" d="M106,97h-4c-1.1,0-2-0.9-2-2v-2h8v2C108,96.1,107.1,97,106,97z"/> <path class="loginpress_mouthOutline" fill="none" stroke="#3A5E77" stroke-width="2.5" stroke-linejoin="round" d="M100.2,101c-0.4,0-1.4,0-1.8,0c-2.7-0.3-5.3-1.1-8-2.5c-0.7-0.3-0.9-1.2-0.6-1.8 c0.2-0.5,0.7-0.7,1.2-0.7c0.2,0,0.5,0.1,0.6,0.2c3,1.5,5.8,2.3,8.6,2.3s5.7-0.7,8.6-2.3c0.2-0.1,0.4-0.2,0.6-0.2 c0.5,0,1,0.3,1.2,0.7c0.4,0.7,0.1,1.5-0.6,1.9c-2.6,1.4-5.3,2.2-7.9,2.5C101.7,101,100.5,101,100.2,101z"/> </g> <path class="loginpress_nose" d="M97.7 79.9h4.7c1.9 0 3 2.2 1.9 3.7l-2.3 3.3c-.9 1.3-2.9 1.3-3.8 0l-2.3-3.3c-1.3-1.6-.2-3.7 1.8-3.7z" fill="#3a5e77"/> <g class="loginpress_arms" clip-path="url(#loginpress_armMask)"> <g class="loginpress_armL" style="visibility: hidden;"> <polygon fill="#DDF1FA" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points="121.3,98.4 111,59.7 149.8,49.3 169.8,85.4"/> <path fill="#DDF1FA" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M134.4,53.5l19.3-5.2c2.7-0.7,5.4,0.9,6.1,3.5v0c0.7,2.7-0.9,5.4-3.5,6.1l-10.3,2.8"/> <path fill="#DDF1FA" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M150.9,59.4l26-7c2.7-0.7,5.4,0.9,6.1,3.5v0c0.7,2.7-0.9,5.4-3.5,6.1l-21.3,5.7"/> <g class="loginpress_twoFingers"> <path fill="#DDF1FA" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M158.3,67.8l23.1-6.2c2.7-0.7,5.4,0.9,6.1,3.5v0c0.7,2.7-0.9,5.4-3.5,6.1l-23.1,6.2"/> <path fill="#A9DDF3" d="M180.1,65l2.2-0.6c1.1-0.3,2.2,0.3,2.4,1.4v0c0.3,1.1-0.3,2.2-1.4,2.4l-2.2,0.6L180.1,65z"/> <path fill="#DDF1FA" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M160.8,77.5l19.4-5.2c2.7-0.7,5.4,0.9,6.1,3.5v0c0.7,2.7-0.9,5.4-3.5,6.1l-18.3,4.9"/> <path fill="#A9DDF3" d="M178.8,75.7l2.2-0.6c1.1-0.3,2.2,0.3,2.4,1.4v0c0.3,1.1-0.3,2.2-1.4,2.4l-2.2,0.6L178.8,75.7z"/> </g> <path fill="#A9DDF3" d="M175.5,55.9l2.2-0.6c1.1-0.3,2.2,0.3,2.4,1.4v0c0.3,1.1-0.3,2.2-1.4,2.4l-2.2,0.6L175.5,55.9z"/> <path fill="#A9DDF3" d="M152.1,50.4l2.2-0.6c1.1-0.3,2.2,0.3,2.4,1.4v0c0.3,1.1-0.3,2.2-1.4,2.4l-2.2,0.6L152.1,50.4z"/> <path fill="#FFFFFF" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M123.5,97.8 c-41.4,14.9-84.1,30.7-108.2,35.5L1.2,81c33.5-9.9,71.9-16.5,111.9-21.8"/> <path fill="#FFFFFF" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M108.5,60.4 c7.7-5.3,14.3-8.4,22.8-13.2c-2.4,5.3-4.7,10.3-6.7,15.1c4.3,0.3,8.4,0.7,12.3,1.3c-4.2,5-8.1,9.6-11.5,13.9 c3.1,1.1,6,2.4,8.7,3.8c-1.4,2.9-2.7,5.8-3.9,8.5c2.5,3.5,4.6,7.2,6.3,11c-4.9-0.8-9-0.7-16.2-2.7"/> <path fill="#FFFFFF" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M94.5,103.8 c-0.6,4-3.8,8.9-9.4,14.7c-2.6-1.8-5-3.7-7.2-5.7c-2.5,4.1-6.6,8.8-12.2,14c-1.9-2.2-3.4-4.5-4.5-6.9c-4.4,3.3-9.5,6.9-15.4,10.8 c-0.2-3.4,0.1-7.1,1.1-10.9"/> <path fill="#FFFFFF" stroke="#3A5E77" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" d="M97.5,63.9 c-1.7-2.4-5.9-4.1-12.4-5.2c-0.9,2.2-1.8,4.3-2.5,6.5c-3.8-1.8-9.4-3.1-17-3.8c0.5,2.3,1.2,4.5,1.9,6.8c-5-0.6-11.2-0.9-18.4-1 c2,2.9,0.9,3.5,3.9,6.2"/> </g> <g class="loginpress_armR" style="visibility: hidden;"> <path fill="#ddf1fa" stroke="#3a5e77" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2.5" d="M265.4 97.3l10.4-38.6-38.9-10.5-20 36.1z"/> <path fill="#ddf1fa" stroke="#3a5e77" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2.5" d="M252.4 52.4L233 47.2c-2.7-.7-5.4.9-6.1 3.5-.7 2.7.9 5.4 3.5 6.1l10.3 2.8M226 76.4l-19.4-5.2c-2.7-.7-5.4.9-6.1 3.5-.7 2.7.9 5.4 3.5 6.1l18.3 4.9M228.4 66.7l-23.1-6.2c-2.7-.7-5.4.9-6.1 3.5-.7 2.7.9 5.4 3.5 6.1l23.1 6.2M235.8 58.3l-26-7c-2.7-.7-5.4.9-6.1 3.5-.7 2.7.9 5.4 3.5 6.1l21.3 5.7"/> <path fill="#a9ddf3" d="M207.9 74.7l-2.2-.6c-1.1-.3-2.2.3-2.4 1.4-.3 1.1.3 2.2 1.4 2.4l2.2.6 1-3.8zM206.7 64l-2.2-.6c-1.1-.3-2.2.3-2.4 1.4-.3 1.1.3 2.2 1.4 2.4l2.2.6 1-3.8zM211.2 54.8l-2.2-.6c-1.1-.3-2.2.3-2.4 1.4-.3 1.1.3 2.2 1.4 2.4l2.2.6 1-3.8zM234.6 49.4l-2.2-.6c-1.1-.3-2.2.3-2.4 1.4-.3 1.1.3 2.2 1.4 2.4l2.2.6 1-3.8z"/> <path fill="#fff" stroke="#3a5e77" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M263.3 96.7c41.4 14.9 84.1 30.7 108.2 35.5l14-52.3C352 70 313.6 63.5 273.6 58.1"/> <path fill="#fff" stroke="#3a5e77" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M278.2 59.3l-18.6-10 2.5 11.9-10.7 6.5 9.9 8.7-13.9 6.4 9.1 5.9-13.2 9.2 23.1-.9M284.5 100.1c-.4 4 1.8 8.9 6.7 14.8 3.5-1.8 6.7-3.6 9.7-5.5 1.8 4.2 5.1 8.9 10.1 14.1 2.7-2.1 5.1-4.4 7.1-6.8 4.1 3.4 9 7 14.7 11 1.2-3.4 1.8-7 1.7-10.9M314 66.7s5.4-5.7 12.6-7.4c1.7 2.9 3.3 5.7 4.9 8.6 3.8-2.5 9.8-4.4 18.2-5.7.1 3.1.1 6.1 0 9.2 5.5-1 12.5-1.6 20.8-1.9-1.4 3.9-2.5 8.4-2.5 8.4"/> </g> </g> </svg> </div> </div>';
1045
- var emailLabel = document.querySelector('[for="user_login"]'),
1046
- email = document.querySelector('#user_login'),
1047
- passwordLabel = document.querySelector('[for="user_pass"]'),
1048
- check_box = document.createElement("input"),
1049
- check_wrapper = document.createElement("div"),
1050
- check_box_label = document.createElement("label");
1051
- check_box_label.setAttribute('for','loginpress_showPasswordCheck');
1052
- check_box_label.setAttribute('id','loginpress_showPasswordToggle');
1053
- check_wrapper.setAttribute('id','loginpress_showPasswordWrapper');
1054
- check_box_label.innerHTML = "Show Password";
1055
- check_box.setAttribute('type','checkbox');
1056
- check_box.setAttribute('id','loginpress_showPasswordCheck');
1057
- check_box.value = "Show Password";
1058
- passwordLabel.appendChild(check_wrapper);
1059
- document.querySelector('#loginpress_showPasswordWrapper').appendChild(check_box);
1060
- document.querySelector('#loginpress_showPasswordWrapper').appendChild(check_box_label);
1061
- password = document.querySelector('#user_pass'), showPasswordCheck = document.querySelector('#loginpress_showPasswordCheck'), showPasswordToggle = document.querySelector('#loginpress_showPasswordToggle'), mySVG = document.querySelector('.loginpress_svgContainer'), twoFingers = document.querySelector('.loginpress_twoFingers'), armL = document.querySelector('.loginpress_armL'), armR = document.querySelector('.loginpress_armR'), eyeL = document.querySelector('.loginpress_eyeL'), eyeR = document.querySelector('.loginpress_eyeR'), nose = document.querySelector('.loginpress_nose'), mouth = document.querySelector('.loginpress_mouth'), mouthBG = document.querySelector('.loginpress_mouthBG'), mouthSmallBG = document.querySelector('.loginpress_mouthSmallBG'), mouthMediumBG = document.querySelector('.loginpress_mouthMediumBG'), mouthLargeBG = document.querySelector('.loginpress_mouthLargeBG'), mouthMaskPath = document.querySelector('#loginpress_mouthMaskPath'), mouthOutline = document.querySelector('.loginpress_mouthOutline'), tooth = document.querySelector('.loginpress_tooth'), tongue = document.querySelector('.loginpress_tongue'), chin = document.querySelector('.loginpress_chin'), face = document.querySelector('.loginpress_face'), eyebrow = document.querySelector('.loginpress_eyebrow'), outerEarL = document.querySelector('.loginpress_earL .loginpress_outerEar'), outerEarR = document.querySelector('.loginpress_earR .loginpress_outerEar'), earHairL = document.querySelector('.loginpress_earL .loginpress_earHair'), earHairR = document.querySelector('.loginpress_earR .loginpress_earHair'), hair = document.querySelector('.loginpress_hair'), bodyBG = document.querySelector('.loginpress_bodyBGnormal'), bodyBGchanged = document.querySelector('.loginpress_bodyBGchanged');
1062
- var activeElement, curEmailIndex, screenCenter, svgCoords, emailCoords, emailScrollMax, chinMin = .5, dFromC, mouthStatus = "small", blinking, eyeScale = 1, eyesCovered = false, showPasswordClicked = false;
1063
- var eyeLCoords, eyeRCoords, noseCoords, mouthCoords, eyeLAngle, eyeLX, eyeLY, eyeRAngle, eyeRX, eyeRY, noseAngle, noseX, noseY, mouthAngle, mouthX, mouthY, mouthR, chinX, chinY, chinS, faceX, faceY, faceSkew, eyebrowSkew, outerEarX, outerEarY, hairX, hairS;
1064
- function calculateFaceMoveLoginPress(e) {
1065
- var
1066
- carPos = email.selectionEnd,
1067
- div = document.createElement('div'),
1068
- span = document.createElement('span'),
1069
- copyStyle = getComputedStyle(email),
1070
- caretCoords = {}
1071
- ;
1072
- if(carPos == null || carPos == 0) {
1073
- // if browser doesn't support 'selectionEnd' property on input[type="email"], use 'value.length' property instead
1074
- carPos = email.value.length;
1075
- }
1076
- [].forEach.call(copyStyle, function(prop){
1077
- div.style[prop] = copyStyle[prop];
1078
- });
1079
- div.style.position = 'absolute';
1080
- document.body.appendChild(div);
1081
- div.textContent = email.value.substr(0, carPos);
1082
- span.textContent = email.value.substr(carPos) || '.';
1083
- div.appendChild(span);
1084
-
1085
- if(email.scrollWidth <= emailScrollMax) {
1086
- caretCoords = getPositionLoginPress(span);
1087
- dFromC = screenCenter - (caretCoords.x + emailCoords.x);
1088
- eyeLAngle = getAngleLoginPress(eyeLCoords.x, eyeLCoords.y, emailCoords.x + caretCoords.x, emailCoords.y + 25);
1089
- eyeRAngle = getAngleLoginPress(eyeRCoords.x, eyeRCoords.y, emailCoords.x + caretCoords.x, emailCoords.y + 25);
1090
- noseAngle = getAngleLoginPress(noseCoords.x, noseCoords.y, emailCoords.x + caretCoords.x, emailCoords.y + 25);
1091
- mouthAngle = getAngleLoginPress(mouthCoords.x, mouthCoords.y, emailCoords.x + caretCoords.x, emailCoords.y + 25);
1092
- } else {
1093
- eyeLAngle = getAngleLoginPress(eyeLCoords.x, eyeLCoords.y, emailCoords.x + emailScrollMax, emailCoords.y + 25);
1094
- eyeRAngle = getAngleLoginPress(eyeRCoords.x, eyeRCoords.y, emailCoords.x + emailScrollMax, emailCoords.y + 25);
1095
- noseAngle = getAngleLoginPress(noseCoords.x, noseCoords.y, emailCoords.x + emailScrollMax, emailCoords.y + 25);
1096
- mouthAngle = getAngleLoginPress(mouthCoords.x, mouthCoords.y, emailCoords.x + emailScrollMax, emailCoords.y + 25);
1097
- }
1098
-
1099
- eyeLX = Math.cos(eyeLAngle) * 20;
1100
- eyeLY = Math.sin(eyeLAngle) * 10;
1101
- eyeRX = Math.cos(eyeRAngle) * 20;
1102
- eyeRY = Math.sin(eyeRAngle) * 10;
1103
- noseX = Math.cos(noseAngle) * 23;
1104
- noseY = Math.sin(noseAngle) * 10;
1105
- mouthX = Math.cos(mouthAngle) * 23;
1106
- mouthY = Math.sin(mouthAngle) * 10;
1107
- mouthR = Math.cos(mouthAngle) * 6;
1108
- chinX = mouthX * .8;
1109
- chinY = mouthY * .5;
1110
- chinS = 1 - ((dFromC * .15) / 100);
1111
- if(chinS > 1) {
1112
- chinS = 1 - (chinS - 1);
1113
- if(chinS < chinMin) {
1114
- chinS = chinMin;
1115
- }
1116
- }
1117
- faceX = mouthX * .3;
1118
- faceY = mouthY * .4;
1119
- faceSkew = Math.cos(mouthAngle) * 5;
1120
- eyebrowSkew = Math.cos(mouthAngle) * 25;
1121
- outerEarX = Math.cos(mouthAngle) * 4;
1122
- outerEarY = Math.cos(mouthAngle) * 5;
1123
- hairX = Math.cos(mouthAngle) * 6;
1124
- hairS = 1.2;
1125
-
1126
- TweenMax.to(eyeL, 1, {x: -eyeLX , y: -eyeLY, ease: Expo.easeOut});
1127
- TweenMax.to(eyeR, 1, {x: -eyeRX , y: -eyeRY, ease: Expo.easeOut});
1128
- TweenMax.to(nose, 1, {x: -noseX, y: -noseY, rotation: mouthR, transformOrigin: "center center", ease: Expo.easeOut});
1129
- TweenMax.to(mouth, 1, {x: -mouthX , y: -mouthY, rotation: mouthR, transformOrigin: "center center", ease: Expo.easeOut});
1130
- TweenMax.to(chin, 1, {x: -chinX, y: -chinY, scaleY: chinS, ease: Expo.easeOut});
1131
- TweenMax.to(face, 1, {x: -faceX, y: -faceY, skewX: -faceSkew, transformOrigin: "center top", ease: Expo.easeOut});
1132
- TweenMax.to(eyebrow, 1, {x: -faceX, y: -faceY, skewX: -eyebrowSkew, transformOrigin: "center top", ease: Expo.easeOut});
1133
- TweenMax.to(outerEarL, 1, {x: outerEarX, y: -outerEarY, ease: Expo.easeOut});
1134
- TweenMax.to(outerEarR, 1, {x: outerEarX, y: outerEarY, ease: Expo.easeOut});
1135
- TweenMax.to(earHairL, 1, {x: -outerEarX, y: -outerEarY, ease: Expo.easeOut});
1136
- TweenMax.to(earHairR, 1, {x: -outerEarX, y: outerEarY, ease: Expo.easeOut});
1137
- TweenMax.to(hair, 1, {x: hairX, scaleY: hairS, transformOrigin: "center bottom", ease: Expo.easeOut});
1138
-
1139
- document.body.removeChild(div);
1140
- };
1141
-
1142
- function onLoginPressEmailInput(e) {
1143
- calculateFaceMoveLoginPress(e);
1144
- var value = email.value;
1145
- curEmailIndex = value.length;
1146
-
1147
- // very crude email validation to trigger effects
1148
- if(curEmailIndex > 0) {
1149
- if(mouthStatus == "small") {
1150
- mouthStatus = "medium";
1151
- TweenMax.to([mouthBG, mouthOutline, mouthMaskPath], 1, {morphSVG: mouthMediumBG, shapeIndex: 8, ease: Expo.easeOut});
1152
- TweenMax.to(tooth, 1, {x: 0, y: 0, ease: Expo.easeOut});
1153
- TweenMax.to(tongue, 1, {x: 0, y: 1, ease: Expo.easeOut});
1154
- TweenMax.to([eyeL, eyeR], 1, {scaleX: .85, scaleY: .85, ease: Expo.easeOut});
1155
- eyeScale = .85;
1156
- }
1157
- if(value.includes("@")) {
1158
- mouthStatus = "large";
1159
- TweenMax.to([mouthBG, mouthOutline, mouthMaskPath], 1, {morphSVG: mouthLargeBG, ease: Expo.easeOut});
1160
- TweenMax.to(tooth, 1, {x: 3, y: -2, ease: Expo.easeOut});
1161
- TweenMax.to(tongue, 1, {y: 2, ease: Expo.easeOut});
1162
- TweenMax.to([eyeL, eyeR], 1, {scaleX: .65, scaleY: .65, ease: Expo.easeOut, transformOrigin: "center center"});
1163
- eyeScale = .65;
1164
- } else {
1165
- mouthStatus = "medium";
1166
- TweenMax.to([mouthBG, mouthOutline, mouthMaskPath], 1, {morphSVG: mouthMediumBG, ease: Expo.easeOut});
1167
- TweenMax.to(tooth, 1, {x: 0, y: 0, ease: Expo.easeOut});
1168
- TweenMax.to(tongue, 1, {x: 0, y: 1, ease: Expo.easeOut});
1169
- TweenMax.to([eyeL, eyeR], 1, {scaleX: .85, scaleY: .85, ease: Expo.easeOut});
1170
- eyeScale = .85;
1171
- }
1172
- } else {
1173
- mouthStatus = "small";
1174
- TweenMax.to([mouthBG, mouthOutline, mouthMaskPath], 1, {morphSVG: mouthSmallBG, shapeIndex: 9, ease: Expo.easeOut});
1175
- TweenMax.to(tooth, 1, {x: 0, y: 0, ease: Expo.easeOut});
1176
- TweenMax.to(tongue, 1, {y: 0, ease: Expo.easeOut});
1177
- TweenMax.to([eyeL, eyeR], 1, {scaleX: 1, scaleY: 1, ease: Expo.easeOut});
1178
- eyeScale = 1;
1179
- }
1180
- }
1181
-
1182
- function onLoginPressEmailFocus(e) {
1183
- activeElement = "email";
1184
- e.target.parentElement.classList.add("focusWithText");
1185
- //stopBlinkingLoginPress();
1186
- //calculateFaceMoveLoginPress();
1187
- onLoginPressEmailInput();
1188
- }
1189
-
1190
- function onLoginPressEmailBlur(e) {
1191
- activeElement = null;
1192
- setTimeout(function() {
1193
- if(activeElement == "email") {
1194
- } else {
1195
- if(e.target.value == "") {
1196
- e.target.parentElement.classList.remove("focusWithText");
1197
- }
1198
- //startBlinkingLoginPress();
1199
- resetFaceLoginPress();
1200
- }
1201
- }, 100);
1202
- }
1203
-
1204
- function onLoginPressEmailLabelClick(e) {
1205
- activeElement = "email";
1206
- }
1207
-
1208
- function onLoginPressPasswordFocus(e) {
1209
- activeElement = "password";
1210
- if(!eyesCovered) {
1211
- coverEyesLoginPress();
1212
- }
1213
- }
1214
-
1215
- function onLoginPressPasswordBlur(e) {
1216
- activeElement = null;
1217
- setTimeout(function() {
1218
- if(activeElement == "toggle" || activeElement == "password") {
1219
- } else {
1220
- uncoverEyesLoginPress();
1221
- }
1222
- }, 100);
1223
- }
1224
-
1225
- function onLoginPressPasswordToggleFocus(e) {
1226
- activeElement = "toggle";
1227
- if(!eyesCovered) {
1228
- coverEyesLoginPress();
1229
- }
1230
- }
1231
-
1232
- function onLoginPressPasswordToggleBlur(e) {
1233
- activeElement = null;
1234
- if(!showPasswordClicked) {
1235
- setTimeout(function() {
1236
- if(activeElement == "password" || activeElement == "toggle") {
1237
- } else {
1238
- uncoverEyesLoginPress();
1239
- }
1240
- }, 100);
1241
- }
1242
- }
1243
 
1244
- function onLoginPressPasswordToggleMouseDown(e) {
1245
- showPasswordClicked = true;
1246
- }
1247
-
1248
- function onLoginPressPasswordToggleMouseUp(e) {
1249
- showPasswordClicked = false;
1250
- }
1251
-
1252
- function onLoginPressPasswordToggleChange(e) {
1253
- setTimeout(function() {
1254
- // if checkbox is checked, show password
1255
- if(e.target.checked) {
1256
- password.type = "text";
1257
- spreadFingersLoginPress();
1258
-
1259
- // if checkbox is off, hide password
1260
- } else {
1261
- password.type = "password";
1262
- closeFingersLoginPress();
1263
- }
1264
- }, 100);
1265
- }
1266
-
1267
- function onLoginPressPasswordToggleClick(e) {
1268
- //console.log("click: " + e.target.id);
1269
- e.target.focus();
1270
- }
1271
-
1272
- function spreadFingersLoginPress() {
1273
- TweenMax.to(twoFingers, .35, {transformOrigin: "bottom left", rotation: 30, x: -9, y: -2, ease: Power2.easeInOut});
1274
- }
1275
-
1276
- function closeFingersLoginPress() {
1277
- TweenMax.to(twoFingers, .35, {transformOrigin: "bottom left", rotation: 0, x: 0, y: 0, ease: Power2.easeInOut});
1278
- }
1279
-
1280
- function coverEyesLoginPress() {
1281
- TweenMax.killTweensOf([armL, armR]);
1282
- TweenMax.set([armL, armR], {visibility: "visible"});
1283
- TweenMax.to(armL, .45, {x: -93, y: 10, rotation: 0, ease: Quad.easeOut});
1284
- TweenMax.to(armR, .45, {x: -93, y: 10, rotation: 0, ease: Quad.easeOut, delay: .1});
1285
- TweenMax.to(bodyBG, .45, {morphSVG: bodyBGchanged, ease: Quad.easeOut});
1286
- eyesCovered = true;
1287
- }
1288
-
1289
- function uncoverEyesLoginPress() {
1290
- TweenMax.killTweensOf([armL, armR]);
1291
- TweenMax.to(armL, 1.35, {y: 220, ease: Quad.easeOut});
1292
- TweenMax.to(armL, 1.35, {rotation: 105, ease: Quad.easeOut, delay: .1});
1293
- TweenMax.to(armR, 1.35, {y: 220, ease: Quad.easeOut});
1294
- TweenMax.to(armR, 1.35, {rotation: -105, ease: Quad.easeOut, delay: .1, onComplete: function() {
1295
- TweenMax.set([armL, armR], {visibility: "hidden"});
1296
- }});
1297
- TweenMax.to(bodyBG, .45, {morphSVG: bodyBG, ease: Quad.easeOut});
1298
- eyesCovered = false;
1299
- }
1300
-
1301
- function resetFaceLoginPress() {
1302
- TweenMax.to([eyeL, eyeR], 1, {x: 0, y: 0, ease: Expo.easeOut});
1303
- TweenMax.to(nose, 1, {x: 0, y: 0, scaleX: 1, scaleY: 1, ease: Expo.easeOut});
1304
- TweenMax.to(mouth, 1, {x: 0, y: 0, rotation: 0, ease: Expo.easeOut});
1305
- TweenMax.to(chin, 1, {x: 0, y: 0, scaleY: 1, ease: Expo.easeOut});
1306
- TweenMax.to([face, eyebrow], 1, {x: 0, y: 0, skewX: 0, ease: Expo.easeOut});
1307
- TweenMax.to([outerEarL, outerEarR, earHairL, earHairR, hair], 1, {x: 0, y: 0, scaleY: 1, ease: Expo.easeOut});
1308
- }
1309
-
1310
- function startBlinkingLoginPress(delay) {
1311
- if(delay) {
1312
- delay = getRandomIntLoginPress(delay);
1313
- } else {
1314
- delay = 1;
1315
- }
1316
- blinking = TweenMax.to([eyeL, eyeR], .1, {delay: delay, scaleY: 0, yoyo: true, repeat: 1, transformOrigin: "center center", onComplete: function() {
1317
- startBlinkingLoginPress(12);
1318
- }});
1319
- }
1320
-
1321
- function stopBlinkingLoginPress() {
1322
- blinking.kill();
1323
- blinking = null;
1324
- TweenMax.set([eyeL, eyeR], {scaleY: eyeScale});
1325
- }
1326
-
1327
- function getRandomIntLoginPress(max) {
1328
- return Math.floor(Math.random() * Math.floor(max));
1329
- }
1330
-
1331
- function getAngleLoginPress(x1, y1, x2, y2) {
1332
- var angle = Math.atan2(y1 - y2, x1 - x2);
1333
- return angle;
1334
- }
1335
-
1336
- function getPositionLoginPress(el) {
1337
- var xPos = 0;
1338
- var yPos = 0;
1339
-
1340
- while (el) {
1341
- if (el.tagName == "BODY") {
1342
- // deal with browser quirks with body/window/document and page scroll
1343
- var xScroll = el.scrollLeft || document.documentElement.scrollLeft;
1344
- var yScroll = el.scrollTop || document.documentElement.scrollTop;
1345
-
1346
- xPos += (el.offsetLeft - xScroll + el.clientLeft);
1347
- yPos += (el.offsetTop - yScroll + el.clientTop);
1348
- } else {
1349
- // for all other non-BODY elements
1350
- xPos += (el.offsetLeft - el.scrollLeft + el.clientLeft);
1351
- yPos += (el.offsetTop - el.scrollTop + el.clientTop);
1352
- }
1353
-
1354
- el = el.offsetParent;
1355
- }
1356
- //console.log("xPos: " + xPos + ", yPos: " + yPos);
1357
- return {
1358
- x: xPos,
1359
- y: yPos
1360
- };
1361
- }
1362
-
1363
- function isMobileDeviceLoginPress() {
1364
- var check = false;
1365
- (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
1366
- return check;
1367
- };
1368
-
1369
- function initLoginPressForm() {
1370
- // some measurements for the svg's elements
1371
- svgCoords = getPositionLoginPress(mySVG);
1372
- emailCoords = getPositionLoginPress(email);
1373
- screenCenter = svgCoords.x + (mySVG.offsetWidth / 2);
1374
- eyeLCoords = {x: svgCoords.x + 84, y: svgCoords.y + 76};
1375
- eyeRCoords = {x: svgCoords.x + 113, y: svgCoords.y + 76};
1376
- noseCoords = {x: svgCoords.x + 97, y: svgCoords.y + 81};
1377
- mouthCoords = {x: svgCoords.x + 100, y: svgCoords.y + 100};
1378
-
1379
- // handle events for email input
1380
- email.addEventListener('focus', onLoginPressEmailFocus);
1381
- email.addEventListener('blur', onLoginPressEmailBlur);
1382
- email.addEventListener('input', onLoginPressEmailInput);
1383
- emailLabel.addEventListener('click', onLoginPressEmailLabelClick);
1384
-
1385
- // handle events for password input
1386
- password.addEventListener('focus', onLoginPressPasswordFocus);
1387
- password.addEventListener('blur', onLoginPressPasswordBlur);
1388
- //passwordLabel.addEventListener('click', onLoginPressPasswordLabelClick);
1389
-
1390
- // handle events for password checkbox
1391
- showPasswordCheck.addEventListener('change', onLoginPressPasswordToggleChange);
1392
- showPasswordCheck.addEventListener('focus', onLoginPressPasswordToggleFocus);
1393
- showPasswordCheck.addEventListener('blur', onLoginPressPasswordToggleBlur);
1394
- showPasswordCheck.addEventListener('click', onLoginPressPasswordToggleClick);
1395
- showPasswordToggle.addEventListener('mouseup', onLoginPressPasswordToggleMouseUp);
1396
- showPasswordToggle.addEventListener('mousedown', onLoginPressPasswordToggleMouseDown);
1397
-
1398
- // move arms to initial positions
1399
- TweenMax.set(armL, {x: -93, y: 220, rotation: 105, transformOrigin: "top left"});
1400
- TweenMax.set(armR, {x: -93, y: 220, rotation: -105, transformOrigin: "top right"});
1401
-
1402
- // set initial mouth property (fixes positioning bug)
1403
- TweenMax.set(mouth, {transformOrigin: "center center"});
1404
-
1405
- // activate blinking
1406
- startBlinkingLoginPress(5);
1407
-
1408
- // determine how far email input can go before scrolling occurs
1409
- // will be used as the furthest point avatar will look to the right
1410
- emailScrollMax = email.scrollWidth;
1411
-
1412
- // check if we're on mobile/tablet, if so then show password initially
1413
- if(isMobileDeviceLoginPress()) {
1414
- password.type = "text";
1415
- showPasswordCheck.checked = true;
1416
- TweenMax.set(twoFingers, {transformOrigin: "bottom left", rotation: 30, x: -9, y: -2, ease: Power2.easeInOut});
1417
- }
1418
-
1419
- // clear the console
1420
- console.clear();
1421
- }
1422
-
1423
- initLoginPressForm();
1424
- }, false );
1425
- </script>
1426
- <?php endif; ?>
1427
  <?php // $content = ob_get_clean(); ?>
1428
  <?php if ( isset( $loginpress_display_bg_video ) && $loginpress_display_bg_video && ! empty( $loginpress_bg_video ) ) : ?>
1429
  <?php if ( ( $loginpress_theme_tem == 'default6' || $loginpress_theme_tem == 'default10' || $loginpress_theme_tem == 'default17' ) ) : ?>
228
  *{
229
  box-sizing: border-box;
230
  }
231
+
232
+
233
+ .login form input[type=checkbox]:focus{
234
+ box-shadow: none;
235
+ outline: none;
236
+ }
237
+ .login form .forgetmenot{
238
+ float: none;
239
+ }
240
+ .login form .forgetmenot label{
241
+ display:inline-block;
242
+ margin: 0;
243
+ }
244
  #login::after{
245
  <?php if ( ( $loginpress_theme_tem == 'default6' || $loginpress_theme_tem == 'default10' ) && ! empty( $loginpress_background_img ) && $loginpress_display_bg ) : ?>
246
  background-image: url(<?php echo $loginpress_background_img; ?>);
920
  }
921
  .login form{
922
  overflow: visible;
923
+ border: none;
924
  }
925
  #loginform .user-pass-fields input{
926
  margin-bottom: 0;
932
  #login form p.submit{
933
  position: relative;
934
  clear: both;
935
+ }
936
+ input[type=checkbox]:checked::before{
937
+ margin: -.35rem 0 0 -.375rem;
938
  }
939
  /* LoginPress input field since 1.1.20 */
940
  /* .loginpress-input-wrap{
1039
  padding-left: 15px;
1040
  }
1041
  </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1042
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1043
  <?php // $content = ob_get_clean(); ?>
1044
  <?php if ( isset( $loginpress_display_bg_video ) && $loginpress_display_bg_video && ! empty( $loginpress_bg_video ) ) : ?>
1045
  <?php if ( ( $loginpress_theme_tem == 'default6' || $loginpress_theme_tem == 'default10' || $loginpress_theme_tem == 'default17' ) ) : ?>
css/style-previewer.css CHANGED
@@ -2,6 +2,12 @@
2
  * Style Sceet for Customizer Previewer.
3
  * @since 1.0.23
4
  */
 
 
 
 
 
 
5
  .login h1,#login .submit, .login form,#nav{
6
  position: relative;
7
  }
2
  * Style Sceet for Customizer Previewer.
3
  * @since 1.0.23
4
  */
5
+ .login form .input, .login input[type=text],.login form input[type=checkbox]{
6
+ border-radius: 0;
7
+ }
8
+ #loginform input[type="text"], #loginform input[type="password"]{
9
+ display: block !important;
10
+ }
11
  .login h1,#login .submit, .login form,#nav{
12
  position: relative;
13
  }
css/themes/default-1.php CHANGED
@@ -7,8 +7,27 @@
7
  */
8
  function first_presets() {
9
  ob_start();
10
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  <style media="screen" id="loginpress-style">
 
12
  /*************************************************************
13
  * Plugin: LoginPress - Customizing the WordPress Login.*
14
  * Description: LoginPress is the best Login Page Customizer *
7
  */
8
  function first_presets() {
9
  ob_start();
10
+ if ( version_compare( $GLOBALS['wp_version'], '5.3', '>=' ) ) : ?>
11
+ <style media="screen" id="loginpress-style-wp-5-3">
12
+ .login form .input, .login input[type=text],.login form input[type=checkbox]{
13
+ border-radius: 0;
14
+ }
15
+ input[type=checkbox]:checked:before {
16
+ content: url('data:image/svg+xml;utf8,<svg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27><path%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%23fc6ec7%27%2F><%2Fsvg>');
17
+ }
18
+ </style>;
19
+ <?php else:?>
20
+ <style>
21
+ input[type=checkbox]:checked:before {
22
+ content: '\f147';
23
+ margin: -5px 0 0 -6px;
24
+ color: #fc6ec7;
25
+ }
26
+ </style>
27
+
28
+ <?php endif; ?>
29
  <style media="screen" id="loginpress-style">
30
+
31
  /*************************************************************
32
  * Plugin: LoginPress - Customizing the WordPress Login.*
33
  * Description: LoginPress is the best Login Page Customizer *
custom.php CHANGED
@@ -25,18 +25,17 @@ class LoginPress_Entities {
25
  * Hook into actions and filters
26
  *
27
  * @since 1.0.0
28
- * @version 1.2.0
29
  */
30
  private function _hooks() {
31
 
32
  add_filter( 'login_headerurl', array( $this, 'login_page_logo_url' ) );
33
- if ( version_compare( $GLOBALS['wp_version'], '5.2', '<' )) {
34
- add_filter( 'login_headertitle', array( $this, 'login_page_logo_title' ) );
35
  } else {
36
  add_filter( 'login_headertext', array( $this, 'login_page_logo_title' ) );
37
  }
38
  add_filter( 'login_errors', array( $this, 'login_error_messages' ) );
39
-
40
  add_filter( 'login_message', array( $this, 'change_welcome_message' ) );
41
  add_action( 'customize_register', array( $this, 'customize_login_panel' ) );
42
  add_action( 'login_footer', array( $this, 'login_page_custom_footer' ) );
@@ -324,7 +323,7 @@ class LoginPress_Entities {
324
 
325
  // Loof through the templates.
326
  $_count = 2;
327
- while ( $_count <= 17 ) :
328
 
329
  $loginpress_free_templates["default{$_count}" ] = array(
330
  // 'img' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ),
@@ -337,10 +336,10 @@ class LoginPress_Entities {
337
  endwhile;
338
 
339
  // 18th template for custom design.
340
- $loginpress_free_templates["default18" ] = array(
341
  'img' => plugins_url( 'loginpress/img/bg17.jpg', LOGINPRESS_ROOT_PATH ),
342
  'thumbnail' => plugins_url( 'loginpress/img/thumbnail/custom-design.png', LOGINPRESS_ROOT_PATH ),
343
- 'id' => 'default18',
344
  'name' => __( 'Custom Design', 'loginpress' ),
345
  'link' => 'yes'
346
  );
25
  * Hook into actions and filters
26
  *
27
  * @since 1.0.0
28
+ * @version 1.3.3
29
  */
30
  private function _hooks() {
31
 
32
  add_filter( 'login_headerurl', array( $this, 'login_page_logo_url' ) );
33
+ if ( version_compare( $GLOBALS['wp_version'], '5.2', '<' ) ) {
34
+ add_filter( 'login_headertitle',array( $this, 'login_page_logo_title' ) );
35
  } else {
36
  add_filter( 'login_headertext', array( $this, 'login_page_logo_title' ) );
37
  }
38
  add_filter( 'login_errors', array( $this, 'login_error_messages' ) );
 
39
  add_filter( 'login_message', array( $this, 'change_welcome_message' ) );
40
  add_action( 'customize_register', array( $this, 'customize_login_panel' ) );
41
  add_action( 'login_footer', array( $this, 'login_page_custom_footer' ) );
323
 
324
  // Loof through the templates.
325
  $_count = 2;
326
+ while ( $_count <= 18 ) :
327
 
328
  $loginpress_free_templates["default{$_count}" ] = array(
329
  // 'img' => plugins_url( 'img/bg.jpg', LOGINPRESS_ROOT_FILE ),
336
  endwhile;
337
 
338
  // 18th template for custom design.
339
+ $loginpress_free_templates["default19" ] = array(
340
  'img' => plugins_url( 'loginpress/img/bg17.jpg', LOGINPRESS_ROOT_PATH ),
341
  'thumbnail' => plugins_url( 'loginpress/img/thumbnail/custom-design.png', LOGINPRESS_ROOT_PATH ),
342
+ 'id' => 'default19',
343
  'name' => __( 'Custom Design', 'loginpress' ),
344
  'link' => 'yes'
345
  );
include/class-remote-notification-client.php CHANGED
@@ -548,12 +548,17 @@ if ( ! class_exists( 'Remote_Dashboard_Notifications_Client' ) ) {
548
  * @return void
549
  */
550
  public function script() {
551
-
552
  $maybe_fetch = array();
553
 
554
  foreach ( $this->get_notifications() as $id => $n ) {
555
  $maybe_fetch[] = (string) $id;
556
- } ?>
 
 
 
 
 
 
557
 
558
  <script type="text/javascript">
559
  jQuery(document).ready(function ($) {
@@ -581,7 +586,9 @@ if ( ! class_exists( 'Remote_Dashboard_Notifications_Client' ) ) {
581
  });
582
  </script>
583
 
584
- <?php }
 
 
585
 
586
  /**
587
  * Hook into the Heartbeat API.
@@ -632,12 +639,15 @@ if ( ! class_exists( 'Remote_Dashboard_Notifications_Client' ) ) {
632
  * @return void
633
  */
634
  public function remote_get_notice_ajax() {
 
 
635
 
636
  if ( isset( $_POST['notices'] ) ) {
637
  $notices = $_POST['notices'];
638
  } else {
639
- echo 'No notice ID';
640
- die();
 
641
  }
642
 
643
  if ( ! is_array( $notices ) ) {
@@ -655,10 +665,9 @@ if ( ! class_exists( 'Remote_Dashboard_Notifications_Client' ) ) {
655
  echo json_encode( $rn );
656
  }
657
 
658
- }
659
-
660
  die();
661
-
662
  }
663
 
664
  /**
548
  * @return void
549
  */
550
  public function script() {
 
551
  $maybe_fetch = array();
552
 
553
  foreach ( $this->get_notifications() as $id => $n ) {
554
  $maybe_fetch[] = (string) $id;
555
+ }
556
+
557
+ // var_dump( 'RND_FETCH_NOTIFICATIONS' );
558
+ // var_dump( get_transient( 'loginpress_rdn_fetch_notifications' ) );
559
+
560
+ if ( false === get_transient( 'loginpress_rdn_fetch_notifications' ) ) {
561
+ ?>
562
 
563
  <script type="text/javascript">
564
  jQuery(document).ready(function ($) {
586
  });
587
  </script>
588
 
589
+ <?php
590
+ }
591
+ }
592
 
593
  /**
594
  * Hook into the Heartbeat API.
639
  * @return void
640
  */
641
  public function remote_get_notice_ajax() {
642
+ // Trasnient set for 1 week.
643
+ set_transient( 'loginpress_rdn_fetch_notifications', 'rdn_fetch_notifications', 604800 );
644
 
645
  if ( isset( $_POST['notices'] ) ) {
646
  $notices = $_POST['notices'];
647
  } else {
648
+ echo 'No notice ID';
649
+
650
+ die();
651
  }
652
 
653
  if ( ! is_array( $notices ) ) {
665
  echo json_encode( $rn );
666
  }
667
 
668
+ }
669
+
670
  die();
 
671
  }
672
 
673
  /**
include/compatibility.php CHANGED
@@ -69,7 +69,6 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
69
  }
70
 
71
  public function dependencies() {
72
-
73
  add_action( 'wp_print_scripts', array( $this, 'dequeue_conflicted_script' ), 100 );
74
  add_action( 'login_headerurl', array( $this, 'remove_conflicted_action' ) );
75
  add_action( 'init', array( $this, 'enqueue_loginpress_compatibility_script') );
@@ -82,22 +81,53 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
82
  add_filter( 'network_site_url', array( $this, 'network_site_url_remove_filter' ), 9 );
83
  add_action( 'plugins_loaded', array( $this, 'plugins_loaded_remove_action' ), 10 );
84
  add_action( 'wp_loaded', array( $this, 'wp_loaded_remove_action' ), 9 );
85
- add_action( 'init', array( $this, 'init_remove_action' ), 9 );
86
 
87
- // Thrive theme compatibility.
 
 
88
  add_action( 'login_enqueue_scripts', array( $this, 'dequeue_thrive_conflicting_scripts' ), 99 );
89
- }
90
-
 
 
 
 
 
 
 
 
 
 
91
  /**
92
  * Dequeue thrive theme login page styles.
93
  * This will enable the loginpress customization with thrive themes.
94
- *
 
95
  */
96
  function dequeue_thrive_conflicting_scripts() {
97
  wp_dequeue_style( 'thrive-custom-login' );
98
  wp_dequeue_script( 'thrive-custom-login' );
99
  }
100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  public function wp_redirect_remove_filter( $location ) {
102
  if ( class_exists( 'Webarx' ) ) {
103
 
@@ -197,6 +227,40 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
197
  }
198
  }
199
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
200
  public function enqueue_loginpress_compatibility_script() {
201
 
202
  /**
@@ -218,6 +282,7 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
218
 
219
  /**
220
  * dequeue_conflicted_script
 
221
  * @since 1.0.3
222
  */
223
  public function dequeue_conflicted_script() {
@@ -238,6 +303,7 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
238
 
239
  /**
240
  * remove_conflicted_action
 
241
  * @since 1.0.3
242
  */
243
  public function remove_conflicted_action() {
@@ -256,6 +322,7 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
256
 
257
  /**
258
  * Include LoginPress CSS for Support with other plugins.
 
259
  * @since 1.0.3
260
  */
261
  public function enqueue_loginpress_script() {
@@ -265,6 +332,7 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
265
 
266
  /**
267
  * Password protected plugin compatlibility with logo url.
 
268
  * @since 1.3.1
269
  * @version 1.3.2
270
  */
@@ -277,6 +345,7 @@ if ( ! class_exists( 'LoginPress_Compatibility' ) ) :
277
 
278
  /**
279
  * Password protected plugin compatlibility with logo title.
 
280
  * @since 1.3.2
281
  */
282
  public function password_protected_login_headertitle_cb() {
69
  }
70
 
71
  public function dependencies() {
 
72
  add_action( 'wp_print_scripts', array( $this, 'dequeue_conflicted_script' ), 100 );
73
  add_action( 'login_headerurl', array( $this, 'remove_conflicted_action' ) );
74
  add_action( 'init', array( $this, 'enqueue_loginpress_compatibility_script') );
81
  add_filter( 'network_site_url', array( $this, 'network_site_url_remove_filter' ), 9 );
82
  add_action( 'plugins_loaded', array( $this, 'plugins_loaded_remove_action' ), 10 );
83
  add_action( 'wp_loaded', array( $this, 'wp_loaded_remove_action' ), 9 );
84
+ add_action( 'init', array( $this, 'init_remove_action' ), 9 );
85
 
86
+ /*************************************
87
+ Thrive Theme Compatibility Fix // v1.3.2
88
+ *************************************/
89
  add_action( 'login_enqueue_scripts', array( $this, 'dequeue_thrive_conflicting_scripts' ), 99 );
90
+
91
+ /*************************************
92
+ Oxygen Builder Compatibility Fix // v1.3.3
93
+ *************************************/
94
+ add_filter( 'template_include', array( $this, 'template_include_ob' ), 100 );
95
+
96
+ /***************************************************************
97
+ All In One WP Security & Firewall Compatibility Fix // v1.3.3
98
+ ****************************************************************/
99
+ add_action( 'init', array( $this, 'aiowps_login_init_remove_action' ) );
100
+ }
101
+
102
  /**
103
  * Dequeue thrive theme login page styles.
104
  * This will enable the loginpress customization with thrive themes.
105
+ *
106
+ * @since 1.3.2
107
  */
108
  function dequeue_thrive_conflicting_scripts() {
109
  wp_dequeue_style( 'thrive-custom-login' );
110
  wp_dequeue_script( 'thrive-custom-login' );
111
  }
112
 
113
+ /**
114
+ * Overide the oxygen template with loginpress on login customizer screen.
115
+ *
116
+ * @since 1.3.3
117
+ */
118
+ public function template_include_ob( $template ) {
119
+ // Safely exit if methods not defined yet
120
+ if ( ! function_exists( 'is_customize_preview' ) || ! function_exists( 'wp_get_referer' ) ) {
121
+ return $template;
122
+ }
123
+
124
+ if ( is_customize_preview() && $template == ABSPATH . 'wp-content/plugins/oxygen/component-framework//oxygen-main-template.php' && ( false !== strpos( wp_get_referer(), 'autofocus[panel]=loginpress_panel' ) ) ) {
125
+ return ABSPATH . 'wp-content/plugins/loginpress/include/template-loginpress.php';
126
+ }
127
+
128
+ return $template;
129
+ }
130
+
131
  public function wp_redirect_remove_filter( $location ) {
132
  if ( class_exists( 'Webarx' ) ) {
133
 
227
  }
228
  }
229
 
230
+
231
+ /**
232
+ * Remove login securty check in customizer screen only.
233
+ * No need for this check as the user is already logged in and using customizer.
234
+ *
235
+ * @since 1.3.3
236
+ */
237
+ public function aiowps_login_init_remove_action() {
238
+ if ( ! is_customize_preview() )
239
+ return;
240
+
241
+ if ( ! class_exists( 'AIO_WP_Security' ) )
242
+ return;
243
+
244
+ global $aio_wp_security;
245
+
246
+ if( ! is_a( $aio_wp_security, 'AIO_WP_Security' ) )
247
+ return;
248
+
249
+ if( remove_action( 'wp_loaded', array( $aio_wp_security, 'aiowps_wp_loaded_handler' ) ) ) {
250
+ add_filter( 'option_aio_wp_security_configs', array( $this, 'aiowps_filter_options' ) );
251
+ }
252
+ }
253
+
254
+ /**
255
+ * Filter options aio_wp_security_configs.
256
+ *
257
+ * @since 1.3.3
258
+ */
259
+ public function aiowps_filter_options( $option ) {
260
+ unset( $option['aiowps_enable_rename_login_page'] );
261
+ return $option;
262
+ }
263
+
264
  public function enqueue_loginpress_compatibility_script() {
265
 
266
  /**
282
 
283
  /**
284
  * dequeue_conflicted_script
285
+ *
286
  * @since 1.0.3
287
  */
288
  public function dequeue_conflicted_script() {
303
 
304
  /**
305
  * remove_conflicted_action
306
+ *
307
  * @since 1.0.3
308
  */
309
  public function remove_conflicted_action() {
322
 
323
  /**
324
  * Include LoginPress CSS for Support with other plugins.
325
+ *
326
  * @since 1.0.3
327
  */
328
  public function enqueue_loginpress_script() {
332
 
333
  /**
334
  * Password protected plugin compatlibility with logo url.
335
+ *
336
  * @since 1.3.1
337
  * @version 1.3.2
338
  */
345
 
346
  /**
347
  * Password protected plugin compatlibility with logo title.
348
+ *
349
  * @since 1.3.2
350
  */
351
  public function password_protected_login_headertitle_cb() {
include/template-loginpress.php CHANGED
@@ -14,7 +14,7 @@
14
  if ( ! is_customize_preview() ) {
15
 
16
  $loginpress_obj = new LoginPress();
17
- $loginpress_page = $loginpress_obj->get_loginpress_page();;
18
 
19
  $page = get_permalink( $loginpress_page );
20
 
14
  if ( ! is_customize_preview() ) {
15
 
16
  $loginpress_obj = new LoginPress();
17
+ $loginpress_page = $loginpress_obj->get_loginpress_page();
18
 
19
  $page = get_permalink( $loginpress_page );
20
 
js/customize-controls.js CHANGED
@@ -544,6 +544,7 @@ jQuery(document).ready(function($) {
544
  * [loginpress_customizer_bg LoginPress Customizer Background Image Control that Retrive the Image URL w.r.t theme]
545
  * @param {[string]} customizer_bg [Preset Option]
546
  * @return {[URL]} loginpress_bg [Image URL]
 
547
  */
548
  function loginpress_customizer_bg(customizer_bg) {
549
 
@@ -583,6 +584,8 @@ jQuery(document).ready(function($) {
583
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg16.jpg)';
584
  } else if ( 'default17' == customizer_bg ) {
585
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg17.jpg)';
 
 
586
  }
587
  }
588
 
544
  * [loginpress_customizer_bg LoginPress Customizer Background Image Control that Retrive the Image URL w.r.t theme]
545
  * @param {[string]} customizer_bg [Preset Option]
546
  * @return {[URL]} loginpress_bg [Image URL]
547
+ * @version 1.3.3
548
  */
549
  function loginpress_customizer_bg(customizer_bg) {
550
 
584
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg16.jpg)';
585
  } else if ( 'default17' == customizer_bg ) {
586
  loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg17.jpg)';
587
+ } else if ( 'default18' == customizer_bg ) {
588
+ loginpress_bg = 'url(' + loginpress_script.plugin_url + '/loginpress-pro/img/bg18.jpg)';
589
  }
590
  }
591
 
js/script-login.php CHANGED
@@ -31,7 +31,7 @@ if ( ! empty( $loginpress_custom_js ) ) : ?>
31
 
32
  <script>
33
 
34
- document.addEventListener('DOMContentLoaded', function(){
35
  if (navigator.userAgent.indexOf("Firefox") != -1) {
36
  var body = document.body;
37
  body.classList.add("firefox");
@@ -39,29 +39,29 @@ document.addEventListener('DOMContentLoaded', function(){
39
  // your code goes here
40
  if ( document.getElementById('user_pass') ) {
41
  var loginpress_user_pass = document.getElementById('user_pass');
42
- var loginpress_wrapper = document.createElement('div');
43
  loginpress_wrapper.classList.add('user-pass-fields');
44
  // insert wrapper before el in the DOM tree
45
  user_pass.parentNode.insertBefore(loginpress_wrapper, loginpress_user_pass);
46
 
47
  // move el into wrapper
48
  loginpress_wrapper.appendChild(loginpress_user_pass);
49
- var loginpress_user_ps = document.getElementsByClassName('user-pass-fields');
50
- var loginpress_node = document.createElement("div");
51
  loginpress_node.classList.add('loginpress-caps-lock');
52
  var loginpress_textnode = document.createTextNode('<?php echo $loginpress_capslock; ?>');
53
  loginpress_node.appendChild(loginpress_textnode);
54
  loginpress_user_ps[0].appendChild(loginpress_node);
55
  }
56
 
57
- }, false);
58
  window.onload = function(e) {
59
 
60
- var capsLock = 'off';
61
  var passwordField = document.getElementById("user_pass");
62
  if ( passwordField ) {
63
  passwordField.onkeydown = function(e) {
64
- var el = this;
65
  var caps = event.getModifierState && event.getModifierState( 'CapsLock' );
66
  if ( caps ) {
67
 
31
 
32
  <script>
33
 
34
+ document.addEventListener( 'DOMContentLoaded', function() {
35
  if (navigator.userAgent.indexOf("Firefox") != -1) {
36
  var body = document.body;
37
  body.classList.add("firefox");
39
  // your code goes here
40
  if ( document.getElementById('user_pass') ) {
41
  var loginpress_user_pass = document.getElementById('user_pass');
42
+ var loginpress_wrapper = document.createElement('div');
43
  loginpress_wrapper.classList.add('user-pass-fields');
44
  // insert wrapper before el in the DOM tree
45
  user_pass.parentNode.insertBefore(loginpress_wrapper, loginpress_user_pass);
46
 
47
  // move el into wrapper
48
  loginpress_wrapper.appendChild(loginpress_user_pass);
49
+ var loginpress_user_ps = document.getElementsByClassName('user-pass-fields');
50
+ var loginpress_node = document.createElement("div");
51
  loginpress_node.classList.add('loginpress-caps-lock');
52
  var loginpress_textnode = document.createTextNode('<?php echo $loginpress_capslock; ?>');
53
  loginpress_node.appendChild(loginpress_textnode);
54
  loginpress_user_ps[0].appendChild(loginpress_node);
55
  }
56
 
57
+ }, false );
58
  window.onload = function(e) {
59
 
60
+ var capsLock = 'off';
61
  var passwordField = document.getElementById("user_pass");
62
  if ( passwordField ) {
63
  passwordField.onkeydown = function(e) {
64
+ var el = this;
65
  var caps = event.getModifierState && event.getModifierState( 'CapsLock' );
66
  if ( caps ) {
67
 
languages/loginpress-pt_BR.mo ADDED
Binary file
languages/loginpress-pt_BR.po ADDED
@@ -0,0 +1,1540 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
4
+ "Project-Id-Version: LoginPress - Customizing the WordPress Login\n"
5
+ "POT-Creation-Date: 2019-04-25 12:53+0500\n"
6
+ "PO-Revision-Date: 2019-10-31 08:25-0300\n"
7
+ "Language-Team: RMC Brothers www.rmcbrothers.com.br\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "X-Generator: Poedit 2.2.4\n"
12
+ "X-Poedit-Basepath: ..\n"
13
+ "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
14
+ "X-Poedit-WPHeader: loginpress.php\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
17
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
18
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
19
+ "Last-Translator: \n"
20
+ "Language: pt_BR\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
23
+
24
+ #: classes/class-loginpress-addons.php:120
25
+ #: classes/class-loginpress-addons.php:205
26
+ #: classes/class-loginpress-addons.php:244
27
+ #, php-format
28
+ msgid "%1$s Already Installed %2$s"
29
+ msgstr "%1$s Já Instalado %2$s"
30
+
31
+ #: classes/class-loginpress-addons.php:124
32
+ #: classes/class-loginpress-addons.php:210
33
+ #, php-format
34
+ msgid "%1$s Activate Plugin %2$s"
35
+ msgstr "%1$s Ativar Plugin %2$s"
36
+
37
+ #: classes/class-loginpress-addons.php:140
38
+ #: classes/class-loginpress-addons.php:225
39
+ #: classes/class-loginpress-addons.php:319
40
+ msgid "UPGRADE NOW"
41
+ msgstr "ATUALIZAR AGORA"
42
+
43
+ #: classes/class-loginpress-addons.php:215
44
+ #: classes/class-loginpress-addons.php:255
45
+ #, php-format
46
+ msgid "%1$s Install %2$s"
47
+ msgstr "%1$s Instalar %2$s"
48
+
49
+ #: classes/class-loginpress-addons.php:250
50
+ #, php-format
51
+ msgid "%3$s %1$s Activate Plugin %2$s"
52
+ msgstr "%3$s %1$s Ativar o Plugin %2$s"
53
+
54
+ #: classes/class-loginpress-addons.php:337
55
+ msgid "You have a lifetime license, it will never expire."
56
+ msgstr "Você tem uma licença vitalícia que nunca expirará."
57
+
58
+ #: classes/class-loginpress-addons.php:341
59
+ #, php-format
60
+ msgid "Your (%2$s) license key is valid until %s."
61
+ msgstr "A sua chave de licença (%2$s) é válida até %s."
62
+
63
+ #: classes/class-loginpress-addons.php:355
64
+ msgid "You need to activate your license to download the following add-ons."
65
+ msgstr "Você precisa ativar sua licença para baixar os seguintes add-ons."
66
+
67
+ #: classes/class-loginpress-addons.php:368
68
+ msgid "You need to upgrade to LoginPress Pro to access these add-ons."
69
+ msgstr ""
70
+ "Você precisa atualizar para o LoginPress Pro para acessar esses add-ons."
71
+
72
+ #: classes/class-loginpress-addons.php:586
73
+ msgid "Extend the functionality of LoginPress with these awesome Add-ons"
74
+ msgstr "Estenda a funcionalidade do LoginPress com estes incríveis Add-ons"
75
+
76
+ #: classes/class-loginpress-custom-password.php:45
77
+ #: include/customizer-strings.php:86 include/template-loginpress.php:518
78
+ msgid "Password"
79
+ msgstr "Senha"
80
+
81
+ #: classes/class-loginpress-custom-password.php:49
82
+ msgid "Confirm Password"
83
+ msgstr "Confirmar Senha"
84
+
85
+ #: classes/class-loginpress-custom-password.php:70
86
+ msgid "<strong>ERROR</strong>: Please enter your password twice."
87
+ msgstr "<strong>ERRO</strong>: Por favor, digite sua senha duas vezes."
88
+
89
+ #: classes/class-loginpress-custom-password.php:74
90
+ msgid ""
91
+ "<strong>ERROR</strong>: Please enter the same password in the end password "
92
+ "fields."
93
+ msgstr ""
94
+ "<strong>ERRO</strong>: Por favor, digite a mesma senha nos campos "
95
+ "solicitados."
96
+
97
+ #: classes/class-loginpress-filter-plugin.php:42
98
+ #, php-format
99
+ msgid "Buy %s now"
100
+ msgstr "Compre %s agora"
101
+
102
+ #: classes/class-loginpress-filter-plugin.php:43
103
+ msgid "Buy Now"
104
+ msgstr "Comprar Agora"
105
+
106
+ #: classes/class-loginpress-filter-plugin.php:186
107
+ msgid "Analytify"
108
+ msgstr "Analytify"
109
+
110
+ #: classes/class-loginpress-filter-plugin.php:195
111
+ msgid ""
112
+ "Analytify is reshaping Google Analytics in WordPress. See Social Media, "
113
+ "Keywords, Realtime, Country, Mobile and Browsers Statistics under pages and "
114
+ "posts."
115
+ msgstr ""
116
+ "Analytify está reformulando o Google Analytics no WordPress. Veja Social "
117
+ "Media, Keywords, Realtime, Country, Mobile e Browsers Statistics nas páginas "
118
+ "e posts."
119
+
120
+ #: classes/class-loginpress-filter-plugin.php:198
121
+ msgid "Related Posts"
122
+ msgstr "Posts Relacionados"
123
+
124
+ #: classes/class-loginpress-filter-plugin.php:207
125
+ msgid ""
126
+ "Related Post Thumbnails plugin is for those who want the showcase of their "
127
+ "related posts after the post detail. The plugin allows customizing thumbnail "
128
+ "sizes, display settings, and type of relations. The plugin is using original "
129
+ "WordPress taxonomy. It returns generated HTML, that is essential for page "
130
+ "load speed of blogs that use many Javascript widgets."
131
+ msgstr ""
132
+ "O plugin Miniaturas de postagens relacionadas é para aqueles que desejam "
133
+ "exibir as postagens relacionadas após os detalhes da postagem. O plug-in "
134
+ "permite personalizar tamanhos de miniaturas, configurações de exibição e "
135
+ "tipos de relações. O plug-in está usando a taxonomia original do WordPress. "
136
+ "Ele retorna o HTML gerado, essencial para a velocidade de carregamento da "
137
+ "página dos blogs que usam muitos widgets Javascript."
138
+
139
+ #: classes/class-loginpress-filter-plugin.php:210
140
+ msgid "LoginPress Pro"
141
+ msgstr "LoginPress Pro"
142
+
143
+ #: classes/class-loginpress-filter-plugin.php:220
144
+ msgid ""
145
+ "LoginPress Plugin by LoginPress holds a lot of customization fields to "
146
+ "change the layout of the login page of WordPress. You can modify the look "
147
+ "and feel of login page completely even the login error messages, forgot "
148
+ "error messages, registration error messages, forget password hint message "
149
+ "and many more."
150
+ msgstr ""
151
+ "O plugin LoginPress possui muitos campos de personalização para alterar o "
152
+ "layout da página de login do WordPress. Você pode modificar completamente a "
153
+ "aparência da página de login, até mesmo as mensagens de erro de login, "
154
+ "mensagens de erro esquecidas, mensagens de erro de registro, esquecimento de "
155
+ "senha e muito mais."
156
+
157
+ #: classes/class-loginpress-login-order.php:69 custom.php:1643
158
+ #: include/customizer-strings.php:141
159
+ #, php-format
160
+ msgid "%1$sError:%2$s The username field is empty."
161
+ msgstr "%1$sErro:%2$s o campo usuário está vazio."
162
+
163
+ #: classes/class-loginpress-login-order.php:71 custom.php:1645
164
+ #: include/customizer-strings.php:142
165
+ #, php-format
166
+ msgid "%1$sError:%2$s The password field is empty."
167
+ msgstr "%1$sErro:%2$s o campo de senha está vazio."
168
+
169
+ #: classes/class-loginpress-login-order.php:92
170
+ #: include/customizer-strings.php:148
171
+ #, php-format
172
+ msgid "%1$sError:%2$s Invalid Email Address"
173
+ msgstr "%1$sErro:%2$s e-mail inválido"
174
+
175
+ #: classes/class-loginpress-login-order.php:114 custom.php:1639
176
+ #: include/customizer-strings.php:140
177
+ #, php-format
178
+ msgid "%1$sError:%2$s Invalid Username."
179
+ msgstr "%1$sErro:%2$s usuário inválido."
180
+
181
+ #: classes/class-loginpress-notifications.php:130
182
+ msgid "Leave A Review?"
183
+ msgstr "Deixe um comentário?"
184
+
185
+ #: classes/class-loginpress-notifications.php:131
186
+ msgid ""
187
+ "We hope you've enjoyed using LoginPress! Would you consider leaving us a "
188
+ "review on WordPress.org?"
189
+ msgstr ""
190
+ "Esperamos que tenha gostado de usar o LoginPress! Você poderia considerar a "
191
+ "possibilidade de avaliar nosso plugin no WordPress.org?"
192
+
193
+ #: classes/class-loginpress-notifications.php:133
194
+ msgid "Sure! I'd love to!"
195
+ msgstr "Claro! Eu adoraria!"
196
+
197
+ #: classes/class-loginpress-notifications.php:134
198
+ msgid "I've already left a review"
199
+ msgstr "Eu já deixei uma avaliação"
200
+
201
+ #: classes/class-loginpress-notifications.php:135
202
+ msgid "Maybe Later"
203
+ msgstr "Não, talvez mais tarde"
204
+
205
+ #: classes/class-loginpress-notifications.php:136
206
+ msgid "Never show again"
207
+ msgstr "Não Exibir Novamente"
208
+
209
+ #: classes/class-loginpress-notifications.php:161
210
+ msgid "Introducing LoginPress Addons!"
211
+ msgstr "Apresentamos os Addons do LoginPress!"
212
+
213
+ #: classes/class-loginpress-notifications.php:162
214
+ msgid "Extend LoginPress with these add-ons and supercharge your login pages."
215
+ msgstr ""
216
+ "Estenda o LoginPress com esses complementos e embeleze suas páginas de login."
217
+
218
+ #: classes/class-loginpress-notifications.php:166
219
+ msgid "Learn More"
220
+ msgstr "Saiba Mais"
221
+
222
+ #: classes/class-loginpress-notifications.php:270
223
+ msgid "FLAT 51% OFF"
224
+ msgstr "DESCONTO DE 51% OFF"
225
+
226
+ #: classes/class-loginpress-notifications.php:295
227
+ #, php-format
228
+ msgid ""
229
+ "<strong>Biggest Winter Deal</strong> in the WordPress Universe! Get "
230
+ "<strong>LoginPress Pro and all Premium Add-ons</strong> with <strong>20%% "
231
+ "OFF</strong> [Limited Availability].<a href=\"https://wpbrigade.com/"
232
+ "wordpress/plugins/loginpress-pro/?utm_source=loginpress-"
233
+ "lite&utm_medium=freepluginbanner-button&utm_campaign=early20\" target="
234
+ "\"_blank\" style=\"text-decoration: none;\"><span class=\"dashicons "
235
+ "dashicons-smiley\" style=\"margin-left: 10px;\"></span> Grab The Deal</a>\n"
236
+ " \t\t\t\t\t<a href=\"%1$s\" style=\"text-decoration: none; margin-left: "
237
+ "10px;\"><span class=\"dashicons dashicons-dismiss\"></span> I'm good with "
238
+ "free version</a>"
239
+ msgstr ""
240
+ "<strong> Maior Promoção de Inverno </strong> do universo WordPress! Obtenha "
241
+ "o <strong> LoginPress Pro e todos os complementos Premium </strong> com "
242
+ "<strong> 20 %% OFF </strong> [Disponibilidade Limitada]. <a href=\"https://"
243
+ "wpbrigade.com/wordpress/plugins/loginpress-pro/?utm_source=loginpress-"
244
+ "lite&utm_medium=freepluginbanner-button&utm_campaign=early20\" target="
245
+ "\"_blank\" style=\"text-decoration: none;\"><span class=\"dashicons "
246
+ "dashicons-smiley\" style=\"margin-left: 10px;\"></span> Adquira este "
247
+ "Desconto</a>\n"
248
+ " \t\t\t\t\t<a href=\"%1$s\" style=\"text-decoration: none; margin-left: "
249
+ "10px;\"><span class=\"dashicons dashicons-dismiss\"></span> Estou feliz com "
250
+ "a versão gratuíta</a>"
251
+
252
+ #: classes/class-loginpress-promo.php:9
253
+ msgid "Google Fonts"
254
+ msgstr "Fontes da Google"
255
+
256
+ #: classes/class-loginpress-promo.php:26 classes/class-loginpress-promo.php:47
257
+ #: classes/control-presets.php:74
258
+ msgid "Unlock Premium Feature"
259
+ msgstr "Desbloquear Recurso Premium"
260
+
261
+ #: classes/class-loginpress-promo.php:31
262
+ msgid "reCAPTCHA"
263
+ msgstr "reCAPTCHA"
264
+
265
+ #: classes/class-loginpress-settings-api.php:372 custom.php:647
266
+ msgid "Choose File"
267
+ msgstr "Escolher Arquivo"
268
+
269
+ #: classes/class-loginpress-settings-api.php:639
270
+ msgid "Getting Started Video"
271
+ msgstr "Video dos Primeiros Passos"
272
+
273
+ #: classes/class-loginpress-settings-api.php:647
274
+ msgid "Why Go Pro?"
275
+ msgstr "Porquê ser Pro?"
276
+
277
+ #: classes/class-loginpress-settings-api.php:650
278
+ msgid "Secure login with Google reCaptcha"
279
+ msgstr "Login seguro com Google reCaptcha"
280
+
281
+ #: classes/class-loginpress-settings-api.php:651
282
+ msgid "20+ Custom Login Themes"
283
+ msgstr "20+ Temas de Login Personalizados"
284
+
285
+ #: classes/class-loginpress-settings-api.php:652
286
+ msgid "Full customization with Custom CSS & JS"
287
+ msgstr "Personalização total com CSS e JS personalizados"
288
+
289
+ #: classes/class-loginpress-settings-api.php:657
290
+ msgid "See What's In The Pro Version"
291
+ msgstr "Veja o que está na versão Pro"
292
+
293
+ #: classes/class-loginpress-settings-api.php:666
294
+ msgid "Plugin Support"
295
+ msgstr "Suporte"
296
+
297
+ #: classes/class-loginpress-settings-api.php:669
298
+ msgid "Got a Question, Idea, Problem or Praise?"
299
+ msgstr "Tem uma pergunta, ideia, problema ou elogio?"
300
+
301
+ #: classes/class-loginpress-settings-api.php:671
302
+ msgid "Support Request"
303
+ msgstr "Solicitar Suporte"
304
+
305
+ #: classes/class-loginpress-setup.php:53
306
+ msgid "Default Settings Restored"
307
+ msgstr "Configurações Padrão Restauradas"
308
+
309
+ #: classes/class-loginpress-setup.php:60 custom.php:250 loginpress.php:279
310
+ msgid "LoginPress"
311
+ msgstr "LoginPress"
312
+
313
+ #: classes/class-loginpress-setup.php:62 classes/class-loginpress-setup.php:79
314
+ msgid "Settings"
315
+ msgstr "Configurações"
316
+
317
+ #: classes/class-loginpress-setup.php:64
318
+ msgid "Customizer"
319
+ msgstr "Personalizar"
320
+
321
+ #: classes/class-loginpress-setup.php:66
322
+ msgid "Help"
323
+ msgstr "Ajuda"
324
+
325
+ #: classes/class-loginpress-setup.php:68
326
+ #: include/loginpress-import-export.php:13
327
+ msgid "Import/Export LoginPress Settings"
328
+ msgstr "Importar / Exportar as Configurações do LoginPress"
329
+
330
+ #: classes/class-loginpress-setup.php:68
331
+ msgid "Import / Export"
332
+ msgstr "Importar / Exportar"
333
+
334
+ #: classes/class-loginpress-setup.php:70
335
+ msgid "Add-Ons"
336
+ msgstr "Complementos"
337
+
338
+ #: classes/class-loginpress-setup.php:80
339
+ #, php-format
340
+ msgid "Everything else is customizable through %1$sWordPress Customizer%2$s."
341
+ msgstr ""
342
+ "Tudo pode ser ainda mais customizado através do %1$sPersonalizador do "
343
+ "WordPress%2$s."
344
+
345
+ #: classes/class-loginpress-setup.php:102
346
+ msgid "Upgrade to Pro for More Features"
347
+ msgstr "Atualize para o Pro para obter mais recursos"
348
+
349
+ #: classes/class-loginpress-setup.php:127
350
+ msgid "Session Expire"
351
+ msgstr "Expirar sessão"
352
+
353
+ #: classes/class-loginpress-setup.php:128
354
+ msgid "Set the session expiration time in minutes. e.g: 10"
355
+ msgstr "Defina o tempo de expiração da sessão em minutos, por ex.: 10"
356
+
357
+ #: classes/class-loginpress-setup.php:129
358
+ msgid "10"
359
+ msgstr "10"
360
+
361
+ #: classes/class-loginpress-setup.php:152
362
+ msgid "Custom Password Fields"
363
+ msgstr "Campos de Senha Personalizado"
364
+
365
+ #: classes/class-loginpress-setup.php:153
366
+ msgid "Enable custom password fields on registration form."
367
+ msgstr "Ative os campos de senha personalizados no formulário de registro."
368
+
369
+ #: classes/class-loginpress-setup.php:158
370
+ msgid "Login Order"
371
+ msgstr "Pedido de Login"
372
+
373
+ #: classes/class-loginpress-setup.php:159
374
+ msgid "Enable users to login using their username and/or email address."
375
+ msgstr ""
376
+ "Permitir que os usuários façam login usando seu usuário e/ou endereço de e-"
377
+ "mail."
378
+
379
+ #: classes/class-loginpress-setup.php:176
380
+ msgid "Reset Default Settings"
381
+ msgstr "Redefinir as Configurações Padrões"
382
+
383
+ #: classes/class-loginpress-setup.php:177
384
+ msgid "Remove my custom settings."
385
+ msgstr "Remover minhas configurações personalizadas."
386
+
387
+ #: classes/class-loginpress-setup.php:213
388
+ msgid "LoginPress - Rebranding your boring WordPress Login pages"
389
+ msgstr "LoginPress - Mude o design das páginas chatas de login do WordPress"
390
+
391
+ #: classes/class-loginpress-setup.php:232
392
+ #, php-format
393
+ msgid "Free support is available on the %1$s plugin support forums%2$s."
394
+ msgstr ""
395
+ "Suporte gratuito está disponível nos %1$s fóruns de suporte do plugin %2$s."
396
+
397
+ #: classes/class-loginpress-setup.php:234
398
+ #, php-format
399
+ msgid ""
400
+ "For premium features, add-ons and priority email support, %1$s upgrade to pro"
401
+ "%2$s."
402
+ msgstr ""
403
+ "Para recursos premium, complementos e suporte por e-mail prioritário, %1$s "
404
+ "atualize para pro%2$s."
405
+
406
+ #: classes/class-loginpress-setup.php:240
407
+ msgid "Download Log File"
408
+ msgstr "Baixar arquivo de log"
409
+
410
+ #: classes/class-loginpress-setup.php:296
411
+ msgid "Lost Password URL"
412
+ msgstr "URL de Senha Perdida"
413
+
414
+ #: classes/class-loginpress-setup.php:297
415
+ msgid ""
416
+ "Use WordPress default lost password URL instead of WooCommerce custom lost "
417
+ "password URL."
418
+ msgstr ""
419
+ "Utilize a URL padrão de esquecimento de senha do WordPress ao invés da URL "
420
+ "de esquecimento de senha do personalizada do WooCommerce."
421
+
422
+ #: classes/class-loginpress-setup.php:314
423
+ msgid "and LoginPress page"
424
+ msgstr "e página do LoginPress"
425
+
426
+ #: classes/class-loginpress-setup.php:319
427
+ msgid "Remove Settings on Uninstall"
428
+ msgstr "Remover configurações na desinstalação"
429
+
430
+ #: classes/class-loginpress-setup.php:320
431
+ #, php-format
432
+ msgid "This tool will remove all LoginPress settings %1$s upon uninstall."
433
+ msgstr ""
434
+ "Esta opção removerá todas as configurações do LoginPress %1$s após a "
435
+ "desinstalação."
436
+
437
+ #: classes/control-presets.php:78
438
+ msgid "Contact us for Custom Design"
439
+ msgstr "Entre em Contato para Design Personalizado"
440
+
441
+ #: classes/controls/group.php:53
442
+ msgid "Info:"
443
+ msgstr "Informações:"
444
+
445
+ #: custom.php:251
446
+ msgid "Customize Your WordPress Login Page with LoginPress :)"
447
+ msgstr "Personalize sua página de login do WordPress com o LoginPress :)"
448
+
449
+ #: custom.php:264
450
+ msgid "Themes"
451
+ msgstr "Temas"
452
+
453
+ #: custom.php:265
454
+ msgid "Choose Theme"
455
+ msgstr "Escolha um Tema"
456
+
457
+ #: custom.php:279 custom.php:286 custom.php:496 custom.php:503
458
+ msgid "Company"
459
+ msgstr "Empresa"
460
+
461
+ #: custom.php:280 custom.php:291 custom.php:497
462
+ msgid "Persona"
463
+ msgstr "Pessoal"
464
+
465
+ #: custom.php:281 custom.php:282 custom.php:498 custom.php:499
466
+ msgid "Corporate"
467
+ msgstr "Corporativo"
468
+
469
+ #: custom.php:283 custom.php:500
470
+ msgid "Startup"
471
+ msgstr "Startup"
472
+
473
+ #: custom.php:284 custom.php:501
474
+ msgid "Wedding"
475
+ msgstr "Casamento #1"
476
+
477
+ #: custom.php:285 custom.php:502
478
+ msgid "Wedding #2"
479
+ msgstr "Casamento #2"
480
+
481
+ #: custom.php:287 custom.php:504
482
+ msgid "Bikers"
483
+ msgstr "Motociclistas"
484
+
485
+ #: custom.php:288
486
+ msgid "Fitness"
487
+ msgstr "Fitness"
488
+
489
+ #: custom.php:289
490
+ msgid "Shopping"
491
+ msgstr "Compras"
492
+
493
+ #: custom.php:290
494
+ msgid "Writers"
495
+ msgstr "Escritores"
496
+
497
+ #: custom.php:292
498
+ msgid "Geek"
499
+ msgstr "Nerd"
500
+
501
+ #: custom.php:293
502
+ msgid "Innovation"
503
+ msgstr "Inovação"
504
+
505
+ #: custom.php:294
506
+ msgid "Photographers"
507
+ msgstr "Fotógrafos"
508
+
509
+ #: custom.php:323
510
+ msgid "Custom Design"
511
+ msgstr "Design Personalizado"
512
+
513
+ #: custom.php:341
514
+ msgid "Logo"
515
+ msgstr "Logo"
516
+
517
+ #: custom.php:342
518
+ msgid "Customize Your Logo Section"
519
+ msgstr "Personalize sua seção de logo"
520
+
521
+ #: custom.php:362
522
+ msgid "Disable Logo:"
523
+ msgstr "Desativar logo:"
524
+
525
+ #: custom.php:376
526
+ msgid "Logo Image:"
527
+ msgstr "Imagem do Logo:"
528
+
529
+ #: custom.php:394
530
+ msgid "Logo URL:"
531
+ msgstr "Logo URL:"
532
+
533
+ #: custom.php:394
534
+ msgid "Logo Hover Title:"
535
+ msgstr "Título de Sobreposição do Logo:"
536
+
537
+ #: custom.php:422
538
+ msgid "Background"
539
+ msgstr "Fundo"
540
+
541
+ #: custom.php:437
542
+ msgid "Background Color:"
543
+ msgstr "Cor de Fundo:"
544
+
545
+ #: custom.php:460
546
+ msgid "Enable Background Image?"
547
+ msgstr "Ativar Imagem de Fundo?"
548
+
549
+ #: custom.php:475
550
+ msgid "Background Image:"
551
+ msgstr "Imagem de Fundo do Formulário:"
552
+
553
+ #: custom.php:480
554
+ msgid "Select Image"
555
+ msgstr "Selecione a Imagem"
556
+
557
+ #: custom.php:524
558
+ msgid "Background Gallery:"
559
+ msgstr "Galeria de Fundos:"
560
+
561
+ #: custom.php:538
562
+ msgid "Background Repeat:"
563
+ msgstr "Fundo com Repetição:"
564
+
565
+ #: custom.php:563
566
+ msgid "Select Position:"
567
+ msgstr "Selecionar Posição:"
568
+
569
+ #: custom.php:589
570
+ msgid "Background Image Size: "
571
+ msgstr "Tamanho da Imagem de Fundo: "
572
+
573
+ #: custom.php:619
574
+ msgid "Enable Background Video?"
575
+ msgstr "Ativar Vídeo de Fundo?"
576
+
577
+ #: custom.php:637
578
+ msgid "Background Video:"
579
+ msgstr "Fundo com Vídeo:"
580
+
581
+ #: custom.php:642
582
+ msgid "Select Video"
583
+ msgstr "Selecione o Vídeo"
584
+
585
+ #: custom.php:643
586
+ msgid "Change Video"
587
+ msgstr "Alterar Vídeo"
588
+
589
+ #: custom.php:644
590
+ msgid "Default"
591
+ msgstr "Padrão"
592
+
593
+ #: custom.php:645
594
+ msgid "Remove"
595
+ msgstr "Remover"
596
+
597
+ #: custom.php:646
598
+ msgid "Select File"
599
+ msgstr "Selecionar Arquivo"
600
+
601
+ #: custom.php:660
602
+ msgid "Video Size:"
603
+ msgstr "Tamanho do Vídeo:"
604
+
605
+ #: custom.php:681
606
+ msgid "Object Postion:"
607
+ msgstr "Posicionamento de Objeto:"
608
+
609
+ #: custom.php:686
610
+ msgid "50% 50%"
611
+ msgstr "50% 50%"
612
+
613
+ #: custom.php:704
614
+ msgid "Muted Video?"
615
+ msgstr "Vídeo Sem Som?"
616
+
617
+ #: custom.php:714
618
+ msgid "Customize Login Form"
619
+ msgstr "Personalize o Formulário de Login"
620
+
621
+ #: custom.php:737
622
+ msgid "Enable Form Transparency:"
623
+ msgstr "Habilitar Transparência do Formulário:"
624
+
625
+ #: custom.php:751
626
+ msgid "Form Background Image:"
627
+ msgstr "Imagem de Fundo do Formulário:"
628
+
629
+ #: custom.php:880
630
+ msgid "Customize Forget Form"
631
+ msgstr "Personalize o Formulário de Esquecimento"
632
+
633
+ #: custom.php:894
634
+ msgid "Forget Form Background Image:"
635
+ msgstr "Imagem de Fundo do Formulário de Esquecimento:"
636
+
637
+ #: custom.php:909
638
+ msgid "Forget Form Background Color:"
639
+ msgstr "Cor de Fundo do Formulário de Esquecimento:"
640
+
641
+ #: custom.php:919
642
+ msgid "Button Beauty"
643
+ msgstr "Personalizar Botão"
644
+
645
+ #: custom.php:950
646
+ msgid "Error Messages"
647
+ msgstr "Mensagens de Erro"
648
+
649
+ #: custom.php:981
650
+ msgid "Welcome Messages"
651
+ msgstr "Mensagens de Boas-Vindas"
652
+
653
+ #: custom.php:1019
654
+ msgid "Message Field Background Color:"
655
+ msgstr "Cor de Fundo do Campo de Mensagem:"
656
+
657
+ #: custom.php:1131
658
+ msgid "Form Footer"
659
+ msgstr "Rodapé do Formulário"
660
+
661
+ #: custom.php:1154
662
+ msgid "Enable Footer Text:"
663
+ msgstr "Habilitar Texto no Rodapé:"
664
+
665
+ #: custom.php:1161 include/template-loginpress.php:493
666
+ #: include/template-loginpress.php:552
667
+ msgid "Lost your password?"
668
+ msgstr "Esqueceu sua senha?"
669
+
670
+ #: custom.php:1169
671
+ msgid "Lost Password Text:"
672
+ msgstr "Texto da Senha Esquecida:"
673
+
674
+ #: custom.php:1185
675
+ msgid "Select Text Decoration:"
676
+ msgstr "Selecione a Decoração de Texto:"
677
+
678
+ #: custom.php:1206
679
+ msgid "Footer Text Color:"
680
+ msgstr "Cor de Texto do Rodapé:"
681
+
682
+ #: custom.php:1221
683
+ msgid "Footer Text Hover Color:"
684
+ msgstr "Cor de Sobreposição de Texto do Rodapé:"
685
+
686
+ #: custom.php:1242
687
+ msgid "Text Font Size:"
688
+ msgstr "Tamanho de Fonte do Texto:"
689
+
690
+ #: custom.php:1259
691
+ msgid "Footer Background Color:"
692
+ msgstr "Cor de Fundo do Rodapé:"
693
+
694
+ #: custom.php:1284
695
+ msgid "Enable \"Back to\" Text:"
696
+ msgstr "Ativar Texto de \"Voltar para\":"
697
+
698
+ #: custom.php:1300
699
+ msgid "\"Back to\" Text Decoration:"
700
+ msgstr "\"Voltar para\" Decoração do Texto:"
701
+
702
+ #: custom.php:1321
703
+ msgid "\"Back to\" Text Color:"
704
+ msgstr "\"Voltar para\" Cor do Texto:"
705
+
706
+ #: custom.php:1336
707
+ msgid "\"Back to\" Text Hover Color:"
708
+ msgstr "\"Voltar para\" Cor de Sobreposição do Texto:"
709
+
710
+ #: custom.php:1357
711
+ msgid "\"Back to\" Text Font Size:"
712
+ msgstr "\"Voltar para\" Tamanho da Fonte do Texto:"
713
+
714
+ #: custom.php:1374
715
+ msgid "\"Back to\" Background Color:"
716
+ msgstr "\"Voltar para\" Cor de Fundo:"
717
+
718
+ #: custom.php:1400
719
+ msgid "Enable Copyright Note:"
720
+ msgstr "Ativar Nota de Direitos Autorais:"
721
+
722
+ #: custom.php:1404 custom.php:1545
723
+ #, php-format
724
+ msgid "© %1$s %2$s, All Rights Reserved."
725
+ msgstr "© %1$s %2$s, Todos os Direitos Reservados."
726
+
727
+ #: custom.php:1412
728
+ msgid "Copyright Note:"
729
+ msgstr "Nota de Direitos Autorais:"
730
+
731
+ #: custom.php:1437
732
+ msgid ""
733
+ "Show some Love. Please help others learn about this free plugin by placing "
734
+ "small link in footer. Thank you very much!"
735
+ msgstr ""
736
+ "Demonstre seu amor. Por favor, ajude os outros a conhecerem este plugin "
737
+ "gratuito, colocando um pequeno link no rodapé. Muito obrigado!"
738
+
739
+ #: custom.php:1453
740
+ msgid "Love Position:"
741
+ msgstr "Posição do Texto:"
742
+
743
+ #: custom.php:1459
744
+ msgid "Left"
745
+ msgstr "Esquerda"
746
+
747
+ #: custom.php:1460
748
+ msgid "Right"
749
+ msgstr "Direita"
750
+
751
+ #: custom.php:1471
752
+ msgid "Custom CSS/JS"
753
+ msgstr "Personalizar CSS/JS"
754
+
755
+ #: custom.php:1484
756
+ msgid "Customize CSS:"
757
+ msgstr "Personalizar CSS:"
758
+
759
+ #: custom.php:1489
760
+ #, php-format
761
+ msgid ""
762
+ "Custom CSS doen't make effect live. For preview please save the setting and "
763
+ "visit %1$s login%2$s page or after save refresh the customizer."
764
+ msgstr ""
765
+ "Personalizar CSS não faz efeito ao vivo. Para visualizar, salve a "
766
+ "configuração e acesse a página de%1$s login%2$s ou, após salvar, atualize o "
767
+ "customizer."
768
+
769
+ #: custom.php:1499
770
+ msgid "Customize JS:"
771
+ msgstr "Personalizar JS:"
772
+
773
+ #: custom.php:1504
774
+ #, php-format
775
+ msgid ""
776
+ "Custom JS doen't make effect live. For preview please save the setting and "
777
+ "visit %1$s login%2$s page or after save refresh the customizer."
778
+ msgstr ""
779
+ "Personalizar JS não faz efeito ao vivo. Para visualizar, salve a "
780
+ "configuração e acesse a página de %1$s login%2$s ou, após salvar, atualize o "
781
+ "customizer."
782
+
783
+ #: custom.php:1528 custom.php:1530
784
+ msgid "Powered by:"
785
+ msgstr "Texto de Copyright:"
786
+
787
+ #: custom.php:1641 include/customizer-strings.php:140
788
+ #, php-format
789
+ msgid "%1$sError:%2$s Invalid Password."
790
+ msgstr "%1$sErro:%2$s senha inválida."
791
+
792
+ #: custom.php:1647 include/customizer-strings.php:143
793
+ #, php-format
794
+ msgid "%1$sError:%2$s The email address isn't correct.."
795
+ msgstr "%1$sErro:%2$s o e-mail não está correto.."
796
+
797
+ #: custom.php:1649 include/customizer-strings.php:144
798
+ #, php-format
799
+ msgid "%1$sError:%2$s Please type your email address."
800
+ msgstr "%1$sErro:%2$s por favor digite seu e-mail."
801
+
802
+ #: custom.php:1651 include/customizer-strings.php:145
803
+ #, php-format
804
+ msgid ""
805
+ "%1$sError:%2$s This username is already registered. Please choose another "
806
+ "one."
807
+ msgstr ""
808
+ "%1$sErro:%2$s este nome de usuário já está registrado. Por favor, escolha um "
809
+ "outro."
810
+
811
+ #: custom.php:1653 include/customizer-strings.php:146
812
+ #, php-format
813
+ msgid ""
814
+ "%1$sError:%2$s This email is already registered, please choose another one."
815
+ msgstr ""
816
+ "%1$sErro:%2$s este e-mail já está registado, por favor escolha um outro."
817
+
818
+ #: custom.php:1655 include/customizer-strings.php:147
819
+ #, php-format
820
+ msgid "%1$sError:%2$s Invalid username or email."
821
+ msgstr "%1$sErro:%2$s usuário ou e-mail inválido."
822
+
823
+ #: custom.php:1730 include/template-loginpress.php:469
824
+ msgid "Username"
825
+ msgstr "Nome de Usuário"
826
+
827
+ #: custom.php:1732
828
+ msgid "Email Address"
829
+ msgstr "E-mail"
830
+
831
+ #: custom.php:1799 include/template-loginpress.php:370
832
+ msgid ""
833
+ "Please enter your username or email address. You will receive a link to "
834
+ "create a new password via email."
835
+ msgstr ""
836
+ "Por favor, digite seu nome de usuário ou endereço de e-mail. Você receberá "
837
+ "um link para criar uma nova senha por e-mail."
838
+
839
+ #: custom.php:1807 include/template-loginpress.php:465
840
+ msgid "Register For This Site"
841
+ msgstr "Crie sua conta"
842
+
843
+ #: custom.php:1825 custom.php:1829
844
+ msgid "Your password has been reset."
845
+ msgstr "Sua senha foi alterada."
846
+
847
+ #: custom.php:1829 include/template-loginpress.php:397
848
+ #: include/template-loginpress.php:491
849
+ msgid "Log in"
850
+ msgstr "Entrar"
851
+
852
+ #: include/class-remote-notification-client.php:126
853
+ #: include/class-remote-notification-client.php:137
854
+ msgid "Cheatin&#8217; huh?"
855
+ msgstr "Cheatin&#8217; huh?"
856
+
857
+ #: include/class-remote-notification-client.php:502
858
+ msgid "Dismiss notification"
859
+ msgstr "Dispensar notificação"
860
+
861
+ #: include/class-remote-notification-client.php:701
862
+ #, php-format
863
+ msgid "The server response was invalid (code %s)"
864
+ msgstr "A resposta do servidor foi inválida (código %s)"
865
+
866
+ #: include/class-remote-notification-client.php:707
867
+ msgid "The server response is empty"
868
+ msgstr "A resposta do servidor está vazia"
869
+
870
+ #: include/class-remote-notification-client.php:713
871
+ msgid "Cannot decode the response content"
872
+ msgstr "Não é possível decodificar o conteúdo da resposta"
873
+
874
+ #. translators: 1: Name of this plugin
875
+ #: include/create-loginpress-page.php:58
876
+ #, php-format
877
+ msgid ""
878
+ "<p>This page is used by %1$s to preview the login page in the Customizer.</p>"
879
+ msgstr ""
880
+ "<p> Esta página é usada por %1$s para visualizar a página de login no "
881
+ "Persnonalizador. </p>"
882
+
883
+ #: include/create-loginpress-page.php:63
884
+ msgctxt "Page slug"
885
+ msgid "loginpress"
886
+ msgstr "loginpress"
887
+
888
+ #: include/create-loginpress-page.php:64
889
+ msgctxt "Page title"
890
+ msgid "LoginPress"
891
+ msgstr "LoginPress"
892
+
893
+ #: include/customizer-strings.php:9
894
+ msgid "Logo Width:"
895
+ msgstr "Largura da Logo:"
896
+
897
+ #: include/customizer-strings.php:9
898
+ msgid "Logo Height:"
899
+ msgstr "Altura da logo:"
900
+
901
+ #: include/customizer-strings.php:9
902
+ msgid "Space Bottom:"
903
+ msgstr "Espaço inferior:"
904
+
905
+ #: include/customizer-strings.php:23
906
+ msgid "Input Fields:"
907
+ msgstr "Campos de Entrada:"
908
+
909
+ #: include/customizer-strings.php:24
910
+ msgid "Input Field Labels:"
911
+ msgstr "Etiquetas de campo de entrada:"
912
+
913
+ #: include/customizer-strings.php:25
914
+ msgid "Login Form:"
915
+ msgstr "Formulário de Login:"
916
+
917
+ #: include/customizer-strings.php:26
918
+ msgid "Lost Your Password Text"
919
+ msgstr "Texto de Esqueceu sua Senha"
920
+
921
+ #: include/customizer-strings.php:27
922
+ msgid "Back To Site Text"
923
+ msgstr "Texto de Voltar para o Site"
924
+
925
+ #: include/customizer-strings.php:28
926
+ msgid "LoginPress Footer Text"
927
+ msgstr "Texto do Rodapé do LoginPress"
928
+
929
+ #: include/customizer-strings.php:29
930
+ msgid "Background Image"
931
+ msgstr "Imagem de Fundo"
932
+
933
+ #: include/customizer-strings.php:30
934
+ msgid "Background Video"
935
+ msgstr "Vídeo de Fundo"
936
+
937
+ #: include/customizer-strings.php:32
938
+ msgid ""
939
+ "This section helps you to easily Customize the login form input field "
940
+ "elements."
941
+ msgstr ""
942
+ "Esta área permite que você personalize facilmente os elementos do campo de "
943
+ "entrada do formulário de início de sessão."
944
+
945
+ #: include/customizer-strings.php:33
946
+ msgid ""
947
+ "This section helps you to easily Customize the login form input field labels."
948
+ msgstr ""
949
+ "Esta área permite que você personalize facilmente as etiquetas dos campos de "
950
+ "entrada do formulário de início de sessão."
951
+
952
+ #: include/customizer-strings.php:34
953
+ msgid ""
954
+ "This section helps you to easily Customize the login form elements whether "
955
+ "they are form lables, fields or backgrounds."
956
+ msgstr ""
957
+ "Esta área permite que você personalize facilmente os elementos do formulário "
958
+ "de login, sejam rótulos, campos ou planos de fundo."
959
+
960
+ #: include/customizer-strings.php:35
961
+ msgid ""
962
+ " Customize the \"Lost your password\" and \"Register\" text section under "
963
+ "the form."
964
+ msgstr ""
965
+ " Personalize a seção de texto \"Esqueceu sua Senha\" e \"Registrar\" no "
966
+ "formulário."
967
+
968
+ #: include/customizer-strings.php:36
969
+ msgid "Customize the \"Back to\" text section under the form."
970
+ msgstr "Personalize a seção de texto \"Voltar ao\" no formulário."
971
+
972
+ #: include/customizer-strings.php:37
973
+ msgid ""
974
+ "Customize the copyright note and branding sections at the footer of login "
975
+ "page."
976
+ msgstr ""
977
+ "Personalize a nota de direitos autorais e as seções de marca no rodapé da "
978
+ "página de login."
979
+
980
+ #: include/customizer-strings.php:38
981
+ msgid "Customize the background Image."
982
+ msgstr "Personalizar a Imagem de Fundo."
983
+
984
+ #: include/customizer-strings.php:39
985
+ msgid "Customize the background Video."
986
+ msgstr "Personalizar o Vídeo de Fundo."
987
+
988
+ #: include/customizer-strings.php:49
989
+ msgid "Form Width:"
990
+ msgstr "Largura do Formulário:"
991
+
992
+ #: include/customizer-strings.php:50
993
+ msgid "Form Minimum Height:"
994
+ msgstr "Altura mínima do formulário:"
995
+
996
+ #: include/customizer-strings.php:51
997
+ msgid "Form Radius:"
998
+ msgstr "Arredondamento do Formulário:"
999
+
1000
+ #: include/customizer-strings.php:52
1001
+ msgid "Form Shadow:"
1002
+ msgstr "Sombra do Formulário:"
1003
+
1004
+ #: include/customizer-strings.php:53
1005
+ msgid "Form Shadow Opacity:"
1006
+ msgstr "Opacidade da Sombra do Formulário:"
1007
+
1008
+ #: include/customizer-strings.php:54
1009
+ msgid "Input Text Field Width:"
1010
+ msgstr "Largura do campo de texto de entrada:"
1011
+
1012
+ #: include/customizer-strings.php:55
1013
+ msgid "Input Text Field Radius:"
1014
+ msgstr "Raio do campo de introdução de texto:"
1015
+
1016
+ #: include/customizer-strings.php:56
1017
+ msgid "Input Text Field Shadow:"
1018
+ msgstr "Sombra do campo de texto de entrada:"
1019
+
1020
+ #: include/customizer-strings.php:57
1021
+ msgid "Input Text Field Shadow Opacity:"
1022
+ msgstr "Opacidade da sombra do campo de texto de entrada:"
1023
+
1024
+ #: include/customizer-strings.php:58
1025
+ msgid "Input Field Label Font Size:"
1026
+ msgstr "Tamanho da fonte da etiqueta dos campos de entrada:"
1027
+
1028
+ #: include/customizer-strings.php:59
1029
+ msgid "Remember Me Font Size:"
1030
+ msgstr "Tamanho da fonte do Lembrar-me:"
1031
+
1032
+ #: include/customizer-strings.php:78
1033
+ msgid "Form Background Color:"
1034
+ msgstr "Cor de Fundo do Formulário:"
1035
+
1036
+ #: include/customizer-strings.php:79
1037
+ msgid "Input Field Background Color:"
1038
+ msgstr "Cor de fundo do campo de entrada:"
1039
+
1040
+ #: include/customizer-strings.php:80
1041
+ msgid "Input Field Text Color:"
1042
+ msgstr "Cor do texto do campo de entrada:"
1043
+
1044
+ #: include/customizer-strings.php:81
1045
+ msgid "Input Field Label Color:"
1046
+ msgstr "Cor da etiqueta de campo de entrada:"
1047
+
1048
+ #: include/customizer-strings.php:82
1049
+ msgid "Remember me Label Color:"
1050
+ msgstr "Cor da etiqueta do Lembrar-me:"
1051
+
1052
+ #: include/customizer-strings.php:86 include/template-loginpress.php:382
1053
+ #: include/template-loginpress.php:514
1054
+ msgid "Username or Email Address"
1055
+ msgstr "Nome de Usuário ou Email"
1056
+
1057
+ #: include/customizer-strings.php:88
1058
+ msgid "Form Padding:"
1059
+ msgstr "Espaçamento do Formulário:"
1060
+
1061
+ #: include/customizer-strings.php:89
1062
+ msgid "Border (Example: 2px dotted black):"
1063
+ msgstr "Borda (Exemplo: 2px dotted black):"
1064
+
1065
+ #: include/customizer-strings.php:90
1066
+ msgid "Input Text Field Margin:"
1067
+ msgstr "Margem de campo de texto de entrada:"
1068
+
1069
+ #: include/customizer-strings.php:91
1070
+ msgid "Username Label:"
1071
+ msgstr "Etiqueta para Login:"
1072
+
1073
+ #: include/customizer-strings.php:92
1074
+ msgid "Password Label:"
1075
+ msgstr "Etiqueta para Senha:"
1076
+
1077
+ #: include/customizer-strings.php:104
1078
+ msgid "Button Color:"
1079
+ msgstr "Cor do Botão:"
1080
+
1081
+ #: include/customizer-strings.php:105
1082
+ msgid "Button Border Color:"
1083
+ msgstr "Cor da Borda do Botão:"
1084
+
1085
+ #: include/customizer-strings.php:106
1086
+ msgid "Button Color (Hover):"
1087
+ msgstr "Cor do Botão (Hover)"
1088
+
1089
+ #: include/customizer-strings.php:107
1090
+ msgid "Button Border (Hover):"
1091
+ msgstr "Botão do Borda (Hover)"
1092
+
1093
+ #: include/customizer-strings.php:108
1094
+ msgid "Button Box Shadow:"
1095
+ msgstr "Sombra do Botão:"
1096
+
1097
+ #: include/customizer-strings.php:109
1098
+ msgid "Button Text Color:"
1099
+ msgstr "Cor do Texto do Botão:"
1100
+
1101
+ #: include/customizer-strings.php:114
1102
+ msgid "Button Size:"
1103
+ msgstr "Tamanho do Botão:"
1104
+
1105
+ #: include/customizer-strings.php:114
1106
+ msgid "Button Top Padding:"
1107
+ msgstr "Espaçamento Superior do Botão:"
1108
+
1109
+ #: include/customizer-strings.php:114
1110
+ msgid "Button Bottom Padding:"
1111
+ msgstr "Espaçamento Inferior do Botão:"
1112
+
1113
+ #: include/customizer-strings.php:114
1114
+ msgid "Radius:"
1115
+ msgstr "Arredondamento:"
1116
+
1117
+ #: include/customizer-strings.php:114
1118
+ msgid "Shadow:"
1119
+ msgstr "Sombra:"
1120
+
1121
+ #: include/customizer-strings.php:114
1122
+ msgid "Shadow Opacity:"
1123
+ msgstr "Opacidade da Sombra:"
1124
+
1125
+ #: include/customizer-strings.php:114
1126
+ msgid "Text Size:"
1127
+ msgstr "Tamanho do Texto:"
1128
+
1129
+ #: include/customizer-strings.php:150
1130
+ msgid "Incorrect Username Message:"
1131
+ msgstr "Mensagem de nome de usuário incorreto:"
1132
+
1133
+ #: include/customizer-strings.php:151
1134
+ msgid "Incorrect Password Message:"
1135
+ msgstr "Mensagem de senha incorreta:"
1136
+
1137
+ #: include/customizer-strings.php:152
1138
+ msgid "Empty Username Message:"
1139
+ msgstr "Mensagem de usuário vazio:"
1140
+
1141
+ #: include/customizer-strings.php:153
1142
+ msgid "Empty Password Message:"
1143
+ msgstr "Mensagem de senha vazia:"
1144
+
1145
+ #: include/customizer-strings.php:154
1146
+ msgid "Invalid Email Message:"
1147
+ msgstr "Mensagem de e-mail inválido:"
1148
+
1149
+ #: include/customizer-strings.php:155
1150
+ msgid "Empty Email Message:"
1151
+ msgstr "Mensagem de e-mail vazio:"
1152
+
1153
+ #: include/customizer-strings.php:156
1154
+ msgid "Username Already Exist Message:"
1155
+ msgstr "Mensagem de usuário já existente:"
1156
+
1157
+ #: include/customizer-strings.php:157
1158
+ msgid "Email Already Exist Message:"
1159
+ msgstr "Mensagem de e-mail já existente:"
1160
+
1161
+ #: include/customizer-strings.php:158
1162
+ msgid "Forget Password Message:"
1163
+ msgstr "Mensagem de esqueceu a senha:"
1164
+
1165
+ #: include/customizer-strings.php:159
1166
+ msgid "Login with Email Message:"
1167
+ msgstr "Mensagem de login com e-mail:"
1168
+
1169
+ #: include/customizer-strings.php:170
1170
+ msgid "Welcome Message on Lost Password:"
1171
+ msgstr "Mensagem de Boas Vindas ao Esquecer a Senha:"
1172
+
1173
+ #: include/customizer-strings.php:171
1174
+ msgid "Welcome Message on Login Page:"
1175
+ msgstr "Mensagem de boas-vindas na página de login:"
1176
+
1177
+ #: include/customizer-strings.php:172
1178
+ msgid "Welcome Message on Registration:"
1179
+ msgstr "Mensagem de Boas Vindas no Registro:"
1180
+
1181
+ #: include/customizer-strings.php:173
1182
+ msgid "Logout Message:"
1183
+ msgstr "Mensagem de Saída:"
1184
+
1185
+ #: include/customizer-strings.php:174
1186
+ msgid "Message Field Border: ( Example: 1px solid #00a0d2; )"
1187
+ msgstr "Borda do Campo de Mensagem ( Exemplo: 1px solid #00a0d2; )"
1188
+
1189
+ #: include/deactivate_modal.php:139
1190
+ msgid "Quick feedback about LoginPress"
1191
+ msgstr "Feedback rápido sobre o LoginPress"
1192
+
1193
+ #: include/deactivate_modal.php:142
1194
+ msgid "If you have a moment, please let us know why you are deactivating:"
1195
+ msgstr ""
1196
+ "Se você tiver um momento, deixe-nos saber por que você está desativando:"
1197
+
1198
+ #: include/deactivate_modal.php:150
1199
+ msgid " I upgraded to LoginPress Pro"
1200
+ msgstr " Eu fiz o upgrade para o LoginPress Pro"
1201
+
1202
+ #: include/deactivate_modal.php:152
1203
+ msgid ""
1204
+ "No need to deactivate this LoginPress Core version. Pro version works as an "
1205
+ "add-on with Core version."
1206
+ msgstr ""
1207
+ "Não é necessário desativar esta versão do LoginPress padrão. A versão Pro "
1208
+ "funciona como um add-on com a versão padrão."
1209
+
1210
+ #: include/deactivate_modal.php:159
1211
+ msgid "I only needed the plugin for a short period"
1212
+ msgstr "Só precisei do plugin por pouco tempo"
1213
+
1214
+ #: include/deactivate_modal.php:168
1215
+ msgid "I found a better plugin"
1216
+ msgstr "Encontrei um plugin melhor"
1217
+
1218
+ #: include/deactivate_modal.php:171
1219
+ msgid "Kindly tell us the Plugin name."
1220
+ msgstr "Por favor, diga-nos o nome do Plugin."
1221
+
1222
+ #: include/deactivate_modal.php:178
1223
+ msgid "The plugin broke my site"
1224
+ msgstr "O plugin estragou meu site"
1225
+
1226
+ #: include/deactivate_modal.php:187
1227
+ msgid "The plugin suddenly stopped working"
1228
+ msgstr "O plug-in parou de funcionar de repente"
1229
+
1230
+ #: include/deactivate_modal.php:196
1231
+ msgid "I no longer need the plugin"
1232
+ msgstr "Já não preciso do plugin"
1233
+
1234
+ #: include/deactivate_modal.php:205
1235
+ msgid "It's a temporary deactivation. I'm just debugging an issue."
1236
+ msgstr "É uma desativação temporária. Eu só estou resolvendo um problema."
1237
+
1238
+ #: include/deactivate_modal.php:214
1239
+ msgid "Other"
1240
+ msgstr "Outro"
1241
+
1242
+ #: include/deactivate_modal.php:217
1243
+ msgid "Kindly tell us the reason so we can improve."
1244
+ msgstr "Por favor, diga-nos o motivo para que possamos melhorar."
1245
+
1246
+ #: include/deactivate_modal.php:222
1247
+ msgid "Anonymous feedback"
1248
+ msgstr "Feedback Anônimo"
1249
+
1250
+ #: include/deactivate_modal.php:223
1251
+ msgid "Skip & Deactivate"
1252
+ msgstr "Pular e Desativar"
1253
+
1254
+ #: include/deactivate_modal.php:226
1255
+ msgid "Submit & Deactivate"
1256
+ msgstr "Enviar & Desativar"
1257
+
1258
+ #: include/deactivate_modal.php:227
1259
+ msgid "Cancel"
1260
+ msgstr "Cancelar"
1261
+
1262
+ #: include/loginpress-import-export.php:14
1263
+ msgid ""
1264
+ "Import/Export your LoginPress Settings for/from other sites. This will "
1265
+ "export/import all the settings including Customizer settings as well."
1266
+ msgstr ""
1267
+ "Importe / Exporte suas configurações do LoginPress para outros sites. Isso "
1268
+ "exportará/importará todas as configurações, incluindo as configurações do "
1269
+ "personalizador."
1270
+
1271
+ #: include/loginpress-import-export.php:19
1272
+ msgid "Import Settings:"
1273
+ msgstr "Configurações de Importação:"
1274
+
1275
+ #: include/loginpress-import-export.php:23
1276
+ msgid "Import"
1277
+ msgstr "Importar"
1278
+
1279
+ #: include/loginpress-import-export.php:28
1280
+ msgid "LoginPress Settings Imported Successfully."
1281
+ msgstr "Configurações do LoginPress Importadas com Sucesso."
1282
+
1283
+ #: include/loginpress-import-export.php:30
1284
+ msgid "Select a file and click on Import to start processing."
1285
+ msgstr ""
1286
+ "Selecionar um arquivo e clique em Importar para iniciar o procedimento."
1287
+
1288
+ #: include/loginpress-import-export.php:35
1289
+ msgid "Export Settings:"
1290
+ msgstr "Configurações de Exportação:"
1291
+
1292
+ #: include/loginpress-import-export.php:38
1293
+ msgid "Export"
1294
+ msgstr "Exportar"
1295
+
1296
+ #: include/loginpress-import-export.php:43
1297
+ msgid "LoginPress Settings Exported Successfully!"
1298
+ msgstr "As Configurações do LoginPress foram Exportadas com Sucesso!"
1299
+
1300
+ #: include/loginpress-import-export.php:44
1301
+ msgid "Export LoginPress Settings."
1302
+ msgstr "Exportar Configurações do LoginPress."
1303
+
1304
+ #: include/loginpress-optin-form.php:301
1305
+ msgid "Welcome to LoginPress"
1306
+ msgstr "Bem-vindo ao LoginPress"
1307
+
1308
+ #: include/loginpress-optin-form.php:307
1309
+ #, php-format
1310
+ msgid ""
1311
+ "%1$s Hey %2$s, %4$s If you opt-in some data about your installation of "
1312
+ "LoginPress will be sent to WPBrigade.com (This doesn't include stats)%4$s "
1313
+ "and You will receive new feature updates, security notifications etc %5$sNo "
1314
+ "Spam, I promise.%6$s %4$s%4$s Help us %7$sImprove LoginPress%8$s %4$s %4$s "
1315
+ msgstr ""
1316
+ "%1$s Olá %2$s, %4$s Se você optar por enviar alguns dados sobre a sua "
1317
+ "instalação do LoginPress, eles serão enviados para a WPBrigade.com (Isso não "
1318
+ "inclui estatísticas)%4$s e você receberá novas atualizações de recursos, "
1319
+ "notificações de segurança, etc. %5$sSem Spam, eu prometo.%6$s %4$s%4$s Ajude-"
1320
+ "nos %7$s melhorar o LoginPress%8$s %4$s %4$s "
1321
+
1322
+ #: include/loginpress-optin-form.php:308
1323
+ msgid "Allow and Continue "
1324
+ msgstr "Permitir e Continuar "
1325
+
1326
+ #: include/loginpress-optin-form.php:309
1327
+ msgid "Skip This Step"
1328
+ msgstr "Pular este Passo"
1329
+
1330
+ #: include/loginpress-optin-form.php:311
1331
+ msgid "What permissions are being granted?"
1332
+ msgstr "Que permissões estão sendo concedidas?"
1333
+
1334
+ #: include/loginpress-optin-form.php:313
1335
+ msgid "Your Website Overview"
1336
+ msgstr "Visão geral do seu site"
1337
+
1338
+ #: include/loginpress-optin-form.php:314
1339
+ msgid ""
1340
+ "Your Site URL, WordPress & PHP version, plugins & themes. This data lets us "
1341
+ "make sure this plugin always stays compatible with the most popular plugins "
1342
+ "and themes."
1343
+ msgstr ""
1344
+ "Sua URL do site, versão WordPress e PHP, plugins e temas. Estes dados nos "
1345
+ "permitem garantir que este plugin permaneça sempre compatível com os plugins "
1346
+ "e temas mais populares."
1347
+
1348
+ #: include/loginpress-optin-form.php:316
1349
+ msgid "Your Profile Overview"
1350
+ msgstr "Visão geral do seu perfil"
1351
+
1352
+ #: include/loginpress-optin-form.php:317
1353
+ msgid "Your name and email address."
1354
+ msgstr "Seu nome e email."
1355
+
1356
+ #: include/loginpress-optin-form.php:319
1357
+ msgid "Admin Notices"
1358
+ msgstr "Notificações Administrativas"
1359
+
1360
+ #: include/loginpress-optin-form.php:320
1361
+ msgid "Updates, Announcement, Marketing. No Spam, I promise."
1362
+ msgstr "Atualizações, anúncios, marketing. Sem Spam, eu prometo."
1363
+
1364
+ #: include/loginpress-optin-form.php:322
1365
+ msgid "Plugin Actions"
1366
+ msgstr "Ações do Plugin"
1367
+
1368
+ #: include/loginpress-optin-form.php:323
1369
+ msgid ""
1370
+ "Active, Deactive, Uninstallation and How you use this plugin's features and "
1371
+ "settings. This is limited to usage data. It does not include any of your "
1372
+ "sensitive LoginPress data, such as traffic. This data helps us learn which "
1373
+ "features are most popular, so we can improve the plugin further."
1374
+ msgstr ""
1375
+ "Ativar, Desativar, Desinstalação e Como você usa os recursos e configurações "
1376
+ "deste plugin. Isso se limita aos dados de uso. Ele não inclui nenhum dos "
1377
+ "seus dados sensíveis do LoginPress, como tráfego. Esses dados nos ajudam a "
1378
+ "aprender quais recursos são mais populares, para que possamos melhorar ainda "
1379
+ "mais o plug-in."
1380
+
1381
+ #: include/loginpress-optout-form.php:103
1382
+ #: include/loginpress-optout-form.php:119
1383
+ msgid "Opt Out"
1384
+ msgstr "Desativar"
1385
+
1386
+ #: include/loginpress-optout-form.php:108
1387
+ msgid ""
1388
+ "We appreciate your help in making the plugin better by letting us track some "
1389
+ "usage data."
1390
+ msgstr ""
1391
+ "Agradecemos a sua ajuda para tornar o plugin ainda melhor, deixando-nos "
1392
+ "rastrear alguns dados de uso."
1393
+
1394
+ #: include/loginpress-optout-form.php:112
1395
+ #, php-format
1396
+ msgid ""
1397
+ "Usage tracking is done in the name of making %1$s LoginPress %2$s better. "
1398
+ "Making a better user experience, prioritizing new features, and more good "
1399
+ "things. We'd really appreciate if you'll reconsider letting us continue with "
1400
+ "the tracking."
1401
+ msgstr ""
1402
+ "O rastreamento de uso é realizado para tornar o %1$s LoginPress %2$s melhor. "
1403
+ "Proporcionando uma melhor experiência ao usuário, priorizando novos recursos "
1404
+ "e novas funcionalidades. Nós realmente apreciaríamos se você pudesse "
1405
+ "reconsiderar e nos deixar continuar com o rastreamento."
1406
+
1407
+ #: include/loginpress-optout-form.php:113
1408
+ #, php-format
1409
+ msgid ""
1410
+ "By clicking \"Opt Out\", we will no longer be sending any data to %1$s "
1411
+ "LoginPress%2$s."
1412
+ msgstr ""
1413
+ "Ao clicar em \"Desativar\", não enviaremos mais dados para o %1$s LoginPress"
1414
+ "%2$s."
1415
+
1416
+ #: include/loginpress-optout-form.php:120
1417
+ msgid "On second thought - I want to continue helping"
1418
+ msgstr "Pensando melhor, quero continuar ajudando o LoginPress"
1419
+
1420
+ #: include/privacy-policy.php:13
1421
+ #, php-format
1422
+ msgid "%1$sPrivacy Policy%2$s."
1423
+ msgstr "%1$spolítica de privacidade%2$s."
1424
+
1425
+ #. translators: Login screen title. 1: Login screen name, 2: Network or site name
1426
+ #: include/template-loginpress.php:70
1427
+ #, php-format
1428
+ msgid "%1$s &lsaquo; %2$s &#8212; WordPress"
1429
+ msgstr "%1$s &lsaquo; %2$s &#8212; WordPress"
1430
+
1431
+ #: include/template-loginpress.php:147
1432
+ msgid "https://wordpress.org/"
1433
+ msgstr "https://wordpress.org/"
1434
+
1435
+ #: include/template-loginpress.php:148
1436
+ msgid "Powered by WordPress"
1437
+ msgstr "Distribuído por WordPress"
1438
+
1439
+ #. translators: %s: site title
1440
+ #: include/template-loginpress.php:250
1441
+ #, php-format
1442
+ msgctxt "site"
1443
+ msgid "&larr; Back to %s"
1444
+ msgstr "&larr; Voltar para %s"
1445
+
1446
+ #: include/template-loginpress.php:370
1447
+ msgid "Lost Password"
1448
+ msgstr "Senha perdida"
1449
+
1450
+ #: include/template-loginpress.php:393
1451
+ msgid "Get New Password"
1452
+ msgstr "Obter Nova Senha"
1453
+
1454
+ #: include/template-loginpress.php:400 include/template-loginpress.php:487
1455
+ #: include/template-loginpress.php:544
1456
+ msgid "Register"
1457
+ msgstr "Registrar"
1458
+
1459
+ #: include/template-loginpress.php:465
1460
+ msgid "Registration Form"
1461
+ msgstr "Formulário de registro"
1462
+
1463
+ #: include/template-loginpress.php:473
1464
+ msgid "Email"
1465
+ msgstr "E-mail"
1466
+
1467
+ #: include/template-loginpress.php:484
1468
+ msgid "Registration confirmation will be emailed to you."
1469
+ msgstr "Confirmação do cadastro será enviada para você por e-mail."
1470
+
1471
+ #: include/template-loginpress.php:508 include/template-loginpress.php:536
1472
+ msgid "Log In"
1473
+ msgstr "Entrar"
1474
+
1475
+ #: include/template-loginpress.php:534
1476
+ msgid "Remember Me"
1477
+ msgstr "Lembrar-me"
1478
+
1479
+ #: loginpress.php:277
1480
+ msgid "Activate"
1481
+ msgstr "Ativar"
1482
+
1483
+ #: loginpress.php:342
1484
+ msgid "Caps Lock is on"
1485
+ msgstr "Caps Lock Ligado"
1486
+
1487
+ #: loginpress.php:415
1488
+ msgid "Vote!"
1489
+ msgstr "Votar!"
1490
+
1491
+ #: loginpress.php:418
1492
+ msgid "Rate"
1493
+ msgstr "Avaliar"
1494
+
1495
+ #: loginpress.php:523
1496
+ #, php-format
1497
+ msgid "%1$s Settings %2$s | %3$s Customize %4$s"
1498
+ msgstr "%1$s Configurações %2$s | %3$s Personalizar %4$s"
1499
+
1500
+ #: loginpress.php:527
1501
+ #, php-format
1502
+ msgid " | %1$s Opt Out %2$s "
1503
+ msgstr " | %1$s Sair %2$s "
1504
+
1505
+ #: loginpress.php:529
1506
+ #, php-format
1507
+ msgid " | %1$s Opt In %2$s "
1508
+ msgstr " | %1$s Entrar %2$s "
1509
+
1510
+ #: loginpress.php:535
1511
+ #, php-format
1512
+ msgid "%1$s %3$s Upgrade Pro %4$s %2$s"
1513
+ msgstr "%1$s %3$s Atulizar Pro %4$s %2$s"
1514
+
1515
+ #. Plugin Name of the plugin/theme
1516
+ msgid "LoginPress - Customizing the WordPress Login"
1517
+ msgstr "LoginPress - Personalizando o Login do WordPress"
1518
+
1519
+ #. Plugin URI of the plugin/theme
1520
+ msgid "https://WPBrigade.com/wordpress/plugins/loginpress/"
1521
+ msgstr "https://WPBrigade.com/wordpress/plugins/loginpress/"
1522
+
1523
+ #. Description of the plugin/theme
1524
+ msgid ""
1525
+ "LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by "
1526
+ "<a href=\"https://wpbrigade.com/\">WPBrigade</a> which allows you to "
1527
+ "completely change the layout of login, register and forgot password forms."
1528
+ msgstr ""
1529
+ "O LoginPress é o melhor plugin de customização de página de login <code>wp-"
1530
+ "login</code> do <a href=\"https://wpbrigade.com/\">WPBrigade</a> que permite "
1531
+ "alterar completamente o layout dos formulários de login, registro e senha "
1532
+ "esquecidos."
1533
+
1534
+ #. Author of the plugin/theme
1535
+ msgid "WPBrigade"
1536
+ msgstr "WPBrigade"
1537
+
1538
+ #. Author URI of the plugin/theme
1539
+ msgid "https://WPBrigade.com/"
1540
+ msgstr "https://WPBrigade.com/"
loginpress.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: https://WPBrigade.com/wordpress/plugins/loginpress/
5
  * Description: LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by <a href="https://wpbrigade.com/">WPBrigade</a> which allows you to completely change the layout of login, register and forgot password forms.
6
- * Version: 1.3.2
7
  * Author: WPBrigade
8
  * Author URI: https://WPBrigade.com/
9
  * Text Domain: loginpress
@@ -22,7 +22,7 @@ if ( ! class_exists( 'LoginPress' ) ) :
22
  /**
23
  * @var string
24
  */
25
- public $version = '1.3.2';
26
 
27
  /**
28
  * @var The single instance of the class
@@ -614,4 +614,4 @@ if (!class_exists('TAV_Remote_Notification_Client')) {
614
  $notification = new TAV_Remote_Notification_Client( 125, '16765c0902705d62', 'https://wpbrigade.com?post_type=notification' );
615
 
616
  register_activation_hook( __FILE__, array( 'LoginPress', 'plugin_activation' ) );
617
- register_uninstall_hook( __FILE__, array( 'LoginPress', 'plugin_uninstallation' ) );
3
  * Plugin Name: LoginPress - Customizing the WordPress Login
4
  * Plugin URI: https://WPBrigade.com/wordpress/plugins/loginpress/
5
  * Description: LoginPress is the best <code>wp-login</code> Login Page Customizer plugin by <a href="https://wpbrigade.com/">WPBrigade</a> which allows you to completely change the layout of login, register and forgot password forms.
6
+ * Version: 1.4.0
7
  * Author: WPBrigade
8
  * Author URI: https://WPBrigade.com/
9
  * Text Domain: loginpress
22
  /**
23
  * @var string
24
  */
25
+ public $version = '1.4.0';
26
 
27
  /**
28
  * @var The single instance of the class
614
  $notification = new TAV_Remote_Notification_Client( 125, '16765c0902705d62', 'https://wpbrigade.com?post_type=notification' );
615
 
616
  register_activation_hook( __FILE__, array( 'LoginPress', 'plugin_activation' ) );
617
+ register_uninstall_hook( __FILE__, array( 'LoginPress', 'plugin_uninstallation' ) );
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Custom Login Page Customizer | LoginPress ===
2
  Requires at least: 4.0
3
- Tested up to: 5.2
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, login, login customizer, custom login, wordpress login,
7
- Stable tag: 1.3.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -110,6 +110,7 @@ After going through this extensive list of features you can imagine Why LoginPre
110
  * French
111
  * Dutch (Netherlands) Translated by <a href="https://profiles.wordpress.org/harm10/" rel="friend">Harm10</a>
112
  * Russian Translated by <a href="https://profiles.wordpress.org/satone667" rel="friend">satone667</a>
 
113
 
114
 
115
  = What's Next =
@@ -214,9 +215,18 @@ Please visit <a target="_blank" rel="friend" href="https://WPBrigade.com/wordpre
214
 
215
  == Changelog ==
216
 
 
 
 
 
 
 
 
 
217
  = 1.3.2 – 2019-10-23 =
218
  * Bugfix: Firefox CSS conflict with premium templates.
219
  * Bugfix: Compatible with Thrive Themes. Dequeue their stylesheet on login page only.
 
220
  * Enhancement: Added a filter `loginpress_exclude_role_session` to exclude the user roles from session expiration.
221
  * Enhancement: Compatible with Password Protected plugin. Login logo title fixed.
222
 
@@ -530,5 +540,5 @@ Please visit <a target="_blank" rel="friend" href="https://WPBrigade.com/wordpre
530
 
531
  == Upgrade Notice ==
532
 
533
- = 1.3.2 =
534
  * Important Release, upgrade immediately.
1
  === Custom Login Page Customizer | LoginPress ===
2
  Requires at least: 4.0
3
+ Tested up to: 5.3
4
  Contributors: WPBrigade, hiddenpearls, AbdulWahab610
5
  Author URI: https://wpbrigade.com
6
  Tags: wp-login, login, login customizer, custom login, wordpress login,
7
+ Stable tag: 1.4.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
110
  * French
111
  * Dutch (Netherlands) Translated by <a href="https://profiles.wordpress.org/harm10/" rel="friend">Harm10</a>
112
  * Russian Translated by <a href="https://profiles.wordpress.org/satone667" rel="friend">satone667</a>
113
+ * Portuguese (Brazil) Translated by <a href="https://en.gravatar.com/rmcbrothers" rel="friend">Rodrigo</a>
114
 
115
 
116
  = What's Next =
215
 
216
  == Changelog ==
217
 
218
+ = 1.4.0 – 2019-11-15 =
219
+ * New Feature: Created a new Pro Animated Login Page template.
220
+ * Bugfix: Compatible with All In One WP Security & Firewall. Remove `/wp_admin` redirect in customizer for customizing the login page.
221
+ * Bugfix: Compatible with Oxygen Builder.
222
+ * Enhancement: Update the email string on user registration if using the LoginPress custom password field.
223
+ * Compatibility: Compatible with WordPress 5.3
224
+ * Compatibility: LoginPress is compatible with Portuguese (Brazil) language now. Special thanks to <a href="https://en.gravatar.com/rmcbrothers" rel="friend">Rodrigo</a> to contribute.
225
+
226
  = 1.3.2 – 2019-10-23 =
227
  * Bugfix: Firefox CSS conflict with premium templates.
228
  * Bugfix: Compatible with Thrive Themes. Dequeue their stylesheet on login page only.
229
+ * Bugfix: Compatible with Oxygen Builder.
230
  * Enhancement: Added a filter `loginpress_exclude_role_session` to exclude the user roles from session expiration.
231
  * Enhancement: Compatible with Password Protected plugin. Login logo title fixed.
232
 
540
 
541
  == Upgrade Notice ==
542
 
543
+ = 1.4.0 =
544
  * Important Release, upgrade immediately.