Add WebCms
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="True" CodeBehind="ImageViewer.ascx.cs" Inherits="Umbraco.Web.UI.Umbraco.Controls.Images.ImageViewer" %>
|
||||
<%@ Import Namespace="Umbraco.Core.IO" %>
|
||||
<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
|
||||
<umb:JsInclude ID="JsInclude1" runat="server" FilePath="controls/Images/ImageViewer.js" PathNameAlias="UmbracoRoot" />
|
||||
<div id="<%# ClientID %>" class="imageViewer" >
|
||||
|
||||
<asp:MultiView ID="MultiView" runat="server">
|
||||
<asp:View ID="Basic" runat="server">
|
||||
<img src="<%#MediaItemThumbnailPath%>" alt="<%#AltText%>" border="0" class='<%#ImageFound ? "" : "noimage" %>' />
|
||||
</asp:View>
|
||||
<asp:View ID="ImageLink" runat="server">
|
||||
<a href="<%#MediaItemPath%>" title="<%#AltText%>" target="<%#LinkTarget%>">
|
||||
<img src="<%#MediaItemThumbnailPath%>" alt="<%#AltText%>" border="0" class='<%#ImageFound ? "" : "noimage" %>' />
|
||||
</a>
|
||||
</asp:View>
|
||||
<asp:View ID="ThumbnailPreview" runat="server">
|
||||
<div class="bgImage"
|
||||
style="width: 105px; height: 105px; background: #fff center center no-repeat;border: 1px solid #ccc; background-image: url('<%#MediaItemThumbnailPath.Replace(" ", "%20")%>');">
|
||||
</div>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
|
||||
|
||||
<%--Register the javascript callback method if any.--%>
|
||||
|
||||
<script type="text/javascript">
|
||||
<%#string.IsNullOrEmpty(ClientCallbackMethod) ? "" : ClientCallbackMethod + "('" + MediaItemPath + "','" + AltText + "','" + FileWidth + "','" + FileHeight + "');" %>
|
||||
</script>
|
||||
</div>
|
||||
<%--Ensure that the client API is registered for the image.--%>
|
||||
|
||||
<script type="text/javascript">
|
||||
var opts = {
|
||||
umbPath: "<%# IOHelper.ResolveUrl(SystemDirectories.Umbraco) %>",
|
||||
style: "<%#ViewerStyle.ToString()%>",
|
||||
linkTarget: "<%#LinkTarget%>"
|
||||
};
|
||||
|
||||
if (jQuery.isReady) {
|
||||
//because this may be rendered with AJAX, the doc may already be ready! so just wire it up.
|
||||
jQuery("#<%# ClientID %>").UmbracoImageViewer(opts);
|
||||
}
|
||||
else {
|
||||
jQuery(document).ready(function () {
|
||||
jQuery("#<%# ClientID %>").UmbracoImageViewer(opts);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
/// <reference path="/umbraco_client/Application/NamespaceManager.js" />
|
||||
/// <reference path="/umbraco_client/ui/jquery.js" />
|
||||
|
||||
Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
||||
|
||||
(function($) {
|
||||
//jQuery plugin for Umbraco image viewer control
|
||||
$.fn.UmbracoImageViewer = function(opts) {
|
||||
//all options must be specified
|
||||
var conf = $.extend({
|
||||
style: false,
|
||||
linkTarget: "_blank",
|
||||
umbPath: ""
|
||||
}, opts);
|
||||
return this.each(function() {
|
||||
new Umbraco.Controls.ImageViewer().init($(this), conf);
|
||||
});
|
||||
}
|
||||
$.fn.UmbracoImageViewerAPI = function() {
|
||||
/// <summary>exposes the Umbraco Image Viewer api for the selected object</summary>
|
||||
//if there's more than item in the selector, throw exception
|
||||
if ($(this).length != 1) {
|
||||
throw "UmbracoImageViewerAPI selector requires that there be exactly one control selected";
|
||||
};
|
||||
return Umbraco.Controls.ImageViewer.inst[$(this).attr("id")] || null;
|
||||
};
|
||||
Umbraco.Controls.ImageViewer = function() {
|
||||
return {
|
||||
_cntr: ++Umbraco.Controls.ImageViewer.cntr,
|
||||
_containerId: null,
|
||||
_context: null,
|
||||
_serviceUrl: "",
|
||||
_umbPath: "",
|
||||
_style: false,
|
||||
_linkTarget: "",
|
||||
|
||||
init: function(jItem, opts) {
|
||||
//this is stored so that we search the current document/iframe for this object
|
||||
//when calling _getContainer. Before this was not required but for some reason inside the
|
||||
//TinyMCE popup, when doing an ajax call, the context is lost to the jquery item!
|
||||
this._context = jItem.get(0).ownerDocument;
|
||||
|
||||
//store a reference to this api by the id and the counter
|
||||
Umbraco.Controls.ImageViewer.inst[this._cntr] = this;
|
||||
if (!jItem.attr("id")) jItem.attr("id", "UmbImageViewer_" + this._cntr);
|
||||
Umbraco.Controls.ImageViewer.inst[jItem.attr("id")] = Umbraco.Controls.ImageViewer.inst[this._cntr];
|
||||
|
||||
this._containerId = jItem.attr("id");
|
||||
|
||||
this._umbPath = opts.umbPath;
|
||||
this._serviceUrl = this._umbPath + "/controls/Images/ImageViewerUpdater.asmx";
|
||||
this._style = opts.style;
|
||||
this._linkTarget = opts.linkTarget;
|
||||
|
||||
},
|
||||
|
||||
updateImage: function(mediaId, callback) {
|
||||
/// <summary>Updates the image to show the mediaId parameter using AJAX</summary>
|
||||
|
||||
this._showThrobber();
|
||||
|
||||
var _this = this;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: _this._serviceUrl + "/UpdateImage",
|
||||
data: '{ "mediaId": ' + parseInt(mediaId) + ', "style": "' + _this._style + '", "linkTarget": "' + _this._linkTarget + '"}',
|
||||
contentType: "application/json; charset=utf-8",
|
||||
dataType: "json",
|
||||
success: function(msg) {
|
||||
var rHtml = $("<div>").append(msg.d.html); //get the full html response wrapped in temp div
|
||||
_this._updateImageFromAjax(rHtml);
|
||||
if (typeof callback == "function") {
|
||||
//build the parameters to pass back to the callback method
|
||||
var params = {
|
||||
hasImage: _this._getContainer().find("img.noimage").length == 0,
|
||||
mediaId: msg.d.mediaId,
|
||||
width: msg.d.width,
|
||||
height: msg.d.height,
|
||||
url: msg.d.url,
|
||||
alt: msg.d.alt
|
||||
};
|
||||
//call the callback method
|
||||
callback.call(_this, params);
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
showImage: function(path) {
|
||||
/// <summary>This will force the image to show the path passed in </summary>
|
||||
if (this._style != "ThumbnailPreview") {
|
||||
this._getContainer().find("img").attr("src", path);
|
||||
}
|
||||
else {
|
||||
c = this._getContainer().find(".bgImage");
|
||||
c.css("background-image", "url('" + path + "')");
|
||||
}
|
||||
},
|
||||
|
||||
_getContainer: function() {
|
||||
return $("#" + this._containerId, this._context);
|
||||
},
|
||||
|
||||
_updateImageFromAjax: function(rHtml) {
|
||||
this._getContainer().html(rHtml.find(".imageViewer").html()); //replace the html with the inner html of the image viewer response
|
||||
},
|
||||
|
||||
_showThrobber: function() {
|
||||
var c = null;
|
||||
if (this._style != "ThumbnailPreview") {
|
||||
c = this._getContainer().find("img");
|
||||
c.attr("src", this._umbPath + "/images/throbber.gif");
|
||||
c.css("margin-top", ((c.height() - 15) / 2) + "px");
|
||||
c.css("margin-left", ((c.width() - 15) / 2) + "px");
|
||||
}
|
||||
else {
|
||||
c = this._getContainer().find(".bgImage");
|
||||
c.css("background-image", "");
|
||||
c.html("<img id='throbber'/>");
|
||||
var img = c.find("img");
|
||||
img.attr("src", this._umbPath + "/images/throbber.gif");
|
||||
img.css("margin-top", "45px");
|
||||
img.css("margin-left", "45px");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// instance manager
|
||||
Umbraco.Controls.ImageViewer.cntr = 0;
|
||||
Umbraco.Controls.ImageViewer.inst = {};
|
||||
|
||||
})(jQuery);
|
||||
@@ -0,0 +1 @@
|
||||
<%@ WebService Language="C#" CodeBehind="ImageViewerUpdater.asmx.cs" Class="umbraco.controls.Images.ImageViewerUpdater" %>
|
||||
@@ -0,0 +1,28 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UploadMediaImage.ascx.cs"
|
||||
Inherits="umbraco.controls.Images.UploadMediaImage" %>
|
||||
<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
|
||||
<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
|
||||
<%@ Register TagPrefix="ctl" Namespace="umbraco.controls" Assembly="umbraco" %>
|
||||
|
||||
<umb:JsInclude ID="JsInclude1" runat="server" FilePath="controls/Images/UploadMediaImage.js" PathNameAlias="UmbracoRoot" />
|
||||
|
||||
<script type="text/javascript">
|
||||
var uploader_<%=this.ClientID%> = new Umbraco.Controls.UploadMediaImage("<%=TextBoxTitle.ClientID%>", "<%=SubmitButton.ClientID%>", "<%=((Control)UploadField.DataEditor).ClientID%>");
|
||||
</script>
|
||||
|
||||
<cc1:pane id="pane_upload" runat="server">
|
||||
<cc1:PropertyPanel ID="pp_name" runat="server" Text="Name">
|
||||
<asp:TextBox id="TextBoxTitle" runat="server"></asp:TextBox>
|
||||
</cc1:PropertyPanel>
|
||||
<cc1:PropertyPanel ID="pp_file" runat="server" Text="File">
|
||||
<asp:PlaceHolder id="UploadControl" runat="server"></asp:PlaceHolder>
|
||||
</cc1:PropertyPanel>
|
||||
<cc1:PropertyPanel ID="pp_target" runat="server" Text="Save at...">
|
||||
<ctl:ContentPicker runat="server" ID="MediaPickerControl" AppAlias="media" TreeAlias="media"
|
||||
ModalHeight="200" ShowDelete="false" ShowHeader="false" Text='<%#umbraco.BasePages.BasePage.Current.getUser().StartMediaId.ToString()%>' />
|
||||
</cc1:PropertyPanel>
|
||||
<cc1:PropertyPanel ID="pp_button" runat="server" Text=" ">
|
||||
<asp:Button id="SubmitButton" runat="server" Text='<%#umbraco.ui.Text("save")%>' Enabled="false" OnClick="SubmitButton_Click"></asp:Button>
|
||||
</cc1:PropertyPanel>
|
||||
</cc1:pane>
|
||||
<cc1:feedback id="feedback" runat="server" />
|
||||
@@ -0,0 +1,52 @@
|
||||
/// <reference path="/umbraco_client/Application/NamespaceManager.js" />
|
||||
|
||||
Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
||||
|
||||
(function($) {
|
||||
Umbraco.Controls.UploadMediaImage = function(txtBoxTitleID, btnID, uploadFileID) {
|
||||
return {
|
||||
_txtBoxTitleID: txtBoxTitleID,
|
||||
_btnID: btnID,
|
||||
_uplaodFileID: uploadFileID,
|
||||
|
||||
validateImage: function() {
|
||||
// Disable save button
|
||||
var imageTypes = ",jpeg,jpg,gif,bmp,png,tiff,tif,";
|
||||
var tb_title = document.getElementById(this._txtBoxTitleID);
|
||||
var bt_submit = $("#" + this._btnID);
|
||||
var tb_image = document.getElementById(this._uplaodFileID);
|
||||
|
||||
bt_submit.attr("disabled","disabled").css("color", "gray");
|
||||
|
||||
var imageName = tb_image.value;
|
||||
if (imageName.length > 0) {
|
||||
var extension = imageName.substring(imageName.lastIndexOf(".") + 1, imageName.length);
|
||||
if (imageTypes.indexOf(',' + extension.toLowerCase() + ',') > -1) {
|
||||
bt_submit.removeAttr("disabled").css("color", "#000");
|
||||
if (tb_title.value == "") {
|
||||
var curName = imageName.substring(imageName.lastIndexOf("\\") + 1, imageName.length).replace("." + extension, "");
|
||||
var curNameLength = curName.length;
|
||||
var friendlyName = "";
|
||||
for (var i = 0; i < curNameLength; i++) {
|
||||
currentChar = curName.substring(i, i + 1);
|
||||
if (friendlyName.length == 0)
|
||||
currentChar = currentChar.toUpperCase();
|
||||
|
||||
if (i < curNameLength - 1 && friendlyName != '' && curName.substring(i - 1, i) == ' ')
|
||||
currentChar = currentChar.toUpperCase();
|
||||
else if (currentChar != " " && i < curNameLength - 1 && friendlyName != ''
|
||||
&& curName.substring(i-1, i).toUpperCase() != curName.substring(i-1, i)
|
||||
&& currentChar.toUpperCase() == currentChar)
|
||||
friendlyName += " ";
|
||||
|
||||
friendlyName += currentChar;
|
||||
|
||||
}
|
||||
tb_title.value = friendlyName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
})(jQuery);
|
||||
@@ -0,0 +1,2 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ProgressBar.ascx.cs" Inherits="umbraco.presentation.umbraco.controls.ProgressBar" %>
|
||||
<img src='<%#Umbraco.Core.IO.SystemDirectories.UmbracoClient%>/images/progressBar.gif' id="ImgBar" alt='<%#umbraco.ui.Text("publish", "inProgress")%>' /><br />
|
||||
@@ -0,0 +1 @@
|
||||
<%@ WebService language="C#" class="umbraco.controls.Tree.CustomTreeService" %>
|
||||
@@ -0,0 +1,59 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" Inherits="umbraco.controls.Tree.TreeControl" %>
|
||||
<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
|
||||
<%@ Register TagPrefix="umbClient" Namespace="Umbraco.Web.UI.Bundles" Assembly="umbraco" %>
|
||||
|
||||
<umb:CssInclude ID="CssInclude2" runat="server" FilePath="Tree/treeIcons.css" PathNameAlias="UmbracoClient" Priority="10" />
|
||||
<umb:CssInclude ID="CssInclude3" runat="server" FilePath="Tree/menuIcons.css" PathNameAlias="UmbracoClient" Priority="11" />
|
||||
<umb:CssInclude ID="CssInclude1" runat="server" FilePath="Tree/Themes/umbraco/style.css" PathNameAlias="UmbracoClient" Priority="12" />
|
||||
|
||||
<umbClient:JsApplicationLib ID="JsUmbracoApplicationLib1" runat="server"/>
|
||||
<umbClient:JsJQueryCore ID="JsJQueryCore1" runat="server"/>
|
||||
<umbClient:JsJQueryPlugins ID="JsJQueryPlugins1" runat="server"/>
|
||||
<umbClient:JsUmbracoTree runat="server"/>
|
||||
|
||||
<script type="text/javascript">
|
||||
jQuery(document).ready(function() {
|
||||
var ctxMenu = <%#GetJSONContextMenu() %>;
|
||||
var app = "<%#App%>";
|
||||
var showContext = <%#ShowContextMenu.ToString().ToLower()%>;
|
||||
var isDialog = <%#IsDialog.ToString().ToLower()%>;
|
||||
var dialogMode = "<%#DialogMode.ToString()%>";
|
||||
var treeType = "<%#TreeType%>";
|
||||
var functionToCall = "<%#FunctionToCall%>";
|
||||
var nodeKey = "<%#NodeKey%>";
|
||||
|
||||
//create the javascript tree
|
||||
jQuery("#<%=ClientID%>").UmbracoTree({
|
||||
doNotInit: <%#ManualInitialization.ToString().ToLower()%>,
|
||||
jsonFullMenu: ctxMenu,
|
||||
appActions: UmbClientMgr.appActions(),
|
||||
deletingText: '<%=umbraco.ui.GetText("deleting")%>',
|
||||
app: app,
|
||||
showContext: showContext,
|
||||
isDialog: isDialog,
|
||||
dialogMode: dialogMode,
|
||||
treeType: treeType,
|
||||
functionToCall : functionToCall,
|
||||
nodeKey : nodeKey,
|
||||
treeMode: "<%#Mode.ToString().ToLower()%>",
|
||||
dataUrl: "<%#global::Umbraco.Core.IO.IOHelper.ResolveUrl(global::Umbraco.Core.IO.SystemDirectories.Umbraco)%>/webservices/TreeDataService.ashx",
|
||||
serviceUrl: "<%#global::Umbraco.Core.IO.IOHelper.ResolveUrl(global::Umbraco.Core.IO.SystemDirectories.Umbraco)%>/webservices/TreeClientService.asmx/GetInitAppTreeData"});
|
||||
|
||||
<%if(string.IsNullOrEmpty(SelectedNodePath) == false) {%>
|
||||
setTimeout(function() {
|
||||
treeApi = jQuery("#<%=ClientID%>").UmbracoTreeAPI();
|
||||
treeApi.syncTree('<%=SelectedNodePath%>', true, true);
|
||||
}, 500);
|
||||
<% } %>
|
||||
|
||||
<%#GetLegacyIActionJavascript()%>
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<div runat="server" id="TreeContainer">
|
||||
<div id="<%=ClientID%>" class="<%#Mode.ToString().ToLower()%>">
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,133 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="True" CodeBehind="passwordChanger.ascx.cs" Inherits="Umbraco.Web.UI.Umbraco.Controls.PasswordChanger" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
(function ($) {
|
||||
Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
||||
var enablePassRetrieval = <%=Provider.EnablePasswordRetrieval.ToString().ToLower()%>;
|
||||
Umbraco.Controls.PasswordChanger = {
|
||||
toggle: function (e) {
|
||||
if (!$("#umbPasswordChanger").is(":visible")) {
|
||||
this.togglePasswordInputValidators(true);
|
||||
$(e).closest(".umb-el-wrap").replaceWith($("#umbPasswordChanger"));
|
||||
$("#umbPasswordChanger").show();
|
||||
$("#<%=IsChangingPasswordField.ClientID%>").val("true");
|
||||
$(e).hide();
|
||||
}
|
||||
},
|
||||
togglePasswordInputValidators: function(enable) {
|
||||
if (enable) {
|
||||
ValidatorEnable(document.getElementById('<%=NewPasswordRequiredValidator.ClientID %>'), true);
|
||||
ValidatorEnable(document.getElementById('<%=ConfirmPasswordValidator.ClientID %>'), true);
|
||||
ValidatorEnable(document.getElementById('<%=NewPasswordLengthValidator.ClientID %>'), true);
|
||||
if (!enablePassRetrieval) {
|
||||
var currPassVal = document.getElementById('<%=CurrentPasswordValidator.ClientID %>');
|
||||
if (currPassVal) {
|
||||
ValidatorEnable(currPassVal, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
var currPassVal = document.getElementById('<%=CurrentPasswordValidator.ClientID %>');
|
||||
if (currPassVal) {
|
||||
ValidatorEnable(currPassVal, false);
|
||||
}
|
||||
ValidatorEnable(document.getElementById('<%=ConfirmPasswordValidator.ClientID %>'), false);
|
||||
ValidatorEnable(document.getElementById('<%=NewPasswordRequiredValidator.ClientID %>'), false);
|
||||
ValidatorEnable(document.getElementById('<%=NewPasswordLengthValidator.ClientID %>'), false);
|
||||
}
|
||||
},
|
||||
toggleReset: function(isChecked) {
|
||||
if (isChecked) {
|
||||
$("#passwordInputArea").hide();
|
||||
this.togglePasswordInputValidators(false);
|
||||
}
|
||||
else {
|
||||
$("#passwordInputArea").show();
|
||||
this.togglePasswordInputValidators(true);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
$("#changePasswordButton").click(function() {
|
||||
Umbraco.Controls.PasswordChanger.toggle(this);
|
||||
});
|
||||
$("#<%=ResetPasswordCheckBox.ClientID%>").change(function () {
|
||||
Umbraco.Controls.PasswordChanger.toggleReset(
|
||||
$("#<%=ResetPasswordCheckBox.ClientID%>").is(":checked"));
|
||||
});
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
<a href="#" id="changePasswordButton"><%= umbraco.ui.Text("user", "changePassword") %></a><br />
|
||||
|
||||
<div class="propertyItem" id="umbPasswordChanger" style="display: none;">
|
||||
|
||||
<asp:HiddenField runat="server" ID="IsChangingPasswordField" Value="false" />
|
||||
|
||||
<asp:PlaceHolder runat="server" ID="ResetPlaceHolder" Visible="<%#Provider.EnablePasswordReset %>">
|
||||
<div class="umb-el-wrap">
|
||||
<label class="control-label" for="<%=ResetPasswordCheckBox.ClientID %>"><%=umbraco.ui.GetText("user", "resetPassword")%></label>
|
||||
<div class="controls controls-row">
|
||||
<asp:CheckBox runat="server" ID="ResetPasswordCheckBox" />
|
||||
</div>
|
||||
</div>
|
||||
</asp:PlaceHolder>
|
||||
|
||||
<div id="passwordInputArea">
|
||||
<asp:PlaceHolder runat="server" ID="CurrentPasswordPlaceHolder" Visible="<%#ShowOldPassword %>">
|
||||
<div class="umb-el-wrap ">
|
||||
<label class="control-label" for="<%=umbPasswordChanger_passwordCurrent.ClientID %>"><%=umbraco.ui.GetText("user", "passwordCurrent")%></label>
|
||||
<div class="controls controls-row">
|
||||
<asp:TextBox ID="umbPasswordChanger_passwordCurrent" autocomplete="off" AutoCompleteType="None" TextMode="password" runat="server"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="CurrentPasswordValidator" Enabled="False" runat="server"
|
||||
Display="Dynamic"
|
||||
ControlToValidate="umbPasswordChanger_passwordCurrent"
|
||||
ErrorMessage="*" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</asp:PlaceHolder>
|
||||
|
||||
<div class="umb-el-wrap ">
|
||||
<label class="control-label" for="<%=umbPasswordChanger_passwordNew.ClientID %>"><%=umbraco.ui.GetText("user", "newPassword")%></label>
|
||||
<div class="controls controls-row">
|
||||
<asp:TextBox ID="umbPasswordChanger_passwordNew" autocomplete="off" AutoCompleteType="None" TextMode="password" runat="server"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="NewPasswordRequiredValidator" Enabled="False" runat="server"
|
||||
Display="Dynamic"
|
||||
ControlToValidate="umbPasswordChanger_passwordNew"
|
||||
ErrorMessage="*" />
|
||||
<asp:RegularExpressionValidator ID="NewPasswordLengthValidator" runat="server"
|
||||
Display="Dynamic"
|
||||
ControlToValidate="umbPasswordChanger_passwordNew"
|
||||
ErrorMessage='<%# "Minimum " + Provider.MinRequiredPasswordLength + " characters" %>'
|
||||
ValidationExpression='<%# ".{" + Provider.MinRequiredPasswordLength + "}.*" %>' />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="umb-el-wrap ">
|
||||
<label class="control-label" for="<%=umbPasswordChanger_passwordNewConfirm.ClientID %>"><%=umbraco.ui.GetText("user", "confirmNewPassword")%></label>
|
||||
<div class="controls controls-row">
|
||||
<asp:TextBox ID="umbPasswordChanger_passwordNewConfirm" autocomplete="off" AutoCompleteType="None" TextMode="password" runat="server"></asp:TextBox>
|
||||
<asp:CompareValidator ID="ConfirmPasswordValidator" runat="server" Enabled="False"
|
||||
Display="Dynamic"
|
||||
ErrorMessage="Passwords must match"
|
||||
ControlToValidate="umbPasswordChanger_passwordNew"
|
||||
ControlToCompare="umbPasswordChanger_passwordNewConfirm"
|
||||
Operator="Equal" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="Div1" runat="server" class="alert alert-success" style="margin-top: 10px; width: 300px;" visible="<%# string.IsNullOrWhiteSpace(ChangingPasswordModel.GeneratedPassword) == false %>">
|
||||
<p style="text-align: center">
|
||||
Password has been reset to<br />
|
||||
<br />
|
||||
<strong><%# ChangingPasswordModel.GeneratedPassword %></strong>
|
||||
</p>
|
||||
</div>
|
||||
Reference in New Issue
Block a user