We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37112
    • 15 Posts
    Hello,
    I wrote a plugin that redirects when the user logs on and depending on their permissions redirected to an appeal or other resource. In a language (Spanish) works fine but does not work in English. And after I loged get a 503 error.
    Any idea to solve?
    if ($modx->event->name !== 'OnWebLogin') {return;}
    
    
    $usergroups = $user->getUserGroupNames();
    if(empty($usergroups)){return;}
    
    $user = $modx->getUser();
    
    
    $modx->log(modX::LOG_LEVEL_ERROR, '************************************************************');
    
    $modx->log(modX::LOG_LEVEL_ERROR, 'USUARIO INICIO --> '. $user->get('username'));
    $modx->log(modX::LOG_LEVEL_ERROR, 'GRUPOS USUARIO --> '. $usergroups);
    
    
    $grpPrivada = "Area Privada";
    $grpImage = "Banco Imagenes";
    
    $language=$modx->context->getOption('cultureKey');
    $modx->log(modX::LOG_LEVEL_ERROR, 'LANGUAGE  --> ' . $language . " <--");
    
    if ($language=="es")
    {
      $idPrivateArea=660;
      $idBankImage=661;
      $home=1;
      $modx->log(modX::LOG_LEVEL_ERROR, 'ESTAMOS EN ESPAÑOL');
    }
    
    if ($language=="en")
    {
      $idPrivateArea=868;
      $idBankImage=876;
      $home=2;
      $modx->log(modX::LOG_LEVEL_ERROR, 'ESTAMOS EN INGLES');
    }
    
    $modx->log(modX::LOG_LEVEL_ERROR, 'IDPRIVATEAREA --> '. $idPrivateArea);
    
    switch (TRUE) {
     case in_array($grpPrivada, $usergroups):
     $_REQUEST['redirectBack'] = $idPrivateArea;
     $modx->log(modX::LOG_LEVEL_ERROR, 'GRUPO AREA PRIVADA  --> '. $idPrivateArea);
     break;
     case in_array($grpImage, $usergroups):
      $_REQUEST['redirectBack'] = $idBankImage;
      break;
    default:
     $_REQUEST['redirectBack'] = $home;
     break;
    }
    
    
    $user = $modx->getUser();
    $modx->log(modX::LOG_LEVEL_ERROR, 'USUARIO FINAL --> '. $user->get('username'));
    
    $modx->log(modX::LOG_LEVEL_ERROR, '************************************************************');
    return;
    


    Call snippet in web context (spanish):
    [[!Login? &loginTpl=`vivesLoginTpl` &logoutTpl=`lgnLogoutTpl` &errTpl=`lgnErrTpl` &logoutResourceId=`9` &contexts=`web,en,fr,de`]]


    And english context (en)
    [[!Login? &loginTpl=`vivesLoginTpl` &logoutTpl=`lgnLogoutTpl` &errTpl=`lgnErrTpl` &logoutResourceId=`735` &contexts=`web,en,fr,de`]]
    [ed. note: vllopico last edited this post 10 years, 3 months ago.]