Difference between revisions of "Contact.rythm"

From BITPlan Wiki
Jump to navigation Jump to search
Line 16: Line 16:
 
}
 
}
 
@{
 
@{
   class ContactPost implements PostHandler {
+
   class ContactPost {
 
     String name="";
 
     String name="";
 
     String email="";
 
     String email="";

Revision as of 09:46, 3 November 2017

Links

Source

@// Rythm template for the WikiCMS approach
@import com.bitplan.smw.PropertyMap
@import com.bitplan.wikifrontend.PostService
@import javax.ws.rs.core.MultivaluedMap
@args() {
  String content,
  String lang,
  String title,
  PostService postService,
  String postToken,
  PropertyMap smwprops; 
}
@{
  class ContactPost {
    String name="";
    String email="";
    String message="";
    String captcha="";
    public ContactPost(PostService postService,String postToken) {
      if (postToken!=null) {
         MultivaluedMap<String, String> formParams=postService.getPostData(postToken);
         name=formParams.getFirst("contactName");
         email=formParams.getFirst("contactName");
      }
    }
  }
  ContactPost contact=new ContactPost(postService,postToken);
}
<!doctype html>
<html lang="@(lang)">
<head>
  <!-- https://de.wikipedia.org/wiki/Bootstrap_(Framework) -->
  <meta charset="utf-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>@(title)</title>
    <!-- Einbinden des Bootstrap-Stylesheets -->
    <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css">

    <!-- optional: Einbinden der jQuery-Bibliothek -->
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.12.4.min.js"></script>

    <!-- optional: Einbinden der Bootstrap-JavaScript-Plugins -->
    <script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"></script>
  <style>
    body{
      margin: 2vw auto;
      max-width: 60em;
    }
    * {
      font-family: Arial, Helvetica, sans-serif;
    }
    header,footer{
      background-color: #FFFFFF;
      text-align: center;
    }
    footer {
      clear:both;
    }
    nav a:link,a:visited {
      text-decoration: none;
    }
    a:hover {	
      color: #FFFFFF;
      background-color: rgba(255,128,00,0.5);
    }
    main,article{
    }
    main {
      padding: 2vw;margin:1vw;
    }
    h1,h2,h3 {
      color: #FF8000;
    }
    .floatleft {
      float: left;
      margin: 1vw;
    }
    .floatright {
      float: right;
      margin: 1vw;
    }
    .logo {
      width: 6vw;	
      float:left;
    }
    .copyright {
      font-size: 0.5vw;
    }
    .imprint {
      font-size: 0.8vw;
    }
    ul li{
      margin-bottom:1vh;
    }

/** Language styles */

span.lang-de, span.lang-De {
	padding-right: 25px;
	background: url(http://wiki.bitplan.com/images/e/e7/Lang-De.gif) center right no-repeat;
}

span.lang-en, span.lang-En {
	padding-right: 25px;
	background: url(http://wiki.bitplan.com/images/7/78/Lang-En.gif) center right no-repeat;
}
  </style>
  </head>

<body>
    <header class='row'>
@{
  Object languageCodeObj=smwprops.get("_LCODE");
  String languageCode="de";
  if (languageCodeObj!=null) {
    languageCode=languageCodeObj.toString();
  }
  boolean de="de".equals(languageCode);
}
  <a class='logo' href='http://training.bitplan.com/index.php/Willkommen'>
          <img src='http://wiki.bitplan.com/images/wiki/7/7a/BITPlanLogo2012FontLess.svg' width='100%'>
        </a>
    </header>
    <div class="container">
 <div class="row">
 <!--
  <div class="col-md-12">
    <small><i></i>Add alerts if form ok... success, else error.</i></small>
	<div class="alert alert-success"><strong><span class="glyphicon glyphicon-send"></span> Success! Message sent. (If form ok!)</strong></div>	  
    <div class="alert alert-danger"><span class="glyphicon glyphicon-alert"></span><strong> Error! Please check the inputs. (If form error!)</strong></div>
  </div> -->
  <form role="form" action="" method="post" >
    <div class="col-lg-6">
      <div class="well well-sm"><strong><i class="glyphicon glyphicon-ok form-control-feedback"></i>@(de?"Pflichtfeld":"Required Field")</strong></div>
      <div class="form-group">
        <label for="InputName">@(de?"Ihr Name":"Your Name"):</label>
        <div class="input-group">
          <input type="text" class="form-control" name="contactName" id="contactName" placeholder="Enter Name" value="@(contact.name)" required>
          <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div>
      </div>
      <div class="form-group">
        <label for="InputEmail">@(de?"Ihre E-Mail":"Your Email"):</label>
        <div class="input-group">
          <input type="email" class="form-control" id="contactEmail" name="contactEmail" placeholder="Enter Email" value="@(contact.email)" required  >
          <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div>
      </div>
      <div class="form-group">
        <label for="InputMessage">@(de?"Nachricht":"Message"):</label>
        <div class="input-group">
          <textarea name="InputMessage" id="InputMessage" class="form-control" rows="5" required></textarea>
          <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div>
      </div>
      <div class="form-group">
        <label for="InputReal">@(de?"Was ist 4+3":"What is 4+3")?</label>
        <div class="input-group">
          <input type="text" class="form-control" name="InputReal" id="InputReal" required>
          <span class="input-group-addon"><i class="glyphicon glyphicon-ok form-control-feedback"></i></span></div>
      </div>
      <div class="form-group">
        <label for="InputName">PostToken:</label>
        <div class="input-group">
          <input type="text" class="form-control" name="postToken" id="postToken" placeholder="postToken" value="@(postService.getPostToken(contact))" required>
      </div>
      <input type="submit" name="submit" id="submit" value="Submit" class="btn btn-info pull-right">
    </div>
  </form>

</div>
    </div>
    <footer> 
      <nav>
         <span class='copyright'>© 2017&nbsp;
           <a href='http://www.bitplan.com'>BITPlan GmbH.</a>&nbsp;Alle Rechte vorbehalten.
         </span>
         &nbsp;
@if ("de".equals(languageCode)) {
         <span class='imprint'><a href='http://training.bitplan.com/index.php/Impressum'>Impressum</a></span>
} else {
         <span class='imprint'><a href='http://training.bitplan.com/index.php/Imprint'>Imprint</a></span>
}
      </nav>
    </footer>
  </body>
</html>