Contact.rythm
Jump to navigation
Jump to search
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
<a href='http://www.bitplan.com'>BITPlan GmbH.</a> Alle Rechte vorbehalten.
</span>
@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>