예제 #1
0
  // регистрация пользователя
  public boolean registrationWithPassword() throws Exception {
    boolean status = false;
    // проверить наличие такого логина
    ArrayList<String> errors = new ArrayList<String>();
    if (MyString.NotNull(getReq("login"))) {
      if (MyString.NotNull(getReq("password")) && MyString.NotNull(getReq("password2"))) {
        if (getReq("password").equals(getReq("password2"))) {
          String password = getReq("password").toString();
          String login = (String) getReq("login");
          Table users = getTable("users");
          Select se = getSelect();
          se.select(users);
          se.from(users);
          se.and(users.get("login").eq(login));
          se.and(users.get("active_to").isNull());
          se.executeSelect(getConnection());
          if (se.getDinamicList().size() > 0) {
            errors.add("Пользователь с таким адресом электронной почты уже существует");
          } else {
            String hash = Security.getPasswordHash(password);
            Model userModel = getModel(getModelName());
            userModel.set("password", hash);
            userModel.set("login", login);
            userModel.set("active_from", FormatDate.getCurrentDateInMysql());
            status = userModel.save();
            if (status) {
              set("user_id", userModel.get("user_id"));
            } else {
              errors.addAll(userModel.getError());
            }
          }
        } else {
          addError("Ошибка: пароль не совпадает с подтверждением");
        }
      } else {
        setStatus(false);
        addError("не передан пароль");
      }
    } else {
      setStatus(false);
      addError("не передан адрес электронной почты");
    }

    addError(errors);
    setStatus(status);
    return status;
  }
예제 #2
0
 /** сбросить пароль на случайное значение */
 public void resetPassword() {
   try {
     if (MyString.NotNull(getReq("user_id"))) {
       Model users = getModel();
       users.set("user_id", getReq("user_id"));
       set("user_profile_id", getReq("user_profile_id"));
       if (users.findByPrimary()) {
         String password = "******";
         users.set("password", Security.getPasswordHash(password));
         users.save();
         set("password", password);
         model(users);
       } else {
         addError(users.getError());
       }
     } else {
       addError("не определен пользователь");
     }
   } catch (Exception e) {
     registerException(e);
   }
 }