Skip rendering if no PublicKey is available.

PublicKey can be empty if not specified, or if the user is authenticated.
This commit is contained in:
Sipke Schoorstra
2014-10-30 18:54:38 -07:00
parent 9ba885fd51
commit a4f45eeb2c

View File

@@ -3,17 +3,19 @@
@using Orchard.Layouts.Helpers
@{
var tagBuilder = (OrchardTagBuilder)TagBuilderExtensions.AddCommonElementAttributes(new OrchardTagBuilder("div"), Model);
var element = (ReCaptcha) Model.Element;
var publicKey = Model.PublicKey;
var element = (ReCaptcha)Model.Element;
var publicKey = (string)Model.PublicKey;
}
@tagBuilder.StartElement
<script type="text/javascript" src="//www.google.com/recaptcha/api/challenge?k=@publicKey"></script>
<noscript>
<iframe src="//www.google.com/recaptcha/api/noscript?k=@publicKey" height="280" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge">
</noscript>
@tagBuilder.EndElement
@if (element.ValidationSettings.ShowValidationMessage == true) {
@Html.ValidationMessage("recaptcha_response_field")
@if (!String.IsNullOrWhiteSpace(publicKey)) {
@tagBuilder.StartElement
<script type="text/javascript" src="//www.google.com/recaptcha/api/challenge?k=@publicKey"></script>
<noscript>
<iframe src="//www.google.com/recaptcha/api/noscript?k=@publicKey" height="280" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge">
</noscript>
@tagBuilder.EndElement
if (element.ValidationSettings.ShowValidationMessage == true) {
@Html.ValidationMessage("recaptcha_response_field")
}
}