Lemonldap-NG-Portal

 view release on metacpan or  search on metacpan

lib/Lemonldap/NG/Portal/Main/Display.pm  view on Meta::CPAN

            and $req->{error} != PE_BADCREDENTIALS
            and $req->{error} != PE_PP_CHANGE_AFTER_RESET
            and $req->{error} != PE_PP_PASSWORD_EXPIRED
            and $req->{error} != PE_BADOLDPASSWORD
            and $req->{error} != PE_PP_PASSWORD_EXPIRES_SOON )
      )
    {
        $skinfile       = 'error';
        %templateParams = (
            $self->getErrorTplParams($req),
            (
                $req->data->{customScript}
                ? ( CUSTOM_SCRIPT => $req->data->{customScript} )
                : ()
            ),
        );
    }

    # 3 Authentication has been refused OR first access
    else {
        $skinfile = 'login';
        my $login = $req->user || $req->data->{suggestedLogin};
        %templateParams = (
            $self->getErrorTplParams($req),
            AUTH_URL              => $req->{data}->{_url},
            LOGIN                 => $login,
            ACTIVE_FORM           => 1,
            DONT_STORE_PASSWORD   => $self->conf->{browsersDontStorePassword},
            CHECK_LOGINS          => $self->conf->{portalCheckLogins},
            ASK_LOGINS            => $req->param('checkLogins')   || 0,
            ASK_STAYCONNECTED     => $req->param('stayconnected') || 0,
            DISPLAY_RESETPASSWORD => $self->conf->{portalDisplayResetPassword},
            DISPLAY_REGISTER      => $self->conf->{portalDisplayRegister},
            DISPLAY_UPDATECERTIF  =>
              $self->conf->{portalDisplayCertificateResetByMail},
            MAILCERTIF_URL => $self->certificateResetUrl,
            MAIL_URL       => $self->passwordResetUrl,
            REGISTER_URL   => $self->registerUrl,
            HIDDEN_INPUTS  => $self->buildHiddenForm($req),
            IMPERSONATION  => $self->conf->{impersonationRule}
              || $self->conf->{proxyAuthServiceImpersonation},
            ENABLE_PASSWORD_DISPLAY =>
              $self->conf->{portalEnablePasswordDisplay},
            %{ $self->getPasswordPolicyTemplateVars },
            ( (
                         $self->conf->{trustedBrowserRule}
                      or $self->stayConnected->( $req, $req->sessionInfo )
                ) ? ( STAYCONNECTED => 1 )
                : ()
            ),
            BROWSER_ALREADY_TRUSTED => $req->{data}->{browserAlreadyTrusted},
            (
                $self->rememberAuthChoice->( $req, $req->sessionInfo )
                ? ( REMEMBERAUTHCHOICE => 1 )
                : ()
            ),
            REMEMBERAUTHCHOICEDEFAULTCHECKED =>
              $self->conf->{rememberDefaultChecked} // 0,
            REMEMBERAUTHCHOICECOOKIENAME => $self->conf->{rememberCookieName}
              // 'llngrememberauthchoice',
            REMEMBERAUTHCHOICETIMER => $self->conf->{rememberTimer} // 5,
            (
                $req->data->{customScript}
                ? ( CUSTOM_SCRIPT => $req->data->{customScript} )
                : ()
            ),
        );

        # External links
        if ( $self->conf->{portalDisplayResetPassword} ) {
            $templateParams{"MAIL_URL_EXTERNAL"} =
              $self->_isExternalUrl( $req, $self->passwordResetUrl );
        }
        if ( $self->conf->{portalDisplayRegister} ) {
            $templateParams{"REGISTER_URL_EXTERNAL"} =
              $self->_isExternalUrl( $req, $self->registerUrl );
        }
        if ( $self->conf->{portalDisplayCertificateResetByMail} ) {
            $templateParams{MAILCERTIF_URL_EXTERNAL} =
              $self->_isExternalUrl( $req, $self->certificateResetUrl );
        }

        # Display captcha if it's enabled
        if ( $req->captchaHtml ) {
            %templateParams =
              ( %templateParams, CAPTCHA_HTML => $req->captchaHtml, );
        }
        if ( $req->token ) {
            %templateParams = ( %templateParams, TOKEN => $req->token, );
        }

       # DEPRECATED: This is only used for compatibility with existing templates
        if ( $req->captcha ) {
            %templateParams = (
                %templateParams,
                CAPTCHA_SRC  => $req->captcha,
                CAPTCHA_SIZE => $self->{conf}->{captcha_size} || 6
            );
        }

        # Show password form if password policy error
        if (

               $req->{error} == PE_PP_CHANGE_AFTER_RESET
            or $req->{error} == PE_PP_MUST_SUPPLY_OLD_PASSWORD
            or $req->{error} == PE_PP_INSUFFICIENT_PASSWORD_QUALITY
            or $req->{error} == PE_PP_PASSWORD_TOO_SHORT
            or $req->{error} == PE_PP_PASSWORD_TOO_YOUNG
            or $req->{error} == PE_PP_PASSWORD_IN_HISTORY
            or $req->{error} == PE_PASSWORD_MISMATCH
            or $req->{error} == PE_BADOLDPASSWORD
            or $req->{error} == PE_PASSWORDFORMEMPTY
            or $req->{error} == PE_PP_PASSWORD_EXPIRES_SOON
            or (    $req->{error} == PE_PP_PASSWORD_EXPIRED
                and $self->conf->{ldapAllowResetExpiredPassword} )
          )
        {
            %templateParams = (
                %templateParams,
                REQUIRE_OLDPASSWORD =>
                  1,    # Old password is required to check user credentials



( run in 1.901 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )