Package com.dotcms.repackage.org.apache.struts.action

Examples of com.dotcms.repackage.org.apache.struts.action.ActionMessages


        /*This was created for CSU-604
         * This code let it send messages of warning between pages, when
         * the session or request messages doesn't work
         * */
        if(UtilMethods.isSet(request.getParameter("message"))){
          ActionMessages message = new ActionMessages();
      message.add("message", new ActionMessage(request.getParameter("message")));
      saveMessages(request, message);
        }else if(UtilMethods.isSet(request.getParameter("error"))){
          ActionMessages errors = new ActionMessages();
      errors.add("errors", new ActionMessage(request.getParameter("error")));
      saveErrors(request, errors);
        }

        ActionForward af = (mapping.findForward("loginPage"));

View Full Code Here


                  ActionForward af = new ActionForward(SecurityUtils.stripReferer(request, redir));
                  af.setRedirect(true);
                  return af;
              }

          ActionMessages msg = new ActionMessages();
              msg.add(Globals.MESSAGE_KEY, new ActionMessage("message.Login.Successful"));
              request.setAttribute(Globals.MESSAGE_KEY, msg);

              ActionForward af = new ActionForward(SecurityUtils.stripReferer(request, referrer));
              af.setRedirect(true);
              return af;
View Full Code Here

        String referrer = request.getParameter("referrer");
       
          LoginFactory.doLogout(request, response);


            ActionMessages am = new ActionMessages();
            am.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.Logout.Successful"));
            request.getSession().setAttribute(Globals.MESSAGE_KEY, am);

            ActionForward af = null;
            if(UtilMethods.isSet(referrer)) {
              af = new ActionForward(SecurityUtils.stripReferer(request, referrer));
View Full Code Here

    else
      subscribeToMailingLists(u, inodes, true);

    HibernateUtil.commitTransaction();

      ActionMessages message = new ActionMessages();
    message.add("message", new ActionMessage("message.myaccount.mailinglists.updated"));
    saveMessages(request, message);

    String referrer = null;
    if (request.getParameter("referrer") != null && !request.getParameter("referrer").toString().equalsIgnoreCase("")) {
      referrer = (String)request.getParameter("referrer");
View Full Code Here


    subscribeToMailingLists(user, inodes, form.isUnsubscribeFromAll());
    HibernateUtil.commitTransaction();

      ActionMessages message = new ActionMessages();
    message.add("message", new ActionMessage("message.myaccount.mailinglists.updated"));
    saveMessages(request.getSession(), message);

    String returnURL = null;
    if (request.getParameter("return") != null && !request.getParameter("return").toString().equalsIgnoreCase("")) {
      returnURL = (String)request.getParameter("return");
View Full Code Here

  public ActionForward submitContent(ActionMapping rMapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response)
  throws Exception {

    ActionErrors errors = new ActionErrors();
    ActionMessages message = new ActionMessages();
    HttpSession session = request.getSession();
    UploadServletRequest uploadReq = (UploadServletRequest) request;
    Host host = hostWebAPI.getCurrentHost(request);

    boolean useCaptcha = false;
    boolean useAudioCaptcha =false;
    boolean autoPublish = false;
    String moderatorRole="";
    List<Field> imageFields = new ArrayList<Field>();
    List<Field> fileFields = new ArrayList<Field>();
    List<String> imageNames = new ArrayList<String>();
    List<String> fileNames = new ArrayList<String>();

    /**
     * Getting Referrer
     */
    String referrer = request.getParameter("referrer");
    if(referrer.endsWith("?")){
      referrer = referrer.substring(0,referrer.length()-1);
    }
    ActionForward af = new ActionForward(SecurityUtils.stripReferer(request, referrer));
    af.setRedirect(true);

    int index = referrer.lastIndexOf('/');
    String htmlServlet = null;
    if (index < 0)
      htmlServlet = referrer;
    else
      htmlServlet = referrer.substring(index + 1);

    if (htmlServlet.indexOf('.') < 0) {
      //If is a servlet
      referrer += "/";
    }

    String params="";
    HibernateUtil.startTransaction();

    try {
      /**
       * Getting user
       */
      String userId = request.getParameter("userId");

      /**
       * Getting content structure
       */
      String structureInode = request.getParameter("structure");
      Structure st = StructureCache.getStructureByInode(structureInode);


      /**
       * Getting options flags
       */
      String options = request.getParameter("options");
      if(UtilMethods.isSet(options)){
        options = PublicEncryptionFactory.decryptString(options);
        String[] opt = options.split(";");
        for(String text: opt){
          if(text.indexOf("contentUseCaptcha") != -1){
            useCaptcha = Boolean.parseBoolean(text.substring(text.indexOf("=")+1));
          }else if(text.indexOf("contentUseAudioCaptcha") != -1){
            useAudioCaptcha = Boolean.parseBoolean(text.substring(text.indexOf("=")+1));
          }else if(text.indexOf("contentAutoPublish") != -1){
            autoPublish = Boolean.parseBoolean(text.substring(text.indexOf("=")+1));
          }else if(text.indexOf("contentModeration") != -1){
            moderatorRole = text.substring(text.indexOf("=")+1);
          }
        }
      }

      /**
       * Setting content values
       */
      URLEncoder encoder = new URLEncoder();
      StringBuilder paramsBuff=new StringBuilder();
      List<String> parametersName = new ArrayList<String>();
      List<String[]> values = new ArrayList<String[]>();
      List<String> parametersfileName = new ArrayList<String>();
      List<String[]> filevalues = new ArrayList<String[]>();
      java.util.Enumeration<String> parameterNames = request.getParameterNames();
      Map <String, String> parameters=  new HashMap <String, String> ();
      String parameterName;
      String emailvalues;
      String []emailvaluessep;
      List <String> emails= new ArrayList <String>();
      if (st.getStructureType() == Structure.STRUCTURE_TYPE_FORM) {
        emailvalues = st.getFieldVar("formEmail").getValues();
        if(UtilMethods.isSet(emailvalues)){
          emailvalues = emailvalues.trim().toLowerCase();
        }
        else {
            emailvalues = "";
        }
        if (UtilMethods.isSet(emailvalues)) {
          if (emailvalues.contains(",")) {
            emailvaluessep = emailvalues.split(",");
            for (String email : emailvaluessep) {
              if(RegEX.contains(email.trim(),"^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$)"))
                emails.add(email.trim());
              else throw new Exception("The email list provided by the Form is incorrectly formmated, please enter on the Form properties a valid email addresses separated by a comma.");
            }
          }else
            if(RegEX.contains(emailvalues.trim(),"^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*((\\.[A-Za-z]{2,}){1}$)"))
              emails.add(emailvalues.trim());
            else throw new Exception("The email provided by the Form is incorrect, please enter on the Form properties valid email address. ");
        }

        parameters.put("formTitle", st.getFieldVar("formTitle").getValues());
        parameters.put("formEmail", emailvalues);
        parameters.put("formReturnPage", st.getFieldVar("formReturnPage").getValues());


      }

      for (; parameterNames.hasMoreElements();) {
        parameterName = parameterNames.nextElement();
        Field  field = st.getFieldVar(parameterName);
        String fieldTypeStr = field!=null?field.getFieldType():"";
        Field.FieldType fieldType =  Field.FieldType.getFieldType(fieldTypeStr);
        String[] fieldValues = request.getParameterValues(parameterName);
        String value = "";
        if(fieldValues.length>1){
          for(String val:fieldValues){
            value+=","+val;
          }
          parameters.put(parameterName,value.substring(1));
        }else{
          parameters.put(parameterName,fieldValues[0]);
        }

        if(fieldType == null || (fieldType!=null && !fieldType.equals(Field.FieldType.IMAGE) && !fieldType.equals(Field.FieldType.FILE)&& !fieldType.equals(Field.FieldType.BINARY))){
          parametersName.add(parameterName);
          String[] vals = request.getParameterValues(parameterName);
          values.add(vals);
          if(!parameterName.equals("dispatch") && !parameterName.equals("captcha") && !parameterName.equals("options") && !parameterName.equals("structure") && !parameterName.equals("userId") && !parameterName.equals("referrer")){
            if(!SubmitContentUtil.imageOrFileParam(st, parameterName) && !UtilMethods.isImage(parameterName)){
              for(String val : vals){
                if(val.length() < 512) {
                  paramsBuff.append("&").append(parameterName).append("=").append(encoder.encode(val));
                }
              }
            }
          }
        }
        else {
          parametersfileName.add(parameterName);
          String[] vals = request.getParameterValues(parameterName);
          filevalues.add(vals);

          if(!parameterName.equals("dispatch") && !parameterName.equals("captcha") && !parameterName.equals("options") && !parameterName.equals("structure") && !parameterName.equals("userId") && !parameterName.equals("referrer")){
            if(!SubmitContentUtil.imageOrFileParam(st, parameterName)){
              for(String val : vals){
                paramsBuff.append("&").append(parameterName).append("=").append(encoder.encode(val));
              }
            }
          }
        }
      }

      params=paramsBuff.toString();

      /*
       * Checking for captcha
       */
      if(useCaptcha){

        if(!CaptchaUtil.isValidImageCaptcha(request)){
          User user = com.liferay.portal.util.PortalUtil.getUser(request);
          String mes=LanguageUtil.get(user, "org.dotcms.frontend.content.submission.captcha.validation.image");
          mes = mes.replace(":", "");
          errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.contentlet.required", mes));
          saveMessages(session, errors);
          if(errors.size() > 0 && UtilMethods.isSet(params)){
            referrer=referrer+"?"+params.substring(1);
            af = new ActionForward(referrer);
            af.setRedirect(true);
          }
          return af;
        }

      }

      if(useAudioCaptcha){

        if(!CaptchaUtil.isValidAudioCaptcha(request)){
          errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.contentlet.required","Validation Sound"));
          saveMessages(session, errors);
          if(errors.size() > 0 && UtilMethods.isSet(params)){
            referrer=referrer+"?"+params.substring(1);
            af = new ActionForward(referrer);
            af.setRedirect(true);
          }
          return af;
        }
      }

      /**
       * Get Categories
       */
      ArrayList<Category> cats = new ArrayList<Category>();
      String[] arr = request.getParameterValues("categories") == null?new String[0]:request.getParameterValues("categories");
      if (arr != null && arr.length > 0) {
        for (int i = 0; i < arr.length; i++) {
          if(UtilMethods.isSet(arr[i])){
            Category c = catAPI.find(arr[i], SubmitContentUtil.getUserFromId(userId), true);
            if(UtilMethods.isSet(c))
              cats.add(c);
          }
        }
      }

      for (int i = 0; i < parametersName.size(); ++i) {
        Field field = st.getFieldVar(parametersName.get(i));
        String[] fieldValue = values.get(i);
        int size = 0;
                if(fieldValue!= null && !fieldValue[0].equals("") ){
                  size=1;
          if (fieldValue[0].contains(",")) {
            String[] fieldValueaux = fieldValue[0].split(",");
            fieldValue = fieldValueaux;
            size = fieldValue.length;
          }
         }

        for (int j = 0; j < size; j++) {
          if ((field != null)&& (field.getFieldType() != null)&& (field.getFieldType().equals(Field.FieldType.CATEGORY.toString()))){
            Category c = catAPI.find(com.dotmarketing.util.VelocityUtil.cleanVelocity(fieldValue[j].trim()),SubmitContentUtil.getUserFromId(userId), true);
            if(UtilMethods.isSet(c))
              cats.add(c);
          }

        }
      }

      List<Map<String,Object>> fileParameters = new ArrayList<Map<String,Object>>();

      DotContentletValidationException cve = new DotContentletValidationException("Contentlet's fields are not valid");
      boolean hasError = false;

      /**
       * Get image fields
       */
      imageFields = StructureFactory.getImagesFieldsList(st, parametersfileName, filevalues);
      if(imageFields.size() > 0){

        for(Field f : imageFields){
          java.io.File uploadedFile = uploadReq.getFile(f.getVelocityVarName());
          String title = uploadReq.getFileName(f.getVelocityVarName());
          if(f.isRequired() && !UtilMethods.isSet(title)){
            cve.addRequiredField(f);
            hasError = true;
            continue;
          }
          if(uploadedFile!=null && uploadedFile.length()> 0){
            String contentType = uploadReq.getContentType(f.getVelocityVarName());
            if(contentType.equals("image/png") || contentType.equals("image/gif") || contentType.equals("image/jpeg")){
              Map<String,Object> temp = new HashMap<String,Object>();
              temp.put("field", f);
              temp.put("title", title);
              temp.put("file", uploadedFile);
              temp.put("host", host);
              fileParameters.add(temp);
            }else{
              cve.addBadTypeField(f);
              hasError = true;
              imageNames.add(title);
              continue;
            }
          }
        }
      }

      /**
       * Get file fields
       */
      //http://jira.dotmarketing.net/browse/DOTCMS-3463
      Map <String, Object> tempBinaryValues= new HashMap <String, Object>();
      fileFields = StructureFactory.getFilesFieldsList(st, parametersfileName, filevalues);
      List <Field> fields = st.getFields();
      for(Field field:fields){
        Map <String, Object> binaryvalues= new HashMap <String, Object>();
        if (field.getFieldType().equals("binary"))
        {
          tempBinaryValues=processBinaryTempFileUpload( field.getVelocityVarName(), request, field.getFieldContentlet()) ;
          binaryvalues.put("field", field);
          parametersName.add(tempBinaryValues.get("parameterName").toString());
          Object ob = tempBinaryValues.get("parameterValues");
          if(ob != null){
            File f = (File)ob;
            binaryvalues.put("file", f);
            values.add(new String []{f.getAbsolutePath()});
          }else{
            binaryvalues.put(field.getVelocityVarName(), null);
            values.add(new String []{""});
          }
          fileParameters.add(binaryvalues);
        }

      }
      if(fileFields.size() > 0){

        for(Field f : fileFields){
          java.io.File uploadedFile = uploadReq.getFile(f.getVelocityVarName());
          String title = uploadReq.getFileName(f.getVelocityVarName());
          fileNames.add(title);

          if(f.isRequired() && !UtilMethods.isSet(title)){
            cve.addRequiredField(f);
            hasError = true;
            continue;
          }
          if(uploadedFile!=null && uploadedFile.length()> 0) {
            Map<String,Object> temp = new HashMap<String,Object>();
            temp.put("field", f);
            temp.put("title", title);
            temp.put("file", uploadedFile);
            temp.put("host", host);
            fileParameters.add(temp);
          }
        }
      }

      if(hasError){
        throw cve;
      }

      /**
       * Save content
       */
      Contentlet contentlet = SubmitContentUtil.createContent(st, cats, userId, parametersName, values, options, fileParameters, autoPublish, host, moderatorRole);



      message.add(Globals.MESSAGE_KEY, new ActionMessage("message.contentlet.save"));
      session.setAttribute(Globals.MESSAGE_KEY, message);

      HibernateUtil.commitTransaction();
      if(!APILocator.getContentletAPI().isInodeIndexed(contentlet.getInode())){
        Logger.error(this, "Unable to index contentlet");
View Full Code Here

    }
   
    try {
      //Validating the input
      if(!APILocator.getUserAPI().userExistsWithEmail(form.getEmail())) {
        ActionMessages aes = new ActionErrors();
        aes.add(Globals.ERROR_KEY, new ActionMessage("error.user.email.doesnt.exists"));
        saveErrors(request, aes);
        return af;
      }
    } catch (DotDataException e) {
      ActionMessages aes = new ActionErrors();
      aes.add(Globals.ERROR_KEY, new ActionMessage("error.user.email.doesnt.exists"));
      saveErrors(request, aes);
      return af;
    } catch (NoSuchUserException e) {
      ActionMessages aes = new ActionErrors();
      aes.add(Globals.ERROR_KEY, new ActionMessage("error.user.email.doesnt.exists"));
      saveErrors(request, aes);
      return af;
    }
   
    //If the user doesn't exists
    User user = APILocator.getUserAPI().loadByUserByEmail(form.getEmail(), APILocator.getUserAPI().getSystemUser(), false);
    if(user.isNew()){
      ActionErrors aes = new ActionErrors();
      aes.add(Globals.ERROR_KEY, new ActionMessage("error.user.email.doesnt.exists"));
      saveMessages(request.getSession(), aes);
     
      if(UtilMethods.isSet(referrer)) {
            af = new ActionForward(SecurityUtils.stripReferer(request, referrer));
            af.setRedirect(true);
            return af;
      } else
        return af;
     
    }

    //If the account is not active
    if(!user.isActive()){
     
      ActionMessages aes = new ActionErrors();
      aes.add(Globals.ERROR_KEY, new ActionMessage("error.user.is.not.active"));
      saveErrors(request, aes);
     
          af = mapping.findForward("resendActivationPage");
          return af;
     
    }
   
   
    if (Config.getBooleanProperty("USE_CHALLENGE_QUESTION")) {
   
      request.setAttribute("email", form.getEmail());
      form.setAccKey(PublicEncryptionFactory.encryptString(user.getUserId()));
      return mapping.findForward("challengeQuestionPage");
   
    } else if (Config.getBooleanProperty("USE_RESET_PASSWORD_EMAIL")) {     
   
      request.setAttribute("email", form.getEmail());
      return sendResetPassword(mapping, lf, request, response);

    } else {
     
      //if we have some errors

      String pass = PublicEncryptionFactory.getRandomPassword();
      user.setPassword(PublicEncryptionFactory.digestString(pass));
      APILocator.getUserAPI().save(user,APILocator.getUserAPI().getSystemUser(),false);
      Host host = hostWebAPI.getCurrentHost(request);
          Company company = PublicCompanyFactory.getDefaultCompany();
     
      HashMap<String, Object> parameters = new HashMap<String, Object> ();
      parameters.put("subject", "Your " + host.getHostname() + " Password");
      parameters.put("password", pass);
      parameters.put("emailTemplate", Config.getStringProperty("FORGOT_PASSWORD_EMAIL_TEMPLATE"));
      parameters.put("to", user.getEmailAddress());
      parameters.put("from", company.getEmailAddress());
     
      EmailFactory.sendParameterizedEmail(parameters, null, host, user);

      ActionMessages msg = new ActionMessages();
      msg.add(Globals.MESSAGE_KEY, new ActionMessage("message.forgot.password.email.sent"));
      request.setAttribute(Globals.MESSAGE_KEY, msg);
     
      af = (mapping.findForward("passwordChangeConfirmationPage"));
 
      if(UtilMethods.isSet(referrer)) {
View Full Code Here

          parameters.put("to", email);
          parameters.put("from", company.getEmailAddress());
         
          EmailFactory.sendParameterizedEmail(parameters, null, host, user);
         
          ActionMessages msg = new ActionMessages();
                msg.add(Globals.MESSAGE_KEY, new ActionMessage("message.challenge_question.answer_successful", email));
                saveMessages(request.getSession(), msg);
                if(UtilMethods.isSet(referrer)) {
                return (new ActionForward(SecurityUtils.stripReferer(request, referrer + "?" + request.getQueryString())));
                } else {
                  return mapping.findForward("passwordChangeConfirmationPage");
                }
        } catch (Exception e) {
              ActionMessages msg = new ActionMessages();
                msg.add(Globals.ERROR_KEY, new ActionMessage("error.send_email"));
                request.setAttribute(Globals.ERROR_KEY, msg);
                return mapping.findForward("challengeQuestionPage");
        }
          } else {
            ActionMessages msg = new ActionMessages();
              msg.add(Globals.ERROR_KEY, new ActionMessage("message.challenge_question.answer_failure"));
              request.setAttribute(Globals.ERROR_KEY, msg);
              fpf.setAccKey(PublicEncryptionFactory.encryptString(user.getUserId()));
              fpf.setEmail(user.getEmailAddress());
             
              return mapping.findForward("challengeQuestionPage");
View Full Code Here

  public ActionForward sendResetPassword(ActionMapping mapping, ActionForm lf, HttpServletRequest request,
      HttpServletResponse response) throws Exception {

    String emailAddress = request.getParameter("email") == null?(String)request.getAttribute("email"):request.getParameter("email");

    ActionMessages am = new ActionMessages();

    User user = APILocator.getUserAPI().loadByUserByEmail(emailAddress, APILocator.getUserAPI().getSystemUser(), false);
    if (!user.isNew()) {

      // the user is active
      // sending Reset Password Email
      sendResetPasswordEmail(user, request);
 
      am.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("send.reset.password.email.confirmation"));
      saveMessages(request.getSession(), am);
      return mapping.findForward("emailSentConfirmationPage");

    }

    // the user does not exists
    am.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.user.not.exist"));
    saveMessages(request, am);
    return mapping.findForward("loginAction");
  }
View Full Code Here

    String linkExpirationDateStr = strTok.nextToken();

    Date linkExpirationDate = UtilMethods.jdbcToDate(linkExpirationDateStr);
    User user = APILocator.getUserAPI().loadUserById(userId,APILocator.getUserAPI().getSystemUser(),false);

    ActionMessages am = new ActionMessages();

    if (!user.isNew()) {
   
      // the user is active
      // validating reset password email link

      if (linkExpirationDate.after(new Date())) {

        // updating user password
        if (!Validator.validate(request, lf, mapping))
          return mapping.findForward("resetPasswordPage");

        user.setPassword(PublicEncryptionFactory.digestString(form.getNewPassword()));
        user.setPasswordEncrypted(true);

        APILocator.getUserAPI().save(user,APILocator.getUserAPI().getSystemUser(),false);

        Company comp = com.dotmarketing.cms.factories.PublicCompanyFactory.getDefaultCompany();
        if (comp.getAuthType().equals(Company.AUTH_TYPE_EA)) {
          LoginFactory.doLogin(user.getEmailAddress(), form.getNewPassword(), false, request, response);
        } else {
          LoginFactory.doLogin(user.getUserId(), form.getNewPassword(), false, request, response);
        }

        am.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message.forgot.password.password.updated"));
        saveMessages(request, am);
        return mapping.findForward("passwordChangeConfirmationPage");
      }
      else {
        // the reset password email link has expired,
        // it's needed to resend the reset password email
        return sendResetPassword(mapping, lf, request, response);
      }

    }

    // the user does not exists
    am.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.user.not.exist"));
    saveMessages(request, am);
    return mapping.findForward("loginPage");
  }
View Full Code Here

TOP

Related Classes of com.dotcms.repackage.org.apache.struts.action.ActionMessages

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.