Initial project's source code check-in.
This commit is contained in:
commit
b03b0b373f
4573 changed files with 981205 additions and 0 deletions
|
@ -0,0 +1,71 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AllocatePackageIPAddresses.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.AllocatePackageIPAddresses" %>
|
||||
<%@ Register Src="SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
|
||||
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
|
||||
<asp:ValidationSummary ID="validatorsSummary" runat="server"
|
||||
ValidationGroup="AddAddress" ShowMessageBox="True" ShowSummary="False" />
|
||||
|
||||
<ul id="ErrorMessagesList" runat="server" visible="false">
|
||||
<li id="EmptyAddressesMessage" runat="server">
|
||||
<asp:Localize ID="locNotEnoughAddresses" runat="server" Text="Not enough..." meta:resourcekey="locNotEnoughAddresses"></asp:Localize>
|
||||
</li>
|
||||
<li id="QuotaReachedMessage" runat="server">
|
||||
<asp:Localize ID="locQuotaReached" runat="server" Text="Quota reached..." meta:resourcekey="locQuotaReached"></asp:Localize>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="AddressesTable" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<table cellspacing="5" style="width: 100%;">
|
||||
<tr>
|
||||
<td>
|
||||
<asp:RadioButton ID="radioExternalRandom" runat="server" AutoPostBack="true"
|
||||
meta:resourcekey="radioExternalRandom" Text="Randomly select IP addresses from the pool"
|
||||
Checked="True" GroupName="ExternalAddress"
|
||||
oncheckedchanged="radioExternalRandom_CheckedChanged" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="AddressesNumberRow" runat="server">
|
||||
<td style="padding-left: 30px;">
|
||||
<asp:Localize ID="locExternalAddresses" runat="server"
|
||||
meta:resourcekey="locExternalAddresses" Text="Number of IP addresses:"></asp:Localize>
|
||||
|
||||
<asp:TextBox ID="txtExternalAddressesNumber" runat="server" CssClass="NormalTextBox" Width="50"></asp:TextBox>
|
||||
|
||||
<asp:RequiredFieldValidator ID="ExternalAddressesValidator" runat="server" Text="*" Display="Dynamic"
|
||||
ControlToValidate="txtExternalAddressesNumber" meta:resourcekey="ExternalAddressesValidator" SetFocusOnError="true"
|
||||
ValidationGroup="AddAddress">*</asp:RequiredFieldValidator>
|
||||
|
||||
<asp:Literal ID="litMaxAddresses" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:RadioButton ID="radioExternalSelected" runat="server" AutoPostBack="true"
|
||||
meta:resourcekey="radioExternalSelected" Text="Select IP addresses from the list"
|
||||
GroupName="ExternalAddress"
|
||||
oncheckedchanged="radioExternalSelected_CheckedChanged" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="AddressesListRow" runat="server">
|
||||
<td style="padding-left: 30px;">
|
||||
<asp:ListBox ID="listExternalAddresses" SelectionMode="Multiple" runat="server" Rows="8"
|
||||
CssClass="NormalTextBox" Width="220" style="height:100px;" ></asp:ListBox>
|
||||
<br />
|
||||
<asp:Localize ID="locHoldCtrl" runat="server"
|
||||
meta:resourcekey="locHoldCtrl" Text="* Hold CTRL key to select multiple addresses" ></asp:Localize>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<p>
|
||||
<asp:Button ID="btnAdd" runat="server" meta:resourcekey="btnAdd"
|
||||
ValidationGroup="AddAddress" Text="Add" CssClass="Button1"
|
||||
onclick="btnAdd_Click" />
|
||||
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel"
|
||||
CausesValidation="false" Text="Cancel" CssClass="Button1"
|
||||
onclick="btnCancel_Click" />
|
||||
</p>
|
|
@ -0,0 +1,174 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.Common;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class AllocatePackageIPAddresses : WebsitePanelControlBase
|
||||
{
|
||||
private IPAddressPool pool;
|
||||
public IPAddressPool Pool
|
||||
{
|
||||
get { return pool; }
|
||||
set { pool = value; }
|
||||
}
|
||||
|
||||
private string listAddressesControl;
|
||||
public string ListAddressesControl
|
||||
{
|
||||
get { return listAddressesControl; }
|
||||
set { listAddressesControl = value; }
|
||||
}
|
||||
|
||||
private string resourceGroup;
|
||||
public string ResourceGroup
|
||||
{
|
||||
get { return resourceGroup; }
|
||||
set { resourceGroup = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindIPAddresses();
|
||||
ToggleControls();
|
||||
}
|
||||
}
|
||||
|
||||
private void BindIPAddresses()
|
||||
{
|
||||
bool vps = (Pool == IPAddressPool.VpsExternalNetwork || Pool == IPAddressPool.VpsManagementNetwork);
|
||||
|
||||
// bind list
|
||||
IPAddressInfo[] ips = ES.Services.Servers.GetUnallottedIPAddresses(PanelSecurity.PackageId, ResourceGroup, Pool);
|
||||
foreach (IPAddressInfo ip in ips)
|
||||
{
|
||||
string txt = ip.ExternalIP;
|
||||
|
||||
// web sites - NAT Address
|
||||
if (!vps && !String.IsNullOrEmpty(ip.InternalIP))
|
||||
txt += "/" + ip.InternalIP;
|
||||
|
||||
// VPS - Gateway Address
|
||||
else if (vps && !String.IsNullOrEmpty(ip.DefaultGateway))
|
||||
txt += "/" + ip.DefaultGateway;
|
||||
|
||||
listExternalAddresses.Items.Add(new ListItem(txt, ip.AddressId.ToString()));
|
||||
}
|
||||
|
||||
int quotaAllowed = -1;
|
||||
string quotaName = (String.Compare(ResourceGroup, ResourceGroups.VPS, true) == 0) ? Quotas.VPS_EXTERNAL_IP_ADDRESSES_NUMBER : Quotas.WEB_IP_ADDRESSES;
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
if (cntx.Quotas.ContainsKey(quotaName))
|
||||
{
|
||||
int quotaAllocated = cntx.Quotas[quotaName].QuotaAllocatedValue;
|
||||
int quotaUsed = cntx.Quotas[quotaName].QuotaUsedValue;
|
||||
|
||||
if (quotaAllocated != -1)
|
||||
quotaAllowed = quotaAllocated - quotaUsed;
|
||||
}
|
||||
|
||||
// bind controls
|
||||
int max = quotaAllowed == -1 ? listExternalAddresses.Items.Count : quotaAllowed;
|
||||
|
||||
txtExternalAddressesNumber.Text = max.ToString();
|
||||
litMaxAddresses.Text = String.Format(GetLocalizedString("litMaxAddresses.Text"), max);
|
||||
|
||||
if (max == 0)
|
||||
{
|
||||
AddressesTable.Visible = false;
|
||||
ErrorMessagesList.Visible = true;
|
||||
EmptyAddressesMessage.Visible = (listExternalAddresses.Items.Count == 0);
|
||||
QuotaReachedMessage.Visible = (quotaAllowed == 0);
|
||||
btnAdd.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<int> ids = new List<int>();
|
||||
foreach (ListItem item in listExternalAddresses.Items)
|
||||
{
|
||||
if (item.Selected)
|
||||
ids.Add(Utils.ParseInt(item.Value));
|
||||
}
|
||||
|
||||
ResultObject res = ES.Services.Servers.AllocatePackageIPAddresses(PanelSecurity.PackageId,
|
||||
ResourceGroup, Pool,
|
||||
radioExternalRandom.Checked,
|
||||
Utils.ParseInt(txtExternalAddressesNumber.Text),
|
||||
ids.ToArray());
|
||||
if (res.IsSuccess)
|
||||
{
|
||||
// return back
|
||||
Response.Redirect(HostModule.EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), ListAddressesControl));
|
||||
}
|
||||
else
|
||||
{
|
||||
// show message
|
||||
messageBox.ShowMessage(res, "VPS_ALLOCATE_EXTERNAL_ADDRESSES_ERROR", "VPS");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("VPS_ALLOCATE_EXTERNAL_ADDRESSES_ERROR", ex);
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(HostModule.EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), ListAddressesControl));
|
||||
}
|
||||
|
||||
protected void radioExternalSelected_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
private void ToggleControls()
|
||||
{
|
||||
AddressesNumberRow.Visible = radioExternalRandom.Checked;
|
||||
AddressesListRow.Visible = radioExternalSelected.Checked;
|
||||
}
|
||||
|
||||
protected void radioExternalRandom_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,196 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3074
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class AllocatePackageIPAddresses {
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// validatorsSummary control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ValidationSummary validatorsSummary;
|
||||
|
||||
/// <summary>
|
||||
/// ErrorMessagesList control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl ErrorMessagesList;
|
||||
|
||||
/// <summary>
|
||||
/// EmptyAddressesMessage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl EmptyAddressesMessage;
|
||||
|
||||
/// <summary>
|
||||
/// locNotEnoughAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locNotEnoughAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// QuotaReachedMessage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl QuotaReachedMessage;
|
||||
|
||||
/// <summary>
|
||||
/// locQuotaReached control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locQuotaReached;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesTable control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.UpdatePanel AddressesTable;
|
||||
|
||||
/// <summary>
|
||||
/// radioExternalRandom control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioExternalRandom;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesNumberRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow AddressesNumberRow;
|
||||
|
||||
/// <summary>
|
||||
/// locExternalAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locExternalAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// txtExternalAddressesNumber control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtExternalAddressesNumber;
|
||||
|
||||
/// <summary>
|
||||
/// ExternalAddressesValidator control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator ExternalAddressesValidator;
|
||||
|
||||
/// <summary>
|
||||
/// litMaxAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litMaxAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// radioExternalSelected control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RadioButton radioExternalSelected;
|
||||
|
||||
/// <summary>
|
||||
/// AddressesListRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow AddressesListRow;
|
||||
|
||||
/// <summary>
|
||||
/// listExternalAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ListBox listExternalAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// locHoldCtrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize locHoldCtrl;
|
||||
|
||||
/// <summary>
|
||||
/// btnAdd control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnAdd;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCancel;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAdd.Text" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="ExternalAddressesValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter the number of IP addresses</value>
|
||||
</data>
|
||||
<data name="litMaxAddresses.Text" xml:space="preserve">
|
||||
<value>({0} max)</value>
|
||||
</data>
|
||||
<data name="locExternalAddresses.Text" xml:space="preserve">
|
||||
<value>Number of IP addresses:</value>
|
||||
</data>
|
||||
<data name="locHoldCtrl.Text" xml:space="preserve">
|
||||
<value>* Hold CTRL key to select multiple addresses</value>
|
||||
</data>
|
||||
<data name="locNotEnoughAddresses.Text" xml:space="preserve">
|
||||
<value>The pool of IP addresses is empty.<br/>Allocate more IP addresses on reseller level. If the current hosting space is nested within "System" space then add more server IP addresses to the appropriate pool on "Configuration -> IP Addresses" page.</value>
|
||||
</data>
|
||||
<data name="locTitle.Text" xml:space="preserve">
|
||||
<value>Allocate IP Addresses</value>
|
||||
</data>
|
||||
<data name="radioExternalRandom.Text" xml:space="preserve">
|
||||
<value>Randomly select IP addresses from the pool</value>
|
||||
</data>
|
||||
<data name="radioExternalSelected.Text" xml:space="preserve">
|
||||
<value>Select IP addresses from the list</value>
|
||||
</data>
|
||||
<data name="locQuotaReached.Text" xml:space="preserve">
|
||||
<value>IP addresses quota has been reached.</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,225 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="All.Text" xml:space="preserve">
|
||||
<value><All></value>
|
||||
</data>
|
||||
<data name="btnClearLog.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Clear Audit Log?');</value>
|
||||
</data>
|
||||
<data name="btnClearLog.Text" xml:space="preserve">
|
||||
<value>Clear Log</value>
|
||||
</data>
|
||||
<data name="btnCloseTaskDetails.Text" xml:space="preserve">
|
||||
<value>Close</value>
|
||||
</data>
|
||||
<data name="btnDisplay.Text" xml:space="preserve">
|
||||
<value>Display Records</value>
|
||||
</data>
|
||||
<data name="btnExportLog.Text" xml:space="preserve">
|
||||
<value>Export Log</value>
|
||||
</data>
|
||||
<data name="ddlSeverityItem.All" xml:space="preserve">
|
||||
<value><All></value>
|
||||
</data>
|
||||
<data name="ddlSeverityItem.Error" xml:space="preserve">
|
||||
<value>Error</value>
|
||||
</data>
|
||||
<data name="ddlSeverityItem.Information" xml:space="preserve">
|
||||
<value>Information</value>
|
||||
</data>
|
||||
<data name="ddlSeverityItem.Warning" xml:space="preserve">
|
||||
<value>Warning</value>
|
||||
</data>
|
||||
<data name="gvLog.Empty" xml:space="preserve">
|
||||
<value>Audit Log is empty.</value>
|
||||
</data>
|
||||
<data name="gvLogFinishTime.Header" xml:space="preserve">
|
||||
<value>Finished</value>
|
||||
</data>
|
||||
<data name="gvLogItemName.Header" xml:space="preserve">
|
||||
<value>Item</value>
|
||||
</data>
|
||||
<data name="gvLogSeverity.Header" xml:space="preserve">
|
||||
<value>Severity</value>
|
||||
</data>
|
||||
<data name="gvLogSource.Header" xml:space="preserve">
|
||||
<value>Source</value>
|
||||
</data>
|
||||
<data name="gvLogStartDate.Header" xml:space="preserve">
|
||||
<value>Date</value>
|
||||
</data>
|
||||
<data name="gvLogStartTime.Header" xml:space="preserve">
|
||||
<value>Started</value>
|
||||
</data>
|
||||
<data name="gvLogTask.Header" xml:space="preserve">
|
||||
<value>Task</value>
|
||||
</data>
|
||||
<data name="gvLogUser.Header" xml:space="preserve">
|
||||
<value>User</value>
|
||||
</data>
|
||||
<data name="lblAction.Text" xml:space="preserve">
|
||||
<value>Action</value>
|
||||
</data>
|
||||
<data name="lblDuration.Text" xml:space="preserve">
|
||||
<value>Duration:</value>
|
||||
</data>
|
||||
<data name="lblExecutionLog.Text" xml:space="preserve">
|
||||
<value>Execution Log:</value>
|
||||
</data>
|
||||
<data name="lblFinished.Text" xml:space="preserve">
|
||||
<value>Finished:</value>
|
||||
</data>
|
||||
<data name="lblItemName.Text" xml:space="preserve">
|
||||
<value>Item Name</value>
|
||||
</data>
|
||||
<data name="lblItemName1.Text" xml:space="preserve">
|
||||
<value>Item Name:</value>
|
||||
</data>
|
||||
<data name="lblRecordUser.Text" xml:space="preserve">
|
||||
<value>User:</value>
|
||||
</data>
|
||||
<data name="lblResultSeverity.Text" xml:space="preserve">
|
||||
<value>Severity:</value>
|
||||
</data>
|
||||
<data name="lblSeverity.Text" xml:space="preserve">
|
||||
<value>Severity</value>
|
||||
</data>
|
||||
<data name="lblSource.Text" xml:space="preserve">
|
||||
<value>Source</value>
|
||||
</data>
|
||||
<data name="lblSourceName.Text" xml:space="preserve">
|
||||
<value>Source:</value>
|
||||
</data>
|
||||
<data name="lblStarted.Text" xml:space="preserve">
|
||||
<value>Started:</value>
|
||||
</data>
|
||||
<data name="lblTask.Text" xml:space="preserve">
|
||||
<value>Task</value>
|
||||
</data>
|
||||
<data name="lblTaskName.Text" xml:space="preserve">
|
||||
<value>Task Name:</value>
|
||||
</data>
|
||||
<data name="lblType.Text" xml:space="preserve">
|
||||
<value>Type</value>
|
||||
</data>
|
||||
<data name="lblUser.Text" xml:space="preserve">
|
||||
<value>User</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="cmdSelect.AlternateText" xml:space="preserve">
|
||||
<value>Select Date</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,120 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Text.WindowCaption" xml:space="preserve">
|
||||
<value></value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,150 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="lblAddress.Text" xml:space="preserve">
|
||||
<value>Address:</value>
|
||||
</data>
|
||||
<data name="lblCity.Text" xml:space="preserve">
|
||||
<value>City:</value>
|
||||
</data>
|
||||
<data name="lblCompanyName.Text" xml:space="preserve">
|
||||
<value>Company Name:</value>
|
||||
</data>
|
||||
<data name="lblCountry.Text" xml:space="preserve">
|
||||
<value>Country:</value>
|
||||
</data>
|
||||
<data name="lblFax.Text" xml:space="preserve">
|
||||
<value>Fax:</value>
|
||||
</data>
|
||||
<data name="lblIM.Text" xml:space="preserve">
|
||||
<value>Instant Messenger ID:</value>
|
||||
</data>
|
||||
<data name="lblPrimaryPhone.Text" xml:space="preserve">
|
||||
<value>Primary Phone:</value>
|
||||
</data>
|
||||
<data name="lblSecPhone.Text" xml:space="preserve">
|
||||
<value>Secondary Phone:</value>
|
||||
</data>
|
||||
<data name="lblState.Text" xml:space="preserve">
|
||||
<value>State:</value>
|
||||
</data>
|
||||
<data name="lblZip.Text" xml:space="preserve">
|
||||
<value>Zip Code:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAddDomain.Text" xml:space="preserve">
|
||||
<value>Add</value>
|
||||
</data>
|
||||
<data name="cmdDeleteDomain.AlternateText" xml:space="preserve">
|
||||
<value>Delete</value>
|
||||
</data>
|
||||
<data name="cmdDeleteDomain.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Delete item?');</value>
|
||||
</data>
|
||||
<data name="gvDomains.Empty" xml:space="preserve">
|
||||
<value>The list is empty.</value>
|
||||
</data>
|
||||
<data name="Item.Text" xml:space="preserve">
|
||||
<value>Additional Name Server:</value>
|
||||
</data>
|
||||
<data name="Item0.Text" xml:space="preserve">
|
||||
<value>Primary Name Server:</value>
|
||||
</data>
|
||||
<data name="Item1.Text" xml:space="preserve">
|
||||
<value>Secondary Name Server:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="addressValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Please enter correct IP address</value>
|
||||
</data>
|
||||
<data name="requireAddressValidator.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter IP address</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAdd.Text" xml:space="preserve">
|
||||
<value>Add Notes</value>
|
||||
</data>
|
||||
<data name="btnDelete.AlternateText" xml:space="preserve">
|
||||
<value>Delete Comment</value>
|
||||
</data>
|
||||
<data name="btnDelete.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Delete Comment?');</value>
|
||||
</data>
|
||||
<data name="ddlSeverityItem.High" xml:space="preserve">
|
||||
<value>High</value>
|
||||
</data>
|
||||
<data name="ddlSeverityItem.Low" xml:space="preserve">
|
||||
<value>Low</value>
|
||||
</data>
|
||||
<data name="ddlSeverityItem.Normal" xml:space="preserve">
|
||||
<value>Normal</value>
|
||||
</data>
|
||||
<data name="gvComments.Empty" xml:space="preserve">
|
||||
<value>No comments added</value>
|
||||
</data>
|
||||
<data name="lblCommented.Text" xml:space="preserve">
|
||||
<value> on </value>
|
||||
</data>
|
||||
<data name="lblComments.Text" xml:space="preserve">
|
||||
<value>Comments:</value>
|
||||
</data>
|
||||
<data name="lblSeverity.Text" xml:space="preserve">
|
||||
<value>Severity:</value>
|
||||
</data>
|
||||
<data name="secComments.Text" xml:space="preserve">
|
||||
<value>Comments</value>
|
||||
</data>
|
||||
<data name="valRequireComment.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="valCorrectEmail.Text" xml:space="preserve">
|
||||
<value>Wrong E-mail</value>
|
||||
</data>
|
||||
<data name="valRequireEmail.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,141 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCancelProgressDialog.Text" xml:space="preserve">
|
||||
<value>Run in Background</value>
|
||||
</data>
|
||||
<data name="btnCloseProgressDialog.Text" xml:space="preserve">
|
||||
<value> Close </value>
|
||||
</data>
|
||||
<data name="lblDuration.Text" xml:space="preserve">
|
||||
<value>Duration:</value>
|
||||
</data>
|
||||
<data name="lblStarted.Text" xml:space="preserve">
|
||||
<value>Started:</value>
|
||||
</data>
|
||||
<data name="lblTitle.Text" xml:space="preserve">
|
||||
<value>Please Wait...</value>
|
||||
</data>
|
||||
<data name="Text.CompleteMessage" xml:space="preserve">
|
||||
<value>Task has been finished</value>
|
||||
</data>
|
||||
<data name="Text.GenericTitle" xml:space="preserve">
|
||||
<value>Running...</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="btnLookup.AlternateText" xml:space="preserve">
|
||||
<value>Find File/Folder</value>
|
||||
</data>
|
||||
<data name="Text.Root" xml:space="preserve">
|
||||
<value>Root Folder</value>
|
||||
</data>
|
||||
<data name="valRequireFile.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="valCorrectNewName.Text" xml:space="preserve">
|
||||
<value>Invalid file name.</value>
|
||||
</data>
|
||||
<data name="valRequireNewName.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Text.ProgressFormat" xml:space="preserve">
|
||||
<value>{0} of {1}</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,168 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnSend.Text" xml:space="preserve">
|
||||
<value>Send Report</value>
|
||||
</data>
|
||||
<data name="lblCC.Text" xml:space="preserve">
|
||||
<value>CC:</value>
|
||||
</data>
|
||||
<data name="lblComments.Text" xml:space="preserve">
|
||||
<value>Personal Comments:</value>
|
||||
</data>
|
||||
<data name="lblFrom.Text" xml:space="preserve">
|
||||
<value>From:</value>
|
||||
</data>
|
||||
<data name="lblLoggedUser.Text" xml:space="preserve">
|
||||
<value>Logged User:</value>
|
||||
</data>
|
||||
<data name="lblPageUrl.Text" xml:space="preserve">
|
||||
<value>Page URL:</value>
|
||||
</data>
|
||||
<data name="lblSpace.Text" xml:space="preserve">
|
||||
<value>Hosting Space:</value>
|
||||
</data>
|
||||
<data name="lblStackTrace.Text" xml:space="preserve">
|
||||
<value>Stack Trace:</value>
|
||||
</data>
|
||||
<data name="lblSubject.Text" xml:space="preserve">
|
||||
<value>Subject:</value>
|
||||
</data>
|
||||
<data name="lblTo.Text" xml:space="preserve">
|
||||
<value>To:</value>
|
||||
</data>
|
||||
<data name="lblWorkOnBehalf.Text" xml:space="preserve">
|
||||
<value>Work on Behalf:</value>
|
||||
</data>
|
||||
<data name="secSendReport.Text" xml:space="preserve">
|
||||
<value>Send Report to Host</value>
|
||||
</data>
|
||||
<data name="secTechnicalDetails.Text" xml:space="preserve">
|
||||
<value>Technical Details</value>
|
||||
</data>
|
||||
<data name="Text.MessageSent" xml:space="preserve">
|
||||
<value>Message has been successfully sent</value>
|
||||
</data>
|
||||
<data name="Text.MessageSentError" xml:space="preserve">
|
||||
<value>Error while sending message</value>
|
||||
</data>
|
||||
<data name="Text.Subject" xml:space="preserve">
|
||||
<value>WebsitePanel Error Report</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="lblSpace.Text" xml:space="preserve">
|
||||
<value>Hosting Space:</value>
|
||||
</data>
|
||||
<data name="lblUser.Text" xml:space="preserve">
|
||||
<value>User:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,171 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnAllocateAddress.Text" xml:space="preserve">
|
||||
<value>Allocate...</value>
|
||||
</data>
|
||||
<data name="btnDeallocateAddresses.Text" xml:space="preserve">
|
||||
<value>Deallocate Selected</value>
|
||||
</data>
|
||||
<data name="gvAddresses.Empty" xml:space="preserve">
|
||||
<value>No IP addresses have been allocated to this hosting space.</value>
|
||||
</data>
|
||||
<data name="gvAddressesDefaultGateway.HeaderText" xml:space="preserve">
|
||||
<value>Gateway</value>
|
||||
</data>
|
||||
<data name="gvAddressesIPAddress.HeaderText" xml:space="preserve">
|
||||
<value>IP</value>
|
||||
</data>
|
||||
<data name="gvAddressesItemName.HeaderText" xml:space="preserve">
|
||||
<value>Item Name</value>
|
||||
</data>
|
||||
<data name="gvAddressesNATAddress.HeaderText" xml:space="preserve">
|
||||
<value>NAT Address</value>
|
||||
</data>
|
||||
<data name="gvAddressesPrimary.HeaderText" xml:space="preserve">
|
||||
<value>Primary</value>
|
||||
</data>
|
||||
<data name="gvAddressesSpace.HeaderText" xml:space="preserve">
|
||||
<value>Space</value>
|
||||
</data>
|
||||
<data name="gvAddressesSubnetMask.HeaderText" xml:space="preserve">
|
||||
<value>Subnet Mask</value>
|
||||
</data>
|
||||
<data name="gvAddressesUser.HeaderText" xml:space="preserve">
|
||||
<value>User</value>
|
||||
</data>
|
||||
<data name="SearchField.DefaultGateway" xml:space="preserve">
|
||||
<value>Default Gateway</value>
|
||||
</data>
|
||||
<data name="SearchField.InternalIP" xml:space="preserve">
|
||||
<value>NAT Address</value>
|
||||
</data>
|
||||
<data name="SearchField.IPAddress" xml:space="preserve">
|
||||
<value>IP Address</value>
|
||||
</data>
|
||||
<data name="SearchField.ItemName" xml:space="preserve">
|
||||
<value>Item Name</value>
|
||||
</data>
|
||||
<data name="SearchField.Username" xml:space="preserve">
|
||||
<value>User Name</value>
|
||||
</data>
|
||||
<data name="btnDeallocateAddresses.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Deallocate selected IP addresses from hosting space?');</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="CorrectLength.Text" xml:space="preserve">
|
||||
<value><br>Password should be at least {0} characters</value>
|
||||
</data>
|
||||
<data name="lblConfirmPassword.Text" xml:space="preserve">
|
||||
<value>Confirm password:</value>
|
||||
</data>
|
||||
<data name="lnkGenerate.Text" xml:space="preserve">
|
||||
<value>Generate random</value>
|
||||
</data>
|
||||
<data name="RequireNumbers.Text" xml:space="preserve">
|
||||
<value><br>Password should contain at least {0} numbers</value>
|
||||
</data>
|
||||
<data name="RequireSymbols.Text" xml:space="preserve">
|
||||
<value><br>Password should contain at least {0} non-alphanumeric symbols</value>
|
||||
</data>
|
||||
<data name="RequireUppercase.Text" xml:space="preserve">
|
||||
<value><br>Password should contain at least {0} UPPERCASE characters</value>
|
||||
</data>
|
||||
<data name="valRequireConfirmPassword.ErrorMessage" xml:space="preserve">
|
||||
<value>Confirm password</value>
|
||||
</data>
|
||||
<data name="valRequireConfirmPassword.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireEqualPassword.ErrorMessage" xml:space="preserve">
|
||||
<value>Both passwords should be identical</value>
|
||||
</data>
|
||||
<data name="valRequireEqualPassword.Text" xml:space="preserve">
|
||||
<value><br>Both passwords should be identical</value>
|
||||
</data>
|
||||
<data name="valRequirePassword.ErrorMessage" xml:space="preserve">
|
||||
<value>Enter password</value>
|
||||
</data>
|
||||
<data name="valRequirePassword.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,174 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="chkEnabled.Text" xml:space="preserve">
|
||||
<value>Enable Policy</value>
|
||||
</data>
|
||||
<data name="chkNotEqualUsername.Text" xml:space="preserve">
|
||||
<value>Should not be equal to username</value>
|
||||
</data>
|
||||
<data name="lblMaximumLength.Text" xml:space="preserve">
|
||||
<value>Maximum length:</value>
|
||||
</data>
|
||||
<data name="lblMinimumLength.Text" xml:space="preserve">
|
||||
<value>Minimum length:</value>
|
||||
</data>
|
||||
<data name="lblMinimumNumbers.Text" xml:space="preserve">
|
||||
<value>Numbers:</value>
|
||||
</data>
|
||||
<data name="lblMinimumSymbols.Text" xml:space="preserve">
|
||||
<value>Non-alphanumeric symbols:</value>
|
||||
</data>
|
||||
<data name="lblMinimumUppercase.Text" xml:space="preserve">
|
||||
<value>Uppercase letters:</value>
|
||||
</data>
|
||||
<data name="lblShouldContain.Text" xml:space="preserve">
|
||||
<value>Password should contain at least:</value>
|
||||
</data>
|
||||
<data name="valCorrectMaxLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valCorrectMinLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valCorrectNumbers.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valCorrectSymbols.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valCorrectUppercase.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireMaxLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireMinLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireNumbers.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireSymbols.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireUppercase.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="chkQuotaEnabled.Text" xml:space="preserve">
|
||||
<value>Enabled</value>
|
||||
</data>
|
||||
<data name="chkQuotaUnlimited.Text" xml:space="preserve">
|
||||
<value>Unlimited</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Text.Disabled" xml:space="preserve">
|
||||
<value>Disabled</value>
|
||||
</data>
|
||||
<data name="Text.Enabled" xml:space="preserve">
|
||||
<value>Enabled</value>
|
||||
</data>
|
||||
<data name="Text.Of" xml:space="preserve">
|
||||
<value>of</value>
|
||||
</data>
|
||||
<data name="Text.Unlimited" xml:space="preserve">
|
||||
<value>Unlimited</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="ddlUnitsItem.Days" xml:space="preserve">
|
||||
<value>Days</value>
|
||||
</data>
|
||||
<data name="ddlUnitsItem.Hours" xml:space="preserve">
|
||||
<value>Hours</value>
|
||||
</data>
|
||||
<data name="ddlUnitsItem.Minutes" xml:space="preserve">
|
||||
<value>Minutes</value>
|
||||
</data>
|
||||
<data name="ddlUnitsItem.Seconds" xml:space="preserve">
|
||||
<value>Seconds</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,126 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="cmdSearch.AlternateText" xml:space="preserve">
|
||||
<value>Search</value>
|
||||
</data>
|
||||
<data name="lblSearch.Text" xml:space="preserve">
|
||||
<value>Search:</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,123 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Text.SelectAddress" xml:space="preserve">
|
||||
<value><Select IP Address></value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Text.Comments" xml:space="preserve">
|
||||
<value>Comments:</value>
|
||||
</data>
|
||||
<data name="Text.Name" xml:space="preserve">
|
||||
<value>Name:</value>
|
||||
</data>
|
||||
<data name="Text.Unknown" xml:space="preserve">
|
||||
<value>Unknown</value>
|
||||
</data>
|
||||
<data name="Text.Virtual" xml:space="preserve">
|
||||
<value>Is Virtual:</value>
|
||||
</data>
|
||||
<data name="Text.WindowCaption" xml:space="preserve">
|
||||
<value>Server Details</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,162 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="chkRecursive.Text" xml:space="preserve">
|
||||
<value>Show Nested Spaces Items</value>
|
||||
</data>
|
||||
<data name="cmdDetach.OnClientClick" xml:space="preserve">
|
||||
<value>return confirm('Remove this service item from meta base?');</value>
|
||||
</data>
|
||||
<data name="cmdDetach.Text" xml:space="preserve">
|
||||
<value>Detach</value>
|
||||
</data>
|
||||
<data name="cmdDetach.ToolTip" xml:space="preserve">
|
||||
<value>Remove service item from meta base</value>
|
||||
</data>
|
||||
<data name="gvItems.Empty" xml:space="preserve">
|
||||
<value>No items found.</value>
|
||||
</data>
|
||||
<data name="gvItemsName.Header" xml:space="preserve">
|
||||
<value>Name</value>
|
||||
</data>
|
||||
<data name="gvItemsServer.Header" xml:space="preserve">
|
||||
<value>Server</value>
|
||||
</data>
|
||||
<data name="gvItemsSpace.Header" xml:space="preserve">
|
||||
<value>Space</value>
|
||||
</data>
|
||||
<data name="gvItemsUser.Header" xml:space="preserve">
|
||||
<value>User</value>
|
||||
</data>
|
||||
<data name="gvItemsView.Header" xml:space="preserve">
|
||||
<value>View</value>
|
||||
</data>
|
||||
<data name="SearchField.EMail" xml:space="preserve">
|
||||
<value>E-Mail</value>
|
||||
</data>
|
||||
<data name="SearchField.FullName" xml:space="preserve">
|
||||
<value>Full Name</value>
|
||||
</data>
|
||||
<data name="SearchField.ItemName" xml:space="preserve">
|
||||
<value>Item Name</value>
|
||||
</data>
|
||||
<data name="SearchField.Username" xml:space="preserve">
|
||||
<value>Username</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,138 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="Text.Email" xml:space="preserve">
|
||||
<value>E-Mail:</value>
|
||||
</data>
|
||||
<data name="Text.FullName" xml:space="preserve">
|
||||
<value>Full Name:</value>
|
||||
</data>
|
||||
<data name="Text.NotSelected" xml:space="preserve">
|
||||
<value>None</value>
|
||||
</data>
|
||||
<data name="Text.Role" xml:space="preserve">
|
||||
<value>Role:</value>
|
||||
</data>
|
||||
<data name="Text.Username" xml:space="preserve">
|
||||
<value>Username:</value>
|
||||
</data>
|
||||
<data name="Text.WindowsCaption" xml:space="preserve">
|
||||
<value>Account Details</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,159 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="btnCancel.Text" xml:space="preserve">
|
||||
<value>Cancel</value>
|
||||
</data>
|
||||
<data name="gvUsers.Empty" xml:space="preserve">
|
||||
<value>No User Accounts found.</value>
|
||||
</data>
|
||||
<data name="gvUsersEmail.Header" xml:space="preserve">
|
||||
<value>E-Mail</value>
|
||||
</data>
|
||||
<data name="gvUsersName.Header" xml:space="preserve">
|
||||
<value>Full Name</value>
|
||||
</data>
|
||||
<data name="gvUsersRole.Header" xml:space="preserve">
|
||||
<value>Role</value>
|
||||
</data>
|
||||
<data name="gvUsersUsername.Header" xml:space="preserve">
|
||||
<value>Username</value>
|
||||
</data>
|
||||
<data name="mnuActions.ResetUser" xml:space="preserve">
|
||||
<value>Clear Field</value>
|
||||
</data>
|
||||
<data name="mnuActions.Select" xml:space="preserve">
|
||||
<value>Select...</value>
|
||||
</data>
|
||||
<data name="mnuActions.SwitchLogged" xml:space="preserve">
|
||||
<value>Switch to Logged User</value>
|
||||
</data>
|
||||
<data name="mnuActions.SwitchWorkFor" xml:space="preserve">
|
||||
<value>Switch to "Work For" User</value>
|
||||
</data>
|
||||
<data name="SearchField.Email" xml:space="preserve">
|
||||
<value>E-Mail</value>
|
||||
</data>
|
||||
<data name="SearchField.Name" xml:space="preserve">
|
||||
<value>Full Name</value>
|
||||
</data>
|
||||
<data name="SearchField.Username" xml:space="preserve">
|
||||
<value>Username</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="AllowedSymbols.Text" xml:space="preserve">
|
||||
<value><br>Allowed symbols: {0}</value>
|
||||
</data>
|
||||
<data name="CantBeBlank.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="MinLength.Text" xml:space="preserve">
|
||||
<value><br>Minimum length is {0} symbols</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="chkEnabled.Text" xml:space="preserve">
|
||||
<value>Enable Policy</value>
|
||||
</data>
|
||||
<data name="lblAllowedSymbols.Text" xml:space="preserve">
|
||||
<value>Allowed symbols:</value>
|
||||
</data>
|
||||
<data name="lblDefaultAllowedSymbols.Text" xml:space="preserve">
|
||||
<value>* a-z&nbsp;&nbsp;A-Z&nbsp;&nbsp;0-9&nbsp;&nbsp;.&nbsp;&nbsp;_ by default allowed</value>
|
||||
</data>
|
||||
<data name="lblMaximumLength.Text" xml:space="preserve">
|
||||
<value>Maximum length:</value>
|
||||
</data>
|
||||
<data name="lblMinimumLength.Text" xml:space="preserve">
|
||||
<value>Minimum length:</value>
|
||||
</data>
|
||||
<data name="lblPrefix.Text" xml:space="preserve">
|
||||
<value>Prefix:</value>
|
||||
</data>
|
||||
<data name="lblSuffix.Text" xml:space="preserve">
|
||||
<value>Suffix:</value>
|
||||
</data>
|
||||
<data name="lblSuffixVars.Text" xml:space="preserve">
|
||||
<value>* [USER_NAME], [USER_ID] variables are allowed</value>
|
||||
</data>
|
||||
<data name="valCorrectMaxLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valCorrectMinLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireMaxLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
<data name="valRequireMinLength.Text" xml:space="preserve">
|
||||
<value>*</value>
|
||||
</data>
|
||||
</root>
|
|
@ -0,0 +1,290 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AuditLogControl.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.AuditLogControl" %>
|
||||
<%@ Register Src="PopupHeader.ascx" TagName="PopupHeader" TagPrefix="wsp" %>
|
||||
|
||||
<table cellpadding="5" width="100%">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<asp:Calendar ID="calPeriod" runat="server"
|
||||
SelectionMode="DayWeekMonth"
|
||||
DayNameFormat="Shortest"
|
||||
Height="180px" Width="200px" OnSelectionChanged="calPeriod_SelectionChanged">
|
||||
</asp:Calendar></td>
|
||||
<td width="100%" valign="top" align="left">
|
||||
<table width="300">
|
||||
<tr>
|
||||
<td class="Big" colspan="2">
|
||||
<asp:Literal ID="litPeriod" runat="server"></asp:Literal>
|
||||
<asp:Literal ID="litStartDate" runat="server" Visible="false"></asp:Literal>
|
||||
<asp:Literal ID="litEndDate" runat="server" Visible="false"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" nowrap>
|
||||
<asp:Label id="lblSeverity" runat="server" meta:resourcekey="lblSeverity" Text="Severity"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:DropDownList ID="ddlSeverity" runat="server" CssClass="NormalTextBox" resourcekey="ddlSeverity" AutoPostBack="true">
|
||||
<asp:ListItem Value="-1">All</asp:ListItem>
|
||||
<asp:ListItem Value="0">Information</asp:ListItem>
|
||||
<asp:ListItem Value="1">Warning</asp:ListItem>
|
||||
<asp:ListItem Value="2">Error</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="SourceRow" runat="server">
|
||||
<td class="SubHead" nowrap>
|
||||
<asp:Label id="lblSource" runat="server" meta:resourcekey="lblSource" Text="Source"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:DropDownList ID="ddlSource" runat="server" CssClass="NormalTextBox"
|
||||
AutoPostBack="True" OnSelectedIndexChanged="ddlSource_SelectedIndexChanged">
|
||||
</asp:DropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" nowrap style="height: 24px">
|
||||
<asp:Label id="lblTask" runat="server" meta:resourcekey="lblTask" Text="Task"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" style="height: 24px">
|
||||
<asp:DropDownList ID="ddlTask" runat="server" CssClass="NormalTextBox" AutoPostBack="true">
|
||||
</asp:DropDownList></td>
|
||||
</tr>
|
||||
<tr id="ItemNameRow" runat="server">
|
||||
<td class="SubHead" nowrap style="height: 24px">
|
||||
<asp:Label id="lblItemName" runat="server" meta:resourcekey="lblItemName" Text="Item Name"></asp:Label>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtItemName" runat="server" CssClass="NormalTextBox"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="FilterButtonsRow" runat="server">
|
||||
<td colspan="2">
|
||||
<asp:Button ID="btnDisplay" runat="server" Text="Display Records" meta:resourcekey="btnDisplay"
|
||||
CssClass="Button2" OnClick="btnDisplay_Click" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<div class="FormButtonsBar">
|
||||
<div class="FormButtonsBarCleanLeft">
|
||||
<asp:Button ID="btnExportLog" runat="server" Text="Export Log" meta:resourcekey="btnExportLog"
|
||||
CssClass="Button2" OnClick="btnExportLog_Click" />
|
||||
<asp:Button ID="btnClearLog" runat="server" Text="Clear Log" meta:resourcekey="btnClearLog"
|
||||
CssClass="Button2" OnClick="btnClearLog_Click" OnClientClick="return confirm('Clear Log?');" />
|
||||
</div>
|
||||
<div class="FormButtonsBarCleanRight">
|
||||
<asp:UpdateProgress ID="recordsProgress" runat="server"
|
||||
AssociatedUpdatePanelID="updatePanelLog" DynamicLayout="false">
|
||||
<ProgressTemplate>
|
||||
<asp:Image ID="imgSep" runat="server" SkinID="AjaxIndicator" vspace="4" />
|
||||
</ProgressTemplate>
|
||||
</asp:UpdateProgress>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="updatePanelLog" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
<div style="clear: both;">
|
||||
|
||||
<asp:GridView ID="gvLog" runat="server" AutoGenerateColumns="False"
|
||||
EmptyDataText="gvLog" CssSelectorClass="NormalGridView" EnableViewState="false"
|
||||
AllowSorting="True" DataSourceID="odsLog" AllowPaging="True"
|
||||
DataKeyNames="RecordID" OnRowCommand="gvLog_RowCommand">
|
||||
<Columns>
|
||||
<asp:TemplateField SortExpression="SeverityID" HeaderText="gvLogSeverity">
|
||||
<ItemStyle Wrap="False" />
|
||||
<ItemTemplate>
|
||||
<asp:Image ID="imgIcon" runat="server" hspace="2" ImageUrl='<%# GetIconUrl((int)Eval("SeverityID")) %>' ImageAlign="AbsMiddle" />
|
||||
<%# GetAuditLogRecordSeverityName((int)Eval("SeverityID")) %>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField SortExpression="StartDate" HeaderText="gvLogStartDate">
|
||||
<ItemStyle Wrap="False" />
|
||||
<ItemTemplate>
|
||||
<%# ((DateTime)Eval("StartDate")).ToShortDateString() %>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="gvLogStartTime">
|
||||
<ItemStyle Wrap="False" />
|
||||
<ItemTemplate>
|
||||
<%# ((DateTime)Eval("StartDate")).ToShortTimeString() %>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="gvLogFinishTime">
|
||||
<ItemStyle Wrap="False" />
|
||||
<ItemTemplate>
|
||||
<%# ((DateTime)Eval("FinishDate")).ToShortTimeString() %>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField SortExpression="SourceName" HeaderText="gvLogSource">
|
||||
<ItemStyle Wrap="False" />
|
||||
<ItemTemplate>
|
||||
<%# GetAuditLogSourceName((string)Eval("SourceName")) %>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField SortExpression="TaskName" HeaderText="gvLogTask">
|
||||
<ItemStyle Width="100%" />
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="cmdShowLog" runat="server"
|
||||
CommandName="ViewDetails" CommandArgument='<%# Eval("RecordID") %>'>
|
||||
<%# GetAuditLogTaskName((string)Eval("SourceName"), (string)Eval("TaskName"))%>
|
||||
</asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField SortExpression="ItemName" HeaderText="gvLogItemName">
|
||||
<ItemStyle Wrap="false" />
|
||||
<ItemTemplate>
|
||||
<%# Eval("ItemName")%>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField SortExpression="Username" HeaderText="gvLogUser">
|
||||
<ItemStyle Wrap="False" />
|
||||
<ItemTemplate>
|
||||
<asp:HyperLink ID="lnkUser" runat="server" NavigateUrl='<%# NavigateURL("UserID", Eval("EffectiveUserID").ToString())%>'>
|
||||
<%# Eval("Username")%>
|
||||
</asp:HyperLink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:ObjectDataSource ID="odsLog" runat="server" EnablePaging="True" SelectCountMethod="GetAuditLogRecordsPagedCount"
|
||||
SelectMethod="GetAuditLogRecordsPaged" SortParameterName="sortColumn" TypeName="WebsitePanel.Portal.AuditLogHelper" OnSelected="odsLog_Selected">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter Name="sStartDate" ControlID="litStartDate" PropertyName="Text" />
|
||||
<asp:ControlParameter Name="sEndDate" ControlID="litEndDate" PropertyName="Text" />
|
||||
<asp:QueryStringParameter Name="packageId" QueryStringField="SpaceID" Type="int32" DefaultValue="0" />
|
||||
<asp:QueryStringParameter Name="itemId" QueryStringField="ItemId" Type="int32" DefaultValue="0" />
|
||||
<asp:ControlParameter Name="itemName" ControlID="txtItemName" PropertyName="Text" />
|
||||
<asp:ControlParameter Name="severityId" ControlID="ddlSeverity" PropertyName="SelectedValue" Type="Int32" />
|
||||
<asp:ControlParameter Name="sourceName" ControlID="ddlSource" PropertyName="SelectedValue" />
|
||||
<asp:ControlParameter Name="taskName" ControlID="ddlTask" PropertyName="SelectedValue" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
</div>
|
||||
|
||||
<asp:Panel ID="pnlTaskDetails" runat="server" CssClass="PopupContainer" style="display:none;">
|
||||
|
||||
<table class="Popup-Header" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="Popup-HeaderLeft"></td>
|
||||
<td class="Popup-HeaderTitle">
|
||||
<asp:Localize ID="TaskDetailsHeader" runat="server" Text="Task Details"
|
||||
meta:resourcekey="TaskDetailsHeader"></asp:Localize>
|
||||
</td>
|
||||
<td class="Popup-HeaderRight"></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="Popup-Content">
|
||||
|
||||
<table cellpadding="5">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<table cellpadding="3">
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblSourceName" runat="server" meta:resourcekey="lblSourceName" Text="Source:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSourceName" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblTaskName" runat="server" meta:resourcekey="lblTaskName" Text="Task Name:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litTaskName" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblItemName1" runat="server" meta:resourcekey="lblItemName1" Text="Item Name:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litItemName" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblRecordUser" runat="server" meta:resourcekey="lblRecordUser" Text="User:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litUsername" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td valign="top">
|
||||
<table cellpadding="3">
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblStarted" runat="server" meta:resourcekey="lblStarted" Text="Started:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litStarted" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblFinished" runat="server" meta:resourcekey="lblFinished" Text="Finished:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litFinished" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblDuration" runat="server" meta:resourcekey="lblDuration" Text="Duration:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litDuration" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblResultSeverity" runat="server" meta:resourcekey="lblResultSeverity" Text="Severity:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSeverity" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" class="SubHead">
|
||||
<asp:Label ID="lblExecutionLog" runat="server" meta:resourcekey="lblExecutionLog" Text="Execution Log:"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" class="Normal">
|
||||
<asp:Panel ID="pnlExecutionLog" runat="server" style="border: solid 1px #e0e0e0; width:430px; height: 175px; overflow: auto; white-space: nowrap; background-color: #ffffff;padding:3px;">
|
||||
<asp:Literal ID="litLog" runat="server"></asp:Literal>
|
||||
</asp:Panel>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="FormFooter">
|
||||
<asp:Button ID="btnCloseTaskDetails" runat="server" Text="Close" CssClass="Button1" meta:resourcekey="btnCloseTaskDetails" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</asp:Panel>
|
||||
<ajaxToolkit:ModalPopupExtender ID="modalTaskDetailsProperties" runat="server"
|
||||
BackgroundCssClass="modalBackground"
|
||||
TargetControlID="btnShowTaskDetails"
|
||||
PopupControlID="pnlTaskDetails"
|
||||
OkControlID="btnCloseTaskDetails" />
|
||||
<asp:Button ID="btnShowTaskDetails" runat="server" Text="11" style="display:none;" />
|
||||
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
|
@ -0,0 +1,480 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Xml;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using Microsoft.Security.Application;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class AuditLogControl : WebsitePanelControlBase
|
||||
{
|
||||
private string logSource;
|
||||
public string LogSource
|
||||
{
|
||||
get { return logSource; }
|
||||
set { logSource = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//modalTaskDetailsProperties.Hide();
|
||||
|
||||
// set display preferences
|
||||
gvLog.PageSize = UsersHelper.GetDisplayItemsPerPage();
|
||||
|
||||
// grid columns
|
||||
gvLog.Columns[4].Visible = String.IsNullOrEmpty(logSource);
|
||||
gvLog.Columns[6].Visible = PanelRequest.ItemID == 0;
|
||||
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
try
|
||||
{
|
||||
btnClearLog.Visible
|
||||
= (PanelSecurity.EffectiveUser.Role == UserRole.Administrator);
|
||||
|
||||
// bind
|
||||
BindPeriod();
|
||||
BindSources();
|
||||
|
||||
// hide source if required
|
||||
if (!String.IsNullOrEmpty(logSource))
|
||||
{
|
||||
ddlSource.SelectedValue = logSource;
|
||||
SourceRow.Visible = false;
|
||||
}
|
||||
|
||||
// tasks
|
||||
BindSourceTasks();
|
||||
|
||||
// hide item name if required
|
||||
if (PanelRequest.ItemID > 0)
|
||||
{
|
||||
ItemNameRow.Visible = false;
|
||||
FilterButtonsRow.Visible = false;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//ShowErrorMessage("AUDIT_INIT_FORM", ex);
|
||||
HostModule.ProcessException(ex);
|
||||
//this.DisableControls = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public string GetIconUrl(int severityID)
|
||||
{
|
||||
if (severityID == 1)
|
||||
return PortalUtils.GetThemedImage("warning_icon_small.gif");
|
||||
else if (severityID == 2)
|
||||
return PortalUtils.GetThemedImage("error_icon_small.gif");
|
||||
else
|
||||
return PortalUtils.GetThemedImage("information_icon_small.gif");
|
||||
}
|
||||
|
||||
private void BindSources()
|
||||
{
|
||||
ddlSource.Items.Clear();
|
||||
ddlSource.Items.Add(new ListItem(GetLocalizedString("All.Text"), ""));
|
||||
DataTable dt = ES.Services.AuditLog.GetAuditLogSources().Tables[0];
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
string sourceName = dr["SourceName"].ToString();
|
||||
ddlSource.Items.Add(new ListItem(GetAuditLogSourceName(sourceName), sourceName));
|
||||
}
|
||||
}
|
||||
|
||||
private void BindSourceTasks()
|
||||
{
|
||||
string sourceName = ddlSource.SelectedValue;
|
||||
|
||||
ddlTask.Items.Clear();
|
||||
ddlTask.Items.Add(new ListItem(GetLocalizedString("All.Text"), ""));
|
||||
DataTable dt = ES.Services.AuditLog.GetAuditLogTasks(sourceName).Tables[0];
|
||||
foreach (DataRow dr in dt.Rows)
|
||||
{
|
||||
string taskName = dr["TaskName"].ToString();
|
||||
ddlTask.Items.Add(new ListItem(GetAuditLogTaskName(sourceName, taskName), taskName));
|
||||
}
|
||||
}
|
||||
|
||||
protected void ddlSource_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
BindSourceTasks();
|
||||
}
|
||||
|
||||
private void BindPeriod()
|
||||
{
|
||||
if (calPeriod.SelectedDates.Count == 0)
|
||||
calPeriod.SelectedDate = DateTime.Now;
|
||||
|
||||
DateTime startDate = calPeriod.SelectedDates[0];
|
||||
DateTime endDate = calPeriod.SelectedDates[calPeriod.SelectedDates.Count - 1];
|
||||
|
||||
litPeriod.Text = startDate.ToString("MMM dd, yyyy") +
|
||||
" - " + endDate.ToString("MMM dd, yyyy");
|
||||
|
||||
litStartDate.Text = startDate.ToString();
|
||||
litEndDate.Text = endDate.ToString();
|
||||
}
|
||||
|
||||
private void ExportLog()
|
||||
{
|
||||
// build HTML
|
||||
DataTable dtRecords = ES.Services.AuditLog.GetAuditLogRecordsPaged(PanelSecurity.SelectedUserId,
|
||||
PanelSecurity.PackageId, PanelRequest.ItemID, txtItemName.Text.Trim(),
|
||||
DateTime.Parse(litStartDate.Text),
|
||||
DateTime.Parse(litEndDate.Text),
|
||||
Utils.ParseInt(ddlSeverity.SelectedValue, 0),
|
||||
ddlSource.SelectedValue, ddlTask.SelectedValue,
|
||||
"StartDate ASC", 0, Int32.MaxValue).Tables[1];
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
// header
|
||||
sb.AppendLine("Started,Finished,Severity,User-ID,Username,Source,Task,Item-Name,Execution-Log");
|
||||
|
||||
foreach (DataRow dr in dtRecords.Rows)
|
||||
{
|
||||
// Started
|
||||
sb.AppendFormat("\"{0}\",", dr["StartDate"].ToString());
|
||||
// Finished
|
||||
sb.AppendFormat("\"{0}\",", dr["FinishDate"].ToString());
|
||||
// Severity
|
||||
sb.AppendFormat("\"{0}\",",
|
||||
GetAuditLogRecordSeverityName((int)dr["SeverityID"]));
|
||||
// User-ID
|
||||
sb.AppendFormat("\"{0}\",", dr["UserID"]);
|
||||
// Username
|
||||
sb.AppendFormat("\"{0}\",", dr["Username"]);
|
||||
// Source
|
||||
sb.AppendFormat("\"{0}\",",
|
||||
GetAuditLogSourceName((string)dr["SourceName"]));
|
||||
// Task
|
||||
sb.AppendFormat("\"{0}\",",
|
||||
AntiXss.HtmlEncode(GetAuditLogTaskName((string)dr["SourceName"], (string)dr["TaskName"])));
|
||||
// Item-Name
|
||||
sb.AppendFormat("\"{0}\",", AntiXss.HtmlEncode(dr["ItemName"].ToString()));
|
||||
// Execution-Log
|
||||
string executionLog = FormatPlainTextExecutionLog(
|
||||
dr["ExecutionLog"].ToString(), DateTime.Parse(dr["StartDate"].ToString()));
|
||||
//
|
||||
executionLog = executionLog.Replace("\"", "\"\"");
|
||||
//
|
||||
sb.AppendFormat("\"{0}\"", executionLog);
|
||||
sb.AppendLine();
|
||||
}
|
||||
|
||||
string cleanedPeriod = litPeriod.Text.Replace(" ", "").Replace("/", "-").Replace(",", "-");
|
||||
string fileName = "WSP-AuditLog-" + cleanedPeriod + ".csv";
|
||||
|
||||
Response.Clear();
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
|
||||
Response.ContentType = "application/ms-excel";
|
||||
|
||||
Response.Write(sb.ToString());
|
||||
|
||||
Response.End();
|
||||
}
|
||||
|
||||
private void ClearLog()
|
||||
{
|
||||
try
|
||||
{
|
||||
int result = ES.Services.AuditLog.DeleteAuditLogRecords(PanelSecurity.SelectedUserId,
|
||||
0, txtItemName.Text.Trim(),
|
||||
DateTime.Parse(litStartDate.Text),
|
||||
DateTime.Parse(litEndDate.Text),
|
||||
Utils.ParseInt(ddlSeverity.SelectedValue, 0),
|
||||
ddlSource.SelectedValue, ddlTask.SelectedValue);
|
||||
|
||||
if (result < 0)
|
||||
{
|
||||
HostModule.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
HostModule.ShowErrorMessage("AUDIT_CLEAR", ex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void BindRecordDetails(string recordId)
|
||||
{
|
||||
// load task
|
||||
LogRecord record = ES.Services.AuditLog.GetAuditLogRecord(recordId);
|
||||
|
||||
litUsername.Text = record.Username;
|
||||
litTaskName.Text = GetAuditLogTaskName(record.SourceName, record.TaskName);
|
||||
litSourceName.Text = GetAuditLogSourceName(record.SourceName);
|
||||
litItemName.Text = record.ItemName;
|
||||
litStarted.Text = record.StartDate.ToString();
|
||||
litFinished.Text = record.FinishDate.ToString();
|
||||
|
||||
litDuration.Text = GetDurationText(record.StartDate, record.FinishDate);
|
||||
|
||||
litSeverity.Text = GetAuditLogRecordSeverityName(record.SeverityID);
|
||||
litLog.Text = FormatExecutionLog(record.ExecutionLog, record.StartDate);
|
||||
}
|
||||
|
||||
private string FormatPlainTextExecutionLog(string xmlLog, DateTime startDate)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(xmlLog);
|
||||
|
||||
XmlNodeList nodeRecords = doc.SelectNodes("/log/records/record");
|
||||
|
||||
foreach (XmlNode nodeRecord in nodeRecords)
|
||||
{
|
||||
// read attributes
|
||||
DateTime date = DateTime.MinValue;
|
||||
int severity = 0;
|
||||
int ident = 0;
|
||||
|
||||
if (nodeRecord.Attributes["date"] != null)
|
||||
date = DateTime.Parse(nodeRecord.Attributes["date"].Value,
|
||||
System.Globalization.CultureInfo.InvariantCulture);
|
||||
|
||||
if (nodeRecord.Attributes["severity"] != null)
|
||||
severity = Int32.Parse(nodeRecord.Attributes["severity"].Value);
|
||||
|
||||
if (nodeRecord.Attributes["ident"] != null)
|
||||
ident = Int32.Parse(nodeRecord.Attributes["ident"].Value);
|
||||
|
||||
// Begin audit record
|
||||
sb.Append('\t', ident);
|
||||
sb.Append("......................");
|
||||
sb.AppendLine();
|
||||
// Timestamp
|
||||
sb.Append('\t', ident);
|
||||
sb.AppendFormat("Timestamp: {0}", GetDurationText(startDate, date));
|
||||
sb.AppendLine();
|
||||
|
||||
// text
|
||||
XmlNode nodeText = nodeRecord.SelectSingleNode("text");
|
||||
|
||||
// text parameters
|
||||
string[] prms = new string[0];
|
||||
XmlNodeList nodePrms = nodeRecord.SelectNodes("textParameters/value");
|
||||
if (nodePrms != null)
|
||||
{
|
||||
prms = new string[nodePrms.Count];
|
||||
for (int i = 0; i < nodePrms.Count; i++)
|
||||
prms[i] = nodePrms[i].InnerText;
|
||||
}
|
||||
|
||||
// write text
|
||||
string recordClass = "Information";
|
||||
if (severity == 1)
|
||||
recordClass = "Warning";
|
||||
else if (severity == 2)
|
||||
recordClass = "Error";
|
||||
|
||||
string text = nodeText.InnerText;
|
||||
|
||||
// localize text
|
||||
string locText = GetSharedLocalizedString("TaskActivity." + text);
|
||||
if (locText != null)
|
||||
text = locText;
|
||||
|
||||
// format parameters
|
||||
if (prms.Length > 0)
|
||||
text = String.Format(text, prms);
|
||||
// Severity
|
||||
sb.Append('\t', ident);
|
||||
sb.AppendFormat(String.Format("Severity: {0}", recordClass));
|
||||
sb.AppendLine();
|
||||
// Record text
|
||||
if (!String.IsNullOrEmpty(text))
|
||||
{
|
||||
sb.Append('\t', ident);
|
||||
sb.Append(text);
|
||||
sb.AppendLine();
|
||||
}
|
||||
//
|
||||
XmlNode nodeStackTrace = nodeRecord.SelectSingleNode("stackTrace");
|
||||
// Record stack trace
|
||||
if (!String.IsNullOrEmpty(nodeStackTrace.InnerText))
|
||||
{
|
||||
sb.Append('\t', ident);
|
||||
sb.Append(nodeStackTrace.InnerText);
|
||||
sb.AppendLine();
|
||||
}
|
||||
// End audit record
|
||||
sb.Append('\t', ident);
|
||||
sb.AppendLine();
|
||||
}
|
||||
// Replace each double-quote with 2*double-quote as per CSV specification.
|
||||
// See "http://en.wikipedia.org/wiki/Comma-separated_values#Basic_Rules" for further reference
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private string FormatExecutionLog(string xmlLog, DateTime startDate)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(xmlLog);
|
||||
|
||||
XmlNodeList nodeRecords = doc.SelectNodes("/log/records/record");
|
||||
|
||||
foreach (XmlNode nodeRecord in nodeRecords)
|
||||
{
|
||||
sb.Append("<div class=\"LogRecord\">");
|
||||
|
||||
// read attributes
|
||||
DateTime date = DateTime.MinValue;
|
||||
int severity = 0;
|
||||
int ident = 0;
|
||||
|
||||
if (nodeRecord.Attributes["date"] != null)
|
||||
date = DateTime.Parse(nodeRecord.Attributes["date"].Value,
|
||||
System.Globalization.CultureInfo.InvariantCulture);
|
||||
|
||||
if (nodeRecord.Attributes["severity"] != null)
|
||||
severity = Int32.Parse(nodeRecord.Attributes["severity"].Value);
|
||||
|
||||
if (nodeRecord.Attributes["ident"] != null)
|
||||
ident = Int32.Parse(nodeRecord.Attributes["ident"].Value);
|
||||
|
||||
// date div
|
||||
sb.Append("<div class=\"Time\">");
|
||||
sb.Append(GetDurationText(startDate, date));
|
||||
sb.Append("</div>");
|
||||
|
||||
// text
|
||||
XmlNode nodeText = nodeRecord.SelectSingleNode("text");
|
||||
|
||||
// text parameters
|
||||
string[] prms = new string[0];
|
||||
XmlNodeList nodePrms = nodeRecord.SelectNodes("textParameters/value");
|
||||
if (nodePrms != null)
|
||||
{
|
||||
prms = new string[nodePrms.Count];
|
||||
for (int i = 0; i < nodePrms.Count; i++)
|
||||
prms[i] = nodePrms[i].InnerText;
|
||||
}
|
||||
|
||||
// write text
|
||||
int padding = 80 + ident * 20;
|
||||
string recordClass = "Information";
|
||||
if (severity == 1)
|
||||
recordClass = "Warning";
|
||||
else if (severity == 2)
|
||||
recordClass = "Error";
|
||||
|
||||
string text = nodeText.InnerText;
|
||||
|
||||
// localize text
|
||||
string locText = GetSharedLocalizedString("TaskActivity." + text);
|
||||
if (locText != null)
|
||||
text = locText;
|
||||
|
||||
if (!String.IsNullOrEmpty(text))
|
||||
text = text.Replace("\n", "<br/>");
|
||||
|
||||
// format parameters
|
||||
if (prms.Length > 0)
|
||||
text = String.Format(text, prms);
|
||||
|
||||
sb.Append("<div class=\"").Append(recordClass).Append("\" style=\"padding-left:");
|
||||
sb.Append(padding).Append("px;\">").Append(text);
|
||||
|
||||
XmlNode nodeStackTrace = nodeRecord.SelectSingleNode("stackTrace");
|
||||
sb.Append("<br/>");
|
||||
sb.Append(nodeStackTrace.InnerText.Replace("\n", "<br>"));
|
||||
|
||||
sb.Append("</div></div>");
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
private string GetDurationText(DateTime startDate, DateTime endDate)
|
||||
{
|
||||
TimeSpan duration = endDate - startDate;
|
||||
return String.Format("{0}:{1}:{2}",
|
||||
duration.Hours.ToString().PadLeft(2, '0'),
|
||||
duration.Minutes.ToString().PadLeft(2, '0'),
|
||||
duration.Seconds.ToString().PadLeft(2, '0'));
|
||||
}
|
||||
|
||||
protected void calPeriod_SelectionChanged(object sender, EventArgs e)
|
||||
{
|
||||
BindPeriod();
|
||||
}
|
||||
protected void odsLog_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.Exception != null)
|
||||
{
|
||||
//ShowError(e.Exception.ToString());
|
||||
HostModule.ProcessException(e.Exception);
|
||||
//this.DisableControls = true;
|
||||
e.ExceptionHandled = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnExportLog_Click(object sender, EventArgs e)
|
||||
{
|
||||
ExportLog();
|
||||
}
|
||||
|
||||
protected void btnClearLog_Click(object sender, EventArgs e)
|
||||
{
|
||||
ClearLog();
|
||||
|
||||
// rebind grid
|
||||
gvLog.DataBind();
|
||||
}
|
||||
|
||||
protected void btnDisplay_Click(object sender, EventArgs e)
|
||||
{
|
||||
gvLog.DataBind();
|
||||
}
|
||||
|
||||
protected void gvLog_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
{
|
||||
if (e.CommandName == "ViewDetails")
|
||||
{
|
||||
string recordId = (string)e.CommandArgument;
|
||||
modalTaskDetailsProperties.Show();
|
||||
BindRecordDetails(recordId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,430 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3053
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class AuditLogControl {
|
||||
|
||||
/// <summary>
|
||||
/// calPeriod control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Calendar calPeriod;
|
||||
|
||||
/// <summary>
|
||||
/// litPeriod control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litPeriod;
|
||||
|
||||
/// <summary>
|
||||
/// litStartDate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litStartDate;
|
||||
|
||||
/// <summary>
|
||||
/// litEndDate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litEndDate;
|
||||
|
||||
/// <summary>
|
||||
/// lblSeverity control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSeverity;
|
||||
|
||||
/// <summary>
|
||||
/// ddlSeverity control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlSeverity;
|
||||
|
||||
/// <summary>
|
||||
/// SourceRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow SourceRow;
|
||||
|
||||
/// <summary>
|
||||
/// lblSource control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSource;
|
||||
|
||||
/// <summary>
|
||||
/// ddlSource control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlSource;
|
||||
|
||||
/// <summary>
|
||||
/// lblTask control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTask;
|
||||
|
||||
/// <summary>
|
||||
/// ddlTask control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlTask;
|
||||
|
||||
/// <summary>
|
||||
/// ItemNameRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow ItemNameRow;
|
||||
|
||||
/// <summary>
|
||||
/// lblItemName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblItemName;
|
||||
|
||||
/// <summary>
|
||||
/// txtItemName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtItemName;
|
||||
|
||||
/// <summary>
|
||||
/// FilterButtonsRow control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTableRow FilterButtonsRow;
|
||||
|
||||
/// <summary>
|
||||
/// btnDisplay control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnDisplay;
|
||||
|
||||
/// <summary>
|
||||
/// btnExportLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnExportLog;
|
||||
|
||||
/// <summary>
|
||||
/// btnClearLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnClearLog;
|
||||
|
||||
/// <summary>
|
||||
/// recordsProgress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.UpdateProgress recordsProgress;
|
||||
|
||||
/// <summary>
|
||||
/// updatePanelLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.UpdatePanel updatePanelLog;
|
||||
|
||||
/// <summary>
|
||||
/// gvLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvLog;
|
||||
|
||||
/// <summary>
|
||||
/// odsLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsLog;
|
||||
|
||||
/// <summary>
|
||||
/// pnlTaskDetails control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel pnlTaskDetails;
|
||||
|
||||
/// <summary>
|
||||
/// TaskDetailsHeader control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Localize TaskDetailsHeader;
|
||||
|
||||
/// <summary>
|
||||
/// lblSourceName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSourceName;
|
||||
|
||||
/// <summary>
|
||||
/// litSourceName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSourceName;
|
||||
|
||||
/// <summary>
|
||||
/// lblTaskName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTaskName;
|
||||
|
||||
/// <summary>
|
||||
/// litTaskName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litTaskName;
|
||||
|
||||
/// <summary>
|
||||
/// lblItemName1 control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblItemName1;
|
||||
|
||||
/// <summary>
|
||||
/// litItemName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litItemName;
|
||||
|
||||
/// <summary>
|
||||
/// lblRecordUser control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblRecordUser;
|
||||
|
||||
/// <summary>
|
||||
/// litUsername control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litUsername;
|
||||
|
||||
/// <summary>
|
||||
/// lblStarted control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblStarted;
|
||||
|
||||
/// <summary>
|
||||
/// litStarted control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litStarted;
|
||||
|
||||
/// <summary>
|
||||
/// lblFinished control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFinished;
|
||||
|
||||
/// <summary>
|
||||
/// litFinished control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litFinished;
|
||||
|
||||
/// <summary>
|
||||
/// lblDuration control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblDuration;
|
||||
|
||||
/// <summary>
|
||||
/// litDuration control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litDuration;
|
||||
|
||||
/// <summary>
|
||||
/// lblResultSeverity control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblResultSeverity;
|
||||
|
||||
/// <summary>
|
||||
/// litSeverity control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSeverity;
|
||||
|
||||
/// <summary>
|
||||
/// lblExecutionLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblExecutionLog;
|
||||
|
||||
/// <summary>
|
||||
/// pnlExecutionLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel pnlExecutionLog;
|
||||
|
||||
/// <summary>
|
||||
/// litLog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litLog;
|
||||
|
||||
/// <summary>
|
||||
/// btnCloseTaskDetails control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCloseTaskDetails;
|
||||
|
||||
/// <summary>
|
||||
/// modalTaskDetailsProperties control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::AjaxControlToolkit.ModalPopupExtender modalTaskDetailsProperties;
|
||||
|
||||
/// <summary>
|
||||
/// btnShowTaskDetails control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnShowTaskDetails;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CalendarControl.ascx.cs" Inherits="WebsitePanel.Portal.CalendarControl" %>
|
||||
<asp:TextBox ID="txtDate" runat="server" CssClass="NormalTextBox" Width="100px">22/22/2006</asp:TextBox>
|
||||
<asp:RequiredFieldValidator id="dateValidator" CssClass="NormalBold" runat="server" ControlToValidate="txtDate"
|
||||
Display="Dynamic" ErrorMessage="*" Enabled="false"></asp:RequiredFieldValidator>
|
||||
|
||||
<ajaxToolkit:CalendarExtender runat="server" ID ="Calendar"
|
||||
TargetControlID="txtDate" />
|
||||
|
||||
|
||||
|
||||
|
||||
<asp:CompareValidator ID = "CompareValidator" runat = "server" ControlToValidate = "txtDate" EnableClientScript = "true" Type = "Date" Operator = "DataTypeCheck" Display = "Dynamic" ErrorMessage = "Invalid date">
|
||||
</asp:CompareValidator>
|
|
@ -0,0 +1,91 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using AjaxControlToolkit;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class CalendarControl : WebsitePanelControlBase
|
||||
{
|
||||
public DateTime SelectedDate
|
||||
{
|
||||
get
|
||||
{
|
||||
DateTime dt = DateTime.Now;
|
||||
try
|
||||
{
|
||||
dt = DateTime.Parse(txtDate.Text);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
set
|
||||
{
|
||||
txtDate.Text = value.ToString("d");
|
||||
}
|
||||
}
|
||||
|
||||
public string CalendarCtrlClientID
|
||||
{
|
||||
get
|
||||
{
|
||||
this.EnsureChildControls();
|
||||
return Calendar.ClientID;
|
||||
}
|
||||
}
|
||||
|
||||
public bool ValidationEnabled
|
||||
{
|
||||
get { return dateValidator.Enabled; }
|
||||
set { dateValidator.Enabled = value; }
|
||||
}
|
||||
|
||||
public string ValidationGroup
|
||||
{
|
||||
get { return dateValidator.ValidationGroup; }
|
||||
set { dateValidator.ValidationGroup = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1434
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class CalendarControl {
|
||||
|
||||
/// <summary>
|
||||
/// txtDate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtDate;
|
||||
|
||||
/// <summary>
|
||||
/// dateValidator control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator dateValidator;
|
||||
|
||||
/// <summary>
|
||||
/// Calendar control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::AjaxControlToolkit.CalendarExtender Calendar;
|
||||
|
||||
/// <summary>
|
||||
/// CompareValidator control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CompareValidator CompareValidator;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CheckBoxOption.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.CheckBoxOption" %>
|
||||
<asp:Image ID="imgEnabled" runat="server" SkinID="OptionEnabled" />
|
||||
<asp:Image ID="imgDisabled" runat="server" SkinID="OptionDisabled" />
|
||||
<asp:Literal ID="litText" runat="server"></asp:Literal>
|
|
@ -0,0 +1,56 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class CheckBoxOption : System.Web.UI.UserControl
|
||||
{
|
||||
public bool Value
|
||||
{
|
||||
get { return imgEnabled.Visible; }
|
||||
set { imgEnabled.Visible = value; imgDisabled.Visible = !value; }
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get { return litText.Text; }
|
||||
set { litText.Text = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3053
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class CheckBoxOption {
|
||||
|
||||
/// <summary>
|
||||
/// imgEnabled control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image imgEnabled;
|
||||
|
||||
/// <summary>
|
||||
/// imgDisabled control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image imgDisabled;
|
||||
|
||||
/// <summary>
|
||||
/// litText control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litText;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CollapsiblePanel.ascx.cs" Inherits="WebsitePanel.Portal.CollapsiblePanel" %>
|
||||
<asp:Panel ID="HeaderPanel" runat="server" style="cursor: pointer;">
|
||||
<table class="Shevron" cellpadding="0" cellspacing="0"
|
||||
onmouseout="this.className='Shevron';" onmouseover="this.className='ShevronActive';">
|
||||
<tr>
|
||||
<td style="white-space: nowrap;padding-right:5px;"><asp:Label ID="lblTitle" runat="server"></asp:Label></td>
|
||||
<td class="ShevronLine"></td>
|
||||
<td style="padding-left:5px;"><asp:Image ID="ToggleImage" runat="server" Width="7" Height="4" ImageUrl="~/images/shevron_collapse.gif" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:Panel>
|
||||
<ajaxToolkit:CollapsiblePanelExtender ID="cpe" runat="Server" OnResolveControlID="cpe_ResolveControlID"
|
||||
TargetControlID="CpeContentPanel"
|
||||
ExpandControlID="HeaderPanel"
|
||||
CollapseControlID="HeaderPanel"
|
||||
Collapsed="False"
|
||||
ExpandDirection="Vertical"
|
||||
ImageControlID="ToggleImage"
|
||||
ExpandedImage="~/images/shevron_collapse.gif"
|
||||
ExpandedText="Collapse"
|
||||
CollapsedImage="~/images/shevron_expand.gif"
|
||||
CollapsedText="Expand"
|
||||
SuppressPostBack="true" />
|
|
@ -0,0 +1,123 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class CollapsiblePanel : WebsitePanelControlBase
|
||||
{
|
||||
public const string DEFAULT_EXPAND_IMAGE = "shevron_expand.gif";
|
||||
public const string DEFAULT_COLLAPSE_IMAGE = "shevron_collapse.gif";
|
||||
|
||||
public string CssClass
|
||||
{
|
||||
get { return HeaderPanel.CssClass; }
|
||||
set { HeaderPanel.CssClass = value; }
|
||||
}
|
||||
|
||||
private string _resourceKey;
|
||||
public string ResourceKey
|
||||
{
|
||||
get { return _resourceKey; }
|
||||
set { _resourceKey = value; }
|
||||
}
|
||||
|
||||
bool _isCollapsed = false;
|
||||
public bool IsCollapsed
|
||||
{
|
||||
get { return _isCollapsed; }
|
||||
set { _isCollapsed = value; }
|
||||
}
|
||||
|
||||
string _expandImage;
|
||||
public string ExpandImage
|
||||
{
|
||||
get { return _expandImage; }
|
||||
set { _expandImage = value; }
|
||||
}
|
||||
|
||||
string _collapseImage;
|
||||
public string CollapseImage
|
||||
{
|
||||
get { return _collapseImage; }
|
||||
set { _collapseImage = value; }
|
||||
}
|
||||
|
||||
public string TargetControlID
|
||||
{
|
||||
get { return cpe.TargetControlID; }
|
||||
set { cpe.TargetControlID = value; }
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get { return lblTitle.Text; }
|
||||
set { lblTitle.Text = value; }
|
||||
}
|
||||
|
||||
protected void cpe_ResolveControlID(object sender, AjaxControlToolkit.ResolveControlEventArgs e)
|
||||
{
|
||||
e.Control = this.Parent.FindControl(e.ControlID);
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (String.IsNullOrEmpty(_collapseImage))
|
||||
_collapseImage = DEFAULT_COLLAPSE_IMAGE;
|
||||
|
||||
if (String.IsNullOrEmpty(_expandImage))
|
||||
_expandImage = DEFAULT_EXPAND_IMAGE;
|
||||
|
||||
// Initialize the ContentPanel to be either expanded or collapsed depending on the flag
|
||||
// Due to the fact that this control can loaded dynamically we need to setup images every time.
|
||||
cpe.Collapsed = _isCollapsed;
|
||||
cpe.CollapsedImage = GetThemedImage(_expandImage);
|
||||
cpe.ExpandedImage = GetThemedImage(_collapseImage);
|
||||
|
||||
// get localized title
|
||||
if (!String.IsNullOrEmpty(ResourceKey))
|
||||
{
|
||||
WebsitePanelControlBase parentControl = this.Parent as WebsitePanelControlBase;
|
||||
if(parentControl != null)
|
||||
lblTitle.Text = parentControl.GetLocalizedString(ResourceKey + ".Text");
|
||||
}
|
||||
|
||||
ToggleImage.ImageUrl = GetThemedImage(_isCollapsed ? _expandImage : _collapseImage);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class CollapsiblePanel {
|
||||
|
||||
/// <summary>
|
||||
/// HeaderPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel HeaderPanel;
|
||||
|
||||
/// <summary>
|
||||
/// lblTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTitle;
|
||||
|
||||
/// <summary>
|
||||
/// ToggleImage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Image ToggleImage;
|
||||
|
||||
/// <summary>
|
||||
/// cpe control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::AjaxControlToolkit.CollapsiblePanelExtender cpe;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Comments.ascx.cs" Inherits="WebsitePanel.Portal.CommentsControl" %>
|
||||
<asp:Image ID="imgView" runat="server" SkinID="Notes" />
|
|
@ -0,0 +1,79 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class CommentsControl : WebsitePanelControlBase
|
||||
{
|
||||
public string Comments
|
||||
{
|
||||
get { return (string)ViewState["Comments"]; }
|
||||
set { ViewState["Comments"] = value; }
|
||||
}
|
||||
|
||||
public string ImageUrl
|
||||
{
|
||||
get { return (string)ViewState["ImageUrl"]; }
|
||||
set { ViewState["ImageUrl"] = value; }
|
||||
}
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
BindComments();
|
||||
}
|
||||
|
||||
private void BindComments()
|
||||
{
|
||||
//imgView.ImageUrl = ImageUrl;
|
||||
|
||||
// load user details
|
||||
if (!String.IsNullOrEmpty(Comments))
|
||||
{
|
||||
// escape symbols
|
||||
imgView.AlternateText = Comments;// Comments.Replace("\n", "<br/>").Replace("\r", "");//.Replace(" ", " ");
|
||||
imgView.ToolTip = Comments;
|
||||
//.Replace("\n", "<br/>");
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
public partial class CommentsControl {
|
||||
protected System.Web.UI.WebControls.Image imgView;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,88 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ContactDetails.ascx.cs" Inherits="WebsitePanel.Portal.ContactDetails" %>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="SubHead" style="width:200px;">
|
||||
<asp:Label ID="lblCompanyName" runat="server" meta:resourcekey="lblCompanyName" Text="Company Name:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtCompanyName" runat="server" Columns="40" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblAddress" runat="server" meta:resourcekey="lblAddress" Text="Address:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtAddress" runat="server" Columns="40" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblCity" runat="server" meta:resourcekey="lblCity" Text="City:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtCity" runat="server" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblCountry" runat="server" meta:resourcekey="lblCountry" Text="Country:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:dropdownlist runat="server" id="ddlCountry" cssclass="NormalTextBox" autopostback="True" width="200px" onselectedindexchanged="ddlCountry_SelectedIndexChanged" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblState" runat="server" meta:resourcekey="lblState" Text="State:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtState" runat="server" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
<asp:DropDownList ID="ddlStates" Runat="server" DataTextField="Text" DataValueField="Value" CssClass="NormalTextBox"
|
||||
Width="200px"></asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblZip" runat="server" meta:resourcekey="lblZip" Text="Zip:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtZip" runat="server" Columns="10" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="normal"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblPrimaryPhone" runat="server" meta:resourcekey="lblPrimaryPhone" Text="Primary phone:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtPrimaryPhone" runat="server" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblSecPhone" runat="server" meta:resourcekey="lblSecPhone" Text="Secondary phone:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtSecondaryPhone" runat="server" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblFax" runat="server" meta:resourcekey="lblFax" Text="Fax:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtFax" runat="server" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblIM" runat="server" meta:resourcekey="lblIM" Text="Instant messenger ID:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox id="txtMessengerId" runat="server" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -0,0 +1,227 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class ContactDetails : WebsitePanelControlBase
|
||||
{
|
||||
private string companyName;
|
||||
public string CompanyName
|
||||
{
|
||||
get { return txtCompanyName.Text; }
|
||||
set { companyName = value; }
|
||||
}
|
||||
|
||||
private string address;
|
||||
public string Address
|
||||
{
|
||||
get { return txtAddress.Text; }
|
||||
set { address = value; }
|
||||
}
|
||||
|
||||
private string country;
|
||||
public string Country
|
||||
{
|
||||
get
|
||||
{
|
||||
return ddlCountry.SelectedItem.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
country = value;
|
||||
}
|
||||
}
|
||||
|
||||
private string city;
|
||||
public string City
|
||||
{
|
||||
get { return txtCity.Text; }
|
||||
set { city = value; }
|
||||
}
|
||||
|
||||
private string zip;
|
||||
public string Zip
|
||||
{
|
||||
get { return txtZip.Text; }
|
||||
set { zip = value; }
|
||||
}
|
||||
|
||||
private string primaryPhone;
|
||||
public string PrimaryPhone
|
||||
{
|
||||
get { return txtPrimaryPhone.Text; }
|
||||
set { primaryPhone = value; }
|
||||
}
|
||||
|
||||
private string secondaryPhone;
|
||||
public string SecondaryPhone
|
||||
{
|
||||
get { return txtSecondaryPhone.Text; }
|
||||
set { secondaryPhone = value; }
|
||||
}
|
||||
|
||||
private string state;
|
||||
public string State
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ddlStates.Visible)
|
||||
return ddlStates.SelectedItem.Text;
|
||||
else
|
||||
return txtState.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
state = value;
|
||||
}
|
||||
}
|
||||
|
||||
private string fax;
|
||||
|
||||
public string Fax
|
||||
{
|
||||
get { return txtFax.Text; }
|
||||
set { fax = value; }
|
||||
}
|
||||
|
||||
private string messengerId;
|
||||
public string MessengerId
|
||||
{
|
||||
get { return txtMessengerId.Text; }
|
||||
set { messengerId = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindCountries();
|
||||
BindContact();
|
||||
}
|
||||
}
|
||||
|
||||
private void BindContact()
|
||||
{
|
||||
txtCompanyName.Text = companyName;
|
||||
txtAddress.Text = address;
|
||||
txtCity.Text = city;
|
||||
SetCountry(country);
|
||||
BindStates();
|
||||
SetState(state);
|
||||
txtZip.Text = zip;
|
||||
txtPrimaryPhone.Text = primaryPhone;
|
||||
txtSecondaryPhone.Text = secondaryPhone;
|
||||
txtFax.Text = fax;
|
||||
txtMessengerId.Text = messengerId;
|
||||
}
|
||||
|
||||
private void BindCountries()
|
||||
{
|
||||
/*DotNetNuke.Common.Lists.ListController lists = new DotNetNuke.Common.Lists.ListController();
|
||||
DotNetNuke.Common.Lists.ListEntryInfoCollection countries = lists.GetListEntryInfoCollection("Country");*/
|
||||
|
||||
//ddlCountry.DataSource = countries;
|
||||
/*ddlCountry.DataSource = new object();
|
||||
ddlCountry.DataBind();*/
|
||||
|
||||
PortalUtils.LoadCountriesDropDownList(ddlCountry, null);
|
||||
ddlCountry.Items.Insert(0, new ListItem("<Not specified>", ""));
|
||||
}
|
||||
|
||||
private void SetCountry(string val)
|
||||
{
|
||||
SetDropdown(ddlCountry, val);
|
||||
}
|
||||
|
||||
private void SetState(string val)
|
||||
{
|
||||
if (ddlStates.Visible)
|
||||
SetDropdown(ddlStates, val);
|
||||
else
|
||||
txtState.Text = val;
|
||||
}
|
||||
|
||||
private void SetDropdown(DropDownList dropdown, string val)
|
||||
{
|
||||
dropdown.SelectedItem.Selected = false;
|
||||
|
||||
ListItem item = dropdown.Items.FindByValue(val);
|
||||
if (item == null)
|
||||
item = dropdown.Items.FindByText(val);
|
||||
if (item != null)
|
||||
item.Selected = true;
|
||||
}
|
||||
|
||||
private void BindStates()
|
||||
{
|
||||
ddlStates.Visible = false;
|
||||
txtState.Visible = true;
|
||||
|
||||
if (ddlCountry.SelectedValue != "")
|
||||
{
|
||||
/*DotNetNuke.Common.Lists.ListController lists = new DotNetNuke.Common.Lists.ListController();
|
||||
DotNetNuke.Common.Lists.ListEntryInfoCollection states = lists.GetListEntryInfoCollection("Region", "", "Country." + ddlCountry.SelectedValue);
|
||||
|
||||
if (states.Count > 0)
|
||||
{
|
||||
ddlStates.DataSource = states;
|
||||
ddlStates.DataBind();
|
||||
|
||||
ddlStates.Items.Insert(0, new ListItem("<Not specified>", ""));
|
||||
|
||||
ddlStates.Visible = true;
|
||||
txtState.Visible = false;
|
||||
}*/
|
||||
|
||||
PortalUtils.LoadStatesDropDownList(ddlStates, ddlCountry.SelectedValue);
|
||||
|
||||
if (ddlStates.Items.Count > 0)
|
||||
{
|
||||
ddlStates.Items.Insert(0, new ListItem("<Not specified>", ""));
|
||||
ddlStates.Visible = true;
|
||||
txtState.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
BindStates();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,205 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3053
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class ContactDetails {
|
||||
|
||||
/// <summary>
|
||||
/// lblCompanyName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblCompanyName;
|
||||
|
||||
/// <summary>
|
||||
/// txtCompanyName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtCompanyName;
|
||||
|
||||
/// <summary>
|
||||
/// lblAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblAddress;
|
||||
|
||||
/// <summary>
|
||||
/// txtAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtAddress;
|
||||
|
||||
/// <summary>
|
||||
/// lblCity control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblCity;
|
||||
|
||||
/// <summary>
|
||||
/// txtCity control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtCity;
|
||||
|
||||
/// <summary>
|
||||
/// lblCountry control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblCountry;
|
||||
|
||||
/// <summary>
|
||||
/// ddlCountry control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlCountry;
|
||||
|
||||
/// <summary>
|
||||
/// lblState control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblState;
|
||||
|
||||
/// <summary>
|
||||
/// txtState control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtState;
|
||||
|
||||
/// <summary>
|
||||
/// ddlStates control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.DropDownList ddlStates;
|
||||
|
||||
/// <summary>
|
||||
/// lblZip control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblZip;
|
||||
|
||||
/// <summary>
|
||||
/// txtZip control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtZip;
|
||||
|
||||
/// <summary>
|
||||
/// lblPrimaryPhone control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblPrimaryPhone;
|
||||
|
||||
/// <summary>
|
||||
/// txtPrimaryPhone control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtPrimaryPhone;
|
||||
|
||||
/// <summary>
|
||||
/// lblSecPhone control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSecPhone;
|
||||
|
||||
/// <summary>
|
||||
/// txtSecondaryPhone control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtSecondaryPhone;
|
||||
|
||||
/// <summary>
|
||||
/// lblFax control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFax;
|
||||
|
||||
/// <summary>
|
||||
/// txtFax control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtFax;
|
||||
|
||||
/// <summary>
|
||||
/// lblIM control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblIM;
|
||||
|
||||
/// <summary>
|
||||
/// txtMessengerId control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtMessengerId;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EditDomainsList.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.EditDomainsList" %>
|
||||
<div style="width:400px;">
|
||||
<div class="FormButtonsBar">
|
||||
<asp:Button id="btnAddDomain" runat="server" meta:resourcekey="btnAddDomain" Text="Add"
|
||||
CssClass="Button2" CausesValidation="false" OnClick="btnAddDomain_Click"/>
|
||||
</div>
|
||||
|
||||
<asp:GridView id="gvDomains" Runat="server" AutoGenerateColumns="False"
|
||||
CssSelectorClass="NormalGridView"
|
||||
OnRowCommand="gvDomains_RowCommand" OnRowDataBound="gvDomains_RowDataBound"
|
||||
EmptyDataText="gvDomains" ShowHeader="False">
|
||||
<columns>
|
||||
<asp:TemplateField HeaderText="gvDomainsLabel" ItemStyle-Wrap="false">
|
||||
<itemtemplate>
|
||||
<asp:Label id="lblDomainName" Runat="server"></asp:Label>
|
||||
</itemtemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="gvDomainsName" ItemStyle-Width="100%">
|
||||
<itemtemplate>
|
||||
<asp:TextBox id="txtDomainName" Runat="server" Width="200px" CssClass="NormalTextBox">
|
||||
</asp:TextBox>
|
||||
<asp:RegularExpressionValidator id="valCorrectDomainName" runat="server" CssClass="NormalBold"
|
||||
ValidationExpression="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){1,10}[a-zA-Z]{2,6}$"
|
||||
ErrorMessage=" *" ControlToValidate="txtDomainName" Display="Dynamic"></asp:RegularExpressionValidator>
|
||||
</itemtemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<itemtemplate>
|
||||
<asp:ImageButton ID="cmdDeleteDomain" runat="server" SkinID="DeleteSmall"
|
||||
CommandName="delete_item" CausesValidation="false"
|
||||
meta:resourcekey="cmdDeleteDomain"></asp:ImageButton>
|
||||
</itemtemplate>
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:TemplateField>
|
||||
</columns>
|
||||
</asp:GridView>
|
||||
|
||||
</div>
|
|
@ -0,0 +1,159 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class EditDomainsList : WebsitePanelControlBase
|
||||
{
|
||||
public bool DisplayNames
|
||||
{
|
||||
get { return gvDomains.Columns[0].Visible; }
|
||||
set { gvDomains.Columns[0].Visible = value; }
|
||||
}
|
||||
|
||||
public string Value
|
||||
{
|
||||
get { return GetDomainsValue(); }
|
||||
set { SetDomainsValue(value); }
|
||||
}
|
||||
|
||||
private string GetDomainsValue()
|
||||
{
|
||||
List<string> items = CollectFormData(false);
|
||||
return String.Join(";", items.ToArray());
|
||||
}
|
||||
|
||||
private void SetDomainsValue(string s)
|
||||
{
|
||||
List<string> items = new List<string>();
|
||||
if (!String.IsNullOrEmpty(s))
|
||||
{
|
||||
string[] parts = s.Split(';');
|
||||
foreach (string part in parts)
|
||||
{
|
||||
if (part.Trim() != "")
|
||||
items.Add(part.Trim());
|
||||
}
|
||||
}
|
||||
|
||||
// save items
|
||||
loadItems = items.ToArray();
|
||||
|
||||
if (IsPostBack)
|
||||
{
|
||||
BindItems(loadItems);
|
||||
}
|
||||
}
|
||||
|
||||
private string[] loadItems = new string[] { };
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindItems(loadItems); // empty list
|
||||
}
|
||||
}
|
||||
|
||||
private void BindItems(string[] items)
|
||||
{
|
||||
gvDomains.DataSource = items;
|
||||
gvDomains.DataBind();
|
||||
}
|
||||
|
||||
public List<string> CollectFormData(bool includeEmpty)
|
||||
{
|
||||
List<string> items = new List<string>();
|
||||
foreach (GridViewRow row in gvDomains.Rows)
|
||||
{
|
||||
TextBox txtDomainName = (TextBox)row.FindControl("txtDomainName");
|
||||
string val = txtDomainName.Text.Trim();
|
||||
|
||||
if (includeEmpty || val != "")
|
||||
items.Add(val);
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
protected void btnAddDomain_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<string> items = CollectFormData(true);
|
||||
|
||||
// add empty string
|
||||
items.Add("");
|
||||
|
||||
// bind items
|
||||
BindItems(items.ToArray());
|
||||
}
|
||||
|
||||
protected void gvDomains_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
{
|
||||
if (e.CommandName == "delete_item")
|
||||
{
|
||||
List<string> items = CollectFormData(true);
|
||||
|
||||
// remove error
|
||||
items.RemoveAt(Utils.ParseInt((string)e.CommandArgument, 0));
|
||||
|
||||
// bind items
|
||||
BindItems(items.ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvDomains_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
Label lblDomainName = (Label)e.Row.FindControl("lblDomainName");
|
||||
TextBox txtDomainName = (TextBox)e.Row.FindControl("txtDomainName");
|
||||
ImageButton cmdDeleteDomain = (ImageButton)e.Row.FindControl("cmdDeleteDomain");
|
||||
|
||||
if (lblDomainName != null)
|
||||
{
|
||||
string val = (string)e.Row.DataItem;
|
||||
txtDomainName.Text = val;
|
||||
|
||||
string pos = (e.Row.RowIndex < 2) ? e.Row.RowIndex.ToString() : "";
|
||||
lblDomainName.Text = GetLocalizedString("Item" + pos + ".Text");
|
||||
|
||||
cmdDeleteDomain.CommandArgument = e.Row.RowIndex.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
public partial class EditDomainsList {
|
||||
protected System.Web.UI.WebControls.Button btnAddDomain;
|
||||
protected System.Web.UI.WebControls.GridView gvDomains;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EditIPAddressControl.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.EditIPAddressControl" %>
|
||||
<asp:TextBox ID="txtAddress" runat="server" Width="110px" MaxLength="15" CssClass="NormalTextBox"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="requireAddressValidator" runat="server" meta:resourcekey="requireAddressValidator"
|
||||
ControlToValidate="txtAddress" SetFocusOnError="true" Text="*" Enabled="false" Display="Dynamic">
|
||||
</asp:RequiredFieldValidator><asp:RegularExpressionValidator id="addressValidator" runat="server"
|
||||
ValidationExpression="^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$"
|
||||
Display="Dynamic" SetFocusOnError="true" ControlToValidate="txtAddress" Text="*" meta:resourcekey="addressValidator">
|
||||
</asp:RegularExpressionValidator>
|
|
@ -0,0 +1,90 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class EditIPAddressControl : WebsitePanelControlBase
|
||||
{
|
||||
public bool Required
|
||||
{
|
||||
get { return requireAddressValidator.Enabled; }
|
||||
set { requireAddressValidator.Enabled = value; }
|
||||
}
|
||||
|
||||
public string ValidationGroup
|
||||
{
|
||||
get { return requireAddressValidator.ValidationGroup; }
|
||||
set
|
||||
{
|
||||
requireAddressValidator.ValidationGroup = value;
|
||||
addressValidator.ValidationGroup = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string CssClass
|
||||
{
|
||||
get { return txtAddress.CssClass; }
|
||||
set { txtAddress.CssClass = value; }
|
||||
}
|
||||
|
||||
public Unit Width
|
||||
{
|
||||
get { return txtAddress.Width; }
|
||||
set { txtAddress.Width = value; }
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get { return txtAddress.Text.Trim(); }
|
||||
set { txtAddress.Text = value; }
|
||||
}
|
||||
|
||||
public string RequiredErrorMessage
|
||||
{
|
||||
get { return requireAddressValidator.ErrorMessage; }
|
||||
set { requireAddressValidator.ErrorMessage = value; }
|
||||
}
|
||||
|
||||
public string FormatErrorMessage
|
||||
{
|
||||
get { return addressValidator.ErrorMessage; }
|
||||
set { addressValidator.ErrorMessage = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1434
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class EditIPAddressControl {
|
||||
|
||||
/// <summary>
|
||||
/// txtAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtAddress;
|
||||
|
||||
/// <summary>
|
||||
/// requireAddressValidator control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator requireAddressValidator;
|
||||
|
||||
/// <summary>
|
||||
/// addressValidator control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator addressValidator;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EditItemComments.ascx.cs" Inherits="WebsitePanel.Portal.EditItemComments" %>
|
||||
<%@ Register TagPrefix="uc2" TagName="UserDetails" Src="UserDetails.ascx" %>
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="commentsUpdatePanel" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
|
||||
<asp:GridView ID="gvComments" runat="server" AutoGenerateColumns="False"
|
||||
ShowHeader="false" DataKeyNames="CommentID"
|
||||
CssSelectorClass="NormalGridView"
|
||||
EmptyDataText="gvComments" OnRowDeleting="gvComments_RowDeleting">
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<div style="float:right">
|
||||
<asp:ImageButton ID="btnDelete" SkinID="DeleteSmall" CommandName="delete" runat="server" Text="Delete" meta:resourcekey="btnDelete" />
|
||||
</div>
|
||||
<div class="Small">
|
||||
<uc2:UserDetails ID="userDetails" runat="server"
|
||||
UserID='<%# Eval("UserID") %>'
|
||||
Username='<%# Eval("Username") %>' />
|
||||
|
||||
<asp:Label ID="lblCommented" runat="server" meta:resourcekey="lblCommented"></asp:Label>
|
||||
|
||||
<%# Eval("CreatedDate") %>
|
||||
</div>
|
||||
<div class="FormRow">
|
||||
<%# WrapComment((string)Eval("CommentText")) %>
|
||||
</div>
|
||||
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:Panel id="AddCommentPanel" runat="server" style="padding: 5px 5px 0px 5px;">
|
||||
<asp:TextBox ID="txtComments" runat="server" CssClass="LogArea" Rows="3"
|
||||
TextMode="MultiLine" Width="520px"></asp:TextBox>
|
||||
<div class="FormRow">
|
||||
<asp:Button ID="btnAdd" runat="server" Text="Add" meta:resourcekey="btnAdd" CssClass="Button3" OnClick="btnAdd_Click" ValidationGroup="AddItemComment" />
|
||||
<asp:RequiredFieldValidator ID="valRequireComment" runat="server" ControlToValidate="txtComments"
|
||||
ErrorMessage="*" ValidationGroup="AddItemComment" meta:resourcekey="valRequireComment"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
|
@ -0,0 +1,155 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class EditItemComments : WebsitePanelControlBase
|
||||
{
|
||||
public int ItemId
|
||||
{
|
||||
get
|
||||
{
|
||||
// get item id from view state
|
||||
int itemId = (ViewState["ItemId"] != null) ? (int)ViewState["ItemId"] : -1;
|
||||
if (itemId == -1)
|
||||
{
|
||||
// lookup in the request
|
||||
if (RequestItemId != null)
|
||||
itemId = Utils.ParseInt(Request[RequestItemId], -1);
|
||||
}
|
||||
|
||||
return itemId;
|
||||
}
|
||||
set { ViewState["ItemId"] = value; }
|
||||
}
|
||||
|
||||
public string ItemTypeId
|
||||
{
|
||||
get { return (ViewState["ItemTypeId"] != null) ? (string)ViewState["ItemTypeId"] : ""; }
|
||||
set { ViewState["ItemTypeId"] = value; }
|
||||
}
|
||||
|
||||
public string RequestItemId
|
||||
{
|
||||
get { return (ViewState["RequestItemId"] != null) ? (string)ViewState["RequestItemId"] : null; }
|
||||
set { ViewState["RequestItemId"] = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindComments();
|
||||
|
||||
btnAdd.Enabled = (ItemId > 0);
|
||||
AddCommentPanel.Visible = (ItemId > 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void BindComments()
|
||||
{
|
||||
try
|
||||
{
|
||||
gvComments.DataSource = ES.Services.Comments.GetComments(PanelSecurity.EffectiveUserId, ItemTypeId, ItemId);
|
||||
gvComments.DataBind();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
HostModule.ShowErrorMessage("COMMENT_GET", ex);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (txtComments.Text.Trim() == "")
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
int result = ES.Services.Comments.AddComment(ItemTypeId, ItemId, Server.HtmlEncode(txtComments.Text), 2);
|
||||
if (result < 0)
|
||||
{
|
||||
HostModule.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
HostModule.ShowErrorMessage("COMMENT_ADD", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
// clear fields
|
||||
txtComments.Text = "";
|
||||
|
||||
// rebind list
|
||||
BindComments();
|
||||
}
|
||||
|
||||
public string WrapComment(string text)
|
||||
{
|
||||
return (text != null) ? text.Replace("\n", "<br/>") : text;
|
||||
}
|
||||
|
||||
protected void gvComments_RowDeleting(object sender, GridViewDeleteEventArgs e)
|
||||
{
|
||||
int commentId = (int)gvComments.DataKeys[e.RowIndex][0];
|
||||
|
||||
// delete comment
|
||||
try
|
||||
{
|
||||
int result = ES.Services.Comments.DeleteComment(commentId);
|
||||
if (result < 0)
|
||||
{
|
||||
HostModule.ShowResultMessage(result);
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
HostModule.ShowErrorMessage("COMMENT_DELETE", ex);
|
||||
return;
|
||||
}
|
||||
|
||||
// rebind list
|
||||
BindComments();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
public partial class EditItemComments {
|
||||
protected System.Web.UI.UpdatePanel commentsUpdatePanel;
|
||||
protected System.Web.UI.WebControls.GridView gvComments;
|
||||
protected System.Web.UI.WebControls.Panel AddCommentPanel;
|
||||
protected System.Web.UI.WebControls.TextBox txtComments;
|
||||
protected System.Web.UI.WebControls.Button btnAdd;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireComment;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EmailControl.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.EmailControl" %>
|
||||
<asp:TextBox ID="txtEmail" runat="server" CssClass="NormalTextBox" Width="200px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireEmail" runat="server" ErrorMessage="*" meta:resourcekey="valRequireEmail"
|
||||
ControlToValidate="txtEmail" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valCorrectEmail" runat="server"
|
||||
ErrorMessage="Wrong e-mail" ControlToValidate="txtEmail" Display="Dynamic" meta:resourcekey="valCorrectEmail"
|
||||
ValidationExpression="^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$"></asp:RegularExpressionValidator>
|
|
@ -0,0 +1,74 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class EmailControl : WebsitePanelControlBase
|
||||
{
|
||||
public Unit Width
|
||||
{
|
||||
get { return txtEmail.Width; }
|
||||
set { txtEmail.Width = value; }
|
||||
}
|
||||
|
||||
public bool RequiredEnabled
|
||||
{
|
||||
get { return valRequireEmail.Enabled; }
|
||||
set { valRequireEmail.Enabled = value; }
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get { return txtEmail.Text.Trim(); }
|
||||
set { txtEmail.Text = value; }
|
||||
}
|
||||
|
||||
public string ValidationGroup
|
||||
{
|
||||
get { return valRequireEmail.ValidationGroup; }
|
||||
set { valRequireEmail.ValidationGroup = value; valCorrectEmail.ValidationGroup = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
public partial class EmailControl {
|
||||
protected System.Web.UI.WebControls.TextBox txtEmail;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireEmail;
|
||||
protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectEmail;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="EnableAsyncTasksSupport.ascx.cs" Inherits="WebsitePanel.Portal.EnableAsyncTasksSupport" %>
|
||||
<%@ Import Namespace="WebsitePanel.Portal" %>
|
||||
|
||||
<input type="hidden" id="taskID" runat="server" />
|
||||
|
||||
<script type="text/javascript" language="javascript" type="text/javascript">
|
||||
var _ctrlTaskID = "<%= taskID.ClientID %>";
|
||||
var _completeMessage = "<%= GetLocalizedString("Text.CompleteMessage") %>";
|
||||
</script>
|
||||
<script src="<%= GetAjaxUtilsUrl() %>" language="javascript" type="text/javascript"></script>
|
||||
|
||||
<asp:Panel id="pnlModal" runat="server" CssClass="PopupContainer" style="display:none">
|
||||
<table class="Header" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="HeaderLeft"></td>
|
||||
<td class="HeaderTitle">
|
||||
<asp:Label ID="lblTitle" runat="server" meta:resourcekey="lblTitle" Text="Running"></asp:Label>
|
||||
</td>
|
||||
<td class="HeaderRight"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="Content">
|
||||
<div class="FormBody">
|
||||
<div class="ProgressPanelArea">
|
||||
<div class="MediumBold">
|
||||
<img id="imgAjaxIndicator" src='<%= PortalUtils.GetThemedImage("indicator_medium.gif") %>' align="absmiddle" />
|
||||
<span id="objProgressDialogTitle"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ProgressPanelArea" class="ProgressPanelArea">
|
||||
<fieldset>
|
||||
<table width="100%" cellpadding="3">
|
||||
<tr>
|
||||
<td class="SubHead" colspan="2">
|
||||
<span id="objProgressDialogStep">Step</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ProgressBarContainer">
|
||||
<div id="objProgressDialogProgressBar" class="ProgressBarIndicator" style="width:0px;"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead" width="100" nowrap>
|
||||
<asp:Label ID="lblStarted" runat="server" meta:resourcekey="lblStarted" Text="Started"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" width="100%">
|
||||
<span id="progressStartTime"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead">
|
||||
<asp:Label ID="lblDuration" runat="server" meta:resourcekey="lblDuration" Text="Duration"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<span id="progressDuration"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PopupFormFooter" class="FormFooter" style="text-align: center;">
|
||||
<div id="objProgressDialogCommandButtons">
|
||||
<asp:Button id="btnCancelProgressDialog" Text=" Close " CssClass="Button1" meta:resourcekey="btnCancelProgressDialog" runat="server" />
|
||||
</div>
|
||||
<div id="objProgressDialogCloseButton" style="display: none;">
|
||||
<asp:Button id="btnCloseProgressDialog" Text=" OK " CssClass="Button1" meta:resourcekey="btnCloseProgressDialog" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
|
||||
<ajaxToolkit:ModalPopupExtender ID="ModalPopupProperties" runat="server"
|
||||
BehaviorID="ModalPopupProperties"
|
||||
TargetControlID="btnShowProgressDialog" PopupControlID="pnlModal"
|
||||
BackgroundCssClass="modalBackground" DropShadow="false"
|
||||
OkControlID="btnCloseProgressDialog" OnCancelScript="OnCancelProgressDialog()"
|
||||
CancelControlID="btnCancelProgressDialog" />
|
||||
|
||||
<asp:Button id="btnShowProgressDialog" runat="server" Text="Progress" style="display:none;" />
|
|
@ -0,0 +1,97 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class EnableAsyncTasksSupport : WebsitePanelControlBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
Page.Form.Attributes["onsubmit"] += "return ShowProgressDialogInternal();";
|
||||
|
||||
// get task ID from request and place it to context
|
||||
Context.Items["WebsitePanelAtlasTaskID"] = taskID.Value;
|
||||
}
|
||||
|
||||
public string GetAjaxUtilsUrl()
|
||||
{
|
||||
return Page.ClientScript.GetWebResourceUrl(
|
||||
typeof(EnableAsyncTasksSupport), "WebsitePanel.Portal.Scripts.AjaxUtils.js");
|
||||
}
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
// call base handler
|
||||
base.OnPreRender(e);
|
||||
|
||||
// check if async task was runned
|
||||
string asyncScript = "";
|
||||
string asyncTaskID = (string)Context.Items["WebsitePanelAtlasAsyncTaskID"];
|
||||
if (!String.IsNullOrEmpty(asyncTaskID))
|
||||
{
|
||||
string taskTitle = (string)Context.Items["WebsitePanelAtlasAsyncTaskTitle"];
|
||||
if (String.IsNullOrEmpty(taskTitle))
|
||||
taskTitle = GetLocalizedString("Text.GenericTitle");
|
||||
|
||||
asyncScript = "ShowProgressDialogAsync('" + asyncTaskID + "', '" + taskTitle + "');";
|
||||
}
|
||||
else
|
||||
{
|
||||
string url = (string)Context.Items["RedirectUrl"];
|
||||
|
||||
if (!String.IsNullOrWhiteSpace(url))
|
||||
{
|
||||
Response.Redirect(url);
|
||||
}
|
||||
}
|
||||
|
||||
Page.ClientScript.RegisterStartupScript(this.GetType(), "Atlas", @"<script>
|
||||
function pageLoad()
|
||||
{
|
||||
" + asyncScript + @"
|
||||
ShowProgressDialogInternal();
|
||||
}
|
||||
</script>
|
||||
");
|
||||
|
||||
// generate new task ID
|
||||
taskID.Value = Guid.NewGuid().ToString("N");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3074
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class EnableAsyncTasksSupport {
|
||||
|
||||
/// <summary>
|
||||
/// taskID control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlInputHidden taskID;
|
||||
|
||||
/// <summary>
|
||||
/// pnlModal control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel pnlModal;
|
||||
|
||||
/// <summary>
|
||||
/// lblTitle control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTitle;
|
||||
|
||||
/// <summary>
|
||||
/// lblStarted control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblStarted;
|
||||
|
||||
/// <summary>
|
||||
/// lblDuration control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblDuration;
|
||||
|
||||
/// <summary>
|
||||
/// btnCancelProgressDialog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCancelProgressDialog;
|
||||
|
||||
/// <summary>
|
||||
/// btnCloseProgressDialog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnCloseProgressDialog;
|
||||
|
||||
/// <summary>
|
||||
/// ModalPopupProperties control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::AjaxControlToolkit.ModalPopupExtender ModalPopupProperties;
|
||||
|
||||
/// <summary>
|
||||
/// btnShowProgressDialog control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnShowProgressDialog;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FileLookup.ascx.cs" Inherits="WebsitePanel.Portal.FileLookup" %>
|
||||
<asp:TextBox ID="txtFile" runat="server" CssClass="NormalTextBox" Width="300px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireFile" runat="server" meta:resourcekey="valRequireFile" ControlToValidate="txtFile"
|
||||
ErrorMessage="*"></asp:RequiredFieldValidator>
|
||||
<br />
|
||||
<asp:Panel ID="pnlLookup" runat="server" class="Toolbox" style="display: none;">
|
||||
<div style="width: auto; height: 175px; overflow: auto; white-space: nowrap; background-color: #ffffff;padding:3px;border:solid 1px #909090;">
|
||||
<div style="float:right;">
|
||||
<asp:UpdateProgress ID="treeProgress" runat="server"
|
||||
AssociatedUpdatePanelID="TreeUpdatePanel" DynamicLayout="true">
|
||||
<ProgressTemplate>
|
||||
<asp:Image ID="imgIndicator" runat="server" SkinID="AjaxIndicator" />
|
||||
</ProgressTemplate>
|
||||
</asp:UpdateProgress>
|
||||
</div>
|
||||
<asp:UpdatePanel ID="TreeUpdatePanel" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
<asp:treeview runat="server" id="DNNTree" populatenodesfromclient="true"
|
||||
showexpandcollapse="true" expanddepth="0" ontreenodepopulate="DNNTree_TreeNodePopulate"
|
||||
onselectednodechanged="DNNTree_SelectedNodeChanged" NodeIndent="10">
|
||||
<rootnodestyle cssclass="FileManagerTreeNode" />
|
||||
<nodestyle cssclass="FileManagerTreeNode" />
|
||||
<leafnodestyle cssclass="FileManagerTreeNode" />
|
||||
<parentnodestyle cssclass="FileManagerTreeNode" />
|
||||
<selectednodestyle cssclass="FileManagerTreeNodeSelected" />
|
||||
</asp:treeview>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
<ajaxToolkit:PopupControlExtender ID="PopupControlExtender1" runat="server" TargetControlID="txtFile" PopupControlID="pnlLookup" Position="Bottom" />
|
||||
<ajaxToolkit:DropShadowExtender ID="DropShadowExtender1" runat="server" TargetControlID="pnlLookup" TrackPosition="true" Opacity="0.4" />
|
|
@ -0,0 +1,200 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
using AjaxControlToolkit;
|
||||
|
||||
//using DNNTV = DotNetNuke.UI.WebControls;
|
||||
using WebsitePanel.Providers.OS;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class FileLookup : WebsitePanelControlBase
|
||||
{
|
||||
|
||||
public bool Enabled
|
||||
{
|
||||
get { return txtFile.Enabled; }
|
||||
set { txtFile.Enabled = value; }
|
||||
}
|
||||
|
||||
public int PackageId
|
||||
{
|
||||
get { return (ViewState["PackageId"] != null) ? (int)ViewState["PackageId"] : PanelSecurity.PackageId; }
|
||||
set { ViewState["PackageId"] = value; InitTree(); }
|
||||
}
|
||||
|
||||
public bool IncludeFiles
|
||||
{
|
||||
get { return (ViewState["IncludeFiles"] != null) ? (bool)ViewState["IncludeFiles"] : false; }
|
||||
set { ViewState["IncludeFiles"] = value; }
|
||||
}
|
||||
|
||||
public string RootFolder
|
||||
{
|
||||
get { return (ViewState["RootFolder"] != null) ? (string)ViewState["RootFolder"] : ""; }
|
||||
set { ViewState["RootFolder"] = value; }
|
||||
}
|
||||
|
||||
public string SelectedFile
|
||||
{
|
||||
get { return txtFile.Text; }
|
||||
set { txtFile.Text = value; }
|
||||
}
|
||||
|
||||
public Unit Width
|
||||
{
|
||||
get { return txtFile.Width; }
|
||||
set { txtFile.Width = value; pnlLookup.Width = value; }
|
||||
}
|
||||
|
||||
public string ValidationGroup
|
||||
{
|
||||
get { return valRequireFile.ValidationGroup; }
|
||||
set { valRequireFile.ValidationGroup = value; }
|
||||
}
|
||||
|
||||
public bool ValidationEnabled
|
||||
{
|
||||
get { return valRequireFile.Enabled; }
|
||||
set { valRequireFile.Enabled = value; }
|
||||
}
|
||||
|
||||
public bool DropShadow
|
||||
{
|
||||
get { return DropShadowExtender1.Opacity > 0.0F; }
|
||||
set { DropShadowExtender1.Opacity = value ? 0.6F : 0.0F; }
|
||||
}
|
||||
|
||||
private bool treeInitialized = false;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
if(!treeInitialized)
|
||||
InitTree();
|
||||
}
|
||||
}
|
||||
|
||||
private void InitTree()
|
||||
{
|
||||
pnlLookup.Width = Width;
|
||||
|
||||
// prepare tree
|
||||
DNNTree.CollapseImageUrl = ResolveUrl(String.Concat("~/App_Themes/", Page.Theme, "/images/min.gif"));
|
||||
DNNTree.ExpandImageUrl = ResolveUrl(String.Concat("~/App_Themes/", Page.Theme, "/images/max.gif"));
|
||||
DNNTree.NoExpandImageUrl = ResolveUrl(String.Concat("~/App_Themes/", Page.Theme, "/images/empty.gif"));
|
||||
|
||||
DNNTree.Nodes.Clear();
|
||||
|
||||
TreeNode node = new TreeNode();
|
||||
node.ImageUrl = ResolveUrl(String.Concat("~/App_Themes/", Page.Theme, "/images/folder.png"));
|
||||
node.Value = PackageId.ToString() + "," + RootFolder + "\\";
|
||||
node.Text = GetLocalizedString("Text.Root");
|
||||
node.PopulateOnDemand = true;
|
||||
DNNTree.Nodes.Add(node);
|
||||
|
||||
// set flag
|
||||
treeInitialized = true;
|
||||
}
|
||||
|
||||
protected void DNNTree_SelectedNodeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (DNNTree.SelectedNode != null)
|
||||
{
|
||||
string[] key = DNNTree.SelectedNode.Value.Split(',');
|
||||
string path = key[1];
|
||||
|
||||
if (path.Length > 1 && path.EndsWith("\\"))
|
||||
path = path.Substring(0, path.Length - 1);
|
||||
|
||||
path = path.Substring(RootFolder.Length);
|
||||
|
||||
if (!String.IsNullOrEmpty(RootFolder) &&
|
||||
!path.StartsWith("\\"))
|
||||
path = "\\" + path;
|
||||
|
||||
PopupControlExtender1.Commit(path);
|
||||
}
|
||||
}
|
||||
|
||||
protected void DNNTree_TreeNodePopulate(object sender, TreeNodeEventArgs e)
|
||||
{
|
||||
if (e.Node.ChildNodes.Count > 0)
|
||||
return;
|
||||
|
||||
string[] key = e.Node.Value.Split(',');
|
||||
|
||||
int packageId = Utils.ParseInt(key[0], 0);
|
||||
string path = key[1];
|
||||
|
||||
// read child folders
|
||||
SystemFile[] files = null;
|
||||
|
||||
try
|
||||
{
|
||||
files = ES.Services.Files.GetFiles(packageId, path, IncludeFiles);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// add error node
|
||||
TreeNode node = new TreeNode();
|
||||
node.Text = "Error: " + ex.Message;
|
||||
e.Node.ChildNodes.Add(node);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (SystemFile file in files)
|
||||
{
|
||||
string fullPath = path + file.Name;
|
||||
if (file.IsDirectory)
|
||||
fullPath += "\\";
|
||||
|
||||
TreeNode node = new TreeNode();
|
||||
node.Value = packageId.ToString() + "," + fullPath;
|
||||
node.Text = file.Name;
|
||||
node.PopulateOnDemand = (file.IsDirectory && !file.IsEmpty);
|
||||
|
||||
node.ImageUrl = file.IsDirectory? ResolveUrl(String.Concat("~/App_Themes/", Page.Theme, "/images/folder.png")) :
|
||||
ResolveUrl(String.Concat("~/App_Themes/", Page.Theme, "/images/file.png"));
|
||||
|
||||
e.Node.ChildNodes.Add(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
public partial class FileLookup {
|
||||
protected System.Web.UI.WebControls.TextBox txtFile;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireFile;
|
||||
protected System.Web.UI.WebControls.Panel pnlLookup;
|
||||
protected System.Web.UI.UpdateProgress treeProgress;
|
||||
protected System.Web.UI.UpdatePanel TreeUpdatePanel;
|
||||
protected System.Web.UI.WebControls.TreeView DNNTree;
|
||||
protected AjaxControlToolkit.PopupControlExtender PopupControlExtender1;
|
||||
protected AjaxControlToolkit.DropShadowExtender DropShadowExtender1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="FileNameControl.ascx.cs" Inherits="WebsitePanel.Portal.FileNameControl" %>
|
||||
<asp:TextBox ID="txtFileName" runat="server" Width="200"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireNewName" runat="server" meta:resourcekey="valRequireNewName" ControlToValidate="txtFileName"
|
||||
CssClass="NormalBold" Display="Dynamic" ErrorMessage="*" ValidationGroup="NewFileName"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valCorrectNewName" runat="server" meta:resourcekey="valCorrectNewName" ControlToValidate="txtFileName"
|
||||
CssClass="NormalBold" Display="Dynamic" EnableClientScript="False" ErrorMessage="Invalid file name."
|
||||
ValidationExpression='(?i)^(?!^(PRN|AUX|CLOCK\$|NUL|CON|COM\d|LPT\d|\..*)(\..+)?$)[^\x00-\x1f\\?*:\";|/]+$'
|
||||
ValidationGroup="NewFileName"></asp:RegularExpressionValidator>
|
|
@ -0,0 +1,74 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class FileNameControl : WebsitePanelControlBase
|
||||
{
|
||||
public string ValidationGroup
|
||||
{
|
||||
get
|
||||
{
|
||||
return valCorrectNewName.ValidationGroup;
|
||||
}
|
||||
set
|
||||
{
|
||||
valCorrectNewName.ValidationGroup = value;
|
||||
valRequireNewName.ValidationGroup = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get { return txtFileName.Text.Trim(); }
|
||||
set { txtFileName.Text = value; }
|
||||
}
|
||||
|
||||
public Unit Width
|
||||
{
|
||||
get { return txtFileName.Width; }
|
||||
set { txtFileName.Width = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.4927
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class FileNameControl {
|
||||
|
||||
/// <summary>
|
||||
/// txtFileName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtFileName;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireNewName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireNewName;
|
||||
|
||||
/// <summary>
|
||||
/// valCorrectNewName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RegularExpressionValidator valCorrectNewName;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Gauge.ascx.cs" Inherits="WebsitePanel.Portal.Gauge" %>
|
||||
<asp:Literal id="GaugeContent" runat="server">
|
||||
</asp:Literal>
|
|
@ -0,0 +1,127 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class Gauge : WebsitePanelControlBase
|
||||
{
|
||||
private int width = 100;
|
||||
private bool oneColour = false;
|
||||
|
||||
public bool DisplayGauge
|
||||
{
|
||||
get { return (ViewState["DisplayGauge"] != null) ? (bool)ViewState["DisplayGauge"] : true; }
|
||||
set { ViewState["DisplayGauge"] = value; }
|
||||
}
|
||||
|
||||
public bool DisplayText
|
||||
{
|
||||
get { return (ViewState["DisplayText"] != null) ? (bool)ViewState["DisplayText"] : true; }
|
||||
set { ViewState["DisplayText"] = value; }
|
||||
}
|
||||
|
||||
public int Progress
|
||||
{
|
||||
get { return (ViewState["Progress"] != null) ? (int)ViewState["Progress"] : 0; }
|
||||
set { ViewState["Progress"] = value; }
|
||||
}
|
||||
|
||||
public int Total
|
||||
{
|
||||
get { return (ViewState["Total"] != null) ? (int)ViewState["Total"] : 0; }
|
||||
set { ViewState["Total"] = value; }
|
||||
}
|
||||
|
||||
public int Width
|
||||
{
|
||||
get { return this.width; }
|
||||
set { this.width = value; }
|
||||
}
|
||||
|
||||
public bool OneColour
|
||||
{
|
||||
get { return this.oneColour; }
|
||||
set { this.oneColour = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
if (!DisplayGauge)
|
||||
return;
|
||||
|
||||
string leftSideSrc = Page.ResolveUrl(PortalUtils.GetThemedImage("gauge_left.gif"));
|
||||
string rightSideSrc = Page.ResolveUrl(PortalUtils.GetThemedImage("gauge_right.gif"));
|
||||
string bkgSrc = Page.ResolveUrl(PortalUtils.GetThemedImage("gauge_bkg.gif"));
|
||||
|
||||
// calculate the width of the gauge
|
||||
int fTotal = Total;
|
||||
int percent = (fTotal > 0) ? Convert.ToInt32(Math.Round((double)Progress / (double)fTotal * 100)) : 0;
|
||||
|
||||
double fFilledWidth = (fTotal > 0) ? ((double)Progress / (double)fTotal * Width) : 0;
|
||||
int filledWidth = Convert.ToInt32(fFilledWidth);
|
||||
|
||||
if (filledWidth > Width)
|
||||
filledWidth = Width;
|
||||
|
||||
string fillSrc = "gauge_green.gif";
|
||||
if(percent > 60 && percent < 90 && !oneColour)
|
||||
fillSrc = "gauge_yellow.gif";
|
||||
else if (percent >= 90 && !oneColour)
|
||||
fillSrc = "gauge_red.gif";
|
||||
|
||||
fillSrc = Page.ResolveUrl(PortalUtils.GetThemedImage(fillSrc));
|
||||
|
||||
GaugeContent.Text = DrawImage(leftSideSrc, 1);
|
||||
GaugeContent.Text += DrawImage(fillSrc, filledWidth);
|
||||
GaugeContent.Text += DrawImage(bkgSrc, width - filledWidth);
|
||||
GaugeContent.Text += DrawImage(rightSideSrc, 1);
|
||||
}
|
||||
|
||||
private string DrawImage(string src, int width)
|
||||
{
|
||||
return String.Format("<img src=\"{0}\" width=\"{1}\" height=\"11\" align=\"absmiddle\"/>",
|
||||
src, width);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
public partial class Gauge {
|
||||
protected System.Web.UI.WebControls.Literal GaugeContent;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,119 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MessageBox.ascx.cs" EnableViewState="false" Inherits="WebsitePanel.Portal.MessageBox" %>
|
||||
<%@ Register Src="CollapsiblePanel.ascx" TagName="CollapsiblePanel" TagPrefix="wsp" %>
|
||||
<div style="height:3px;"></div>
|
||||
<div id="tblMessageBox" runat="server" class="MessageBox">
|
||||
<asp:Literal ID="litMessage" runat="server"></asp:Literal>
|
||||
<asp:Literal ID="litDescription" runat="server"></asp:Literal>
|
||||
|
||||
<div id="rowTechnicalDetails" runat="server" class="TechnicalDetails">
|
||||
|
||||
<wsp:CollapsiblePanel id="secTechnicalDetails" runat="server" IsCollapsed="true"
|
||||
TargetControlID="TechnicalDetailsPanel" resourcekey="secTechnicalDetails" Text="Technical Details">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="TechnicalDetailsPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table id="tblTechnicalDetails" runat="server" style="background-color: #FFFFFF;" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing="0" cellpadding="3">
|
||||
<tr>
|
||||
<td class="NormalBold" width="150" nowrap>
|
||||
<asp:Label ID="lblPageUrl" runat="server" meta:resourcekey="lblPageUrl" Text="Page URL:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litPageUrl" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold">
|
||||
<asp:Label ID="lblLoggedUser" runat="server" meta:resourcekey="lblLoggedUser" Text="Logged User:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litLoggedUser" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold">
|
||||
<asp:Label ID="lblWorkOnBehalf" runat="server" meta:resourcekey="lblWorkOnBehalf" Text="Work On Behalf:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSelectedUser" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold">
|
||||
<asp:Label ID="lblSpace" runat="server" meta:resourcekey="lblSpace" Text="Active Space:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litPackageName" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold" valign="top">
|
||||
<asp:Label ID="lblStackTrace" runat="server" meta:resourcekey="lblStackTrace" Text="Stack Trace:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" valign="top">
|
||||
<asp:Literal ID="litStackTrace" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:Panel>
|
||||
|
||||
<wsp:CollapsiblePanel id="secSendReport" runat="server" IsCollapsed="true"
|
||||
TargetControlID="SendReportPanel" resourcekey="secSendReport" Text="Send Report to Host">
|
||||
</wsp:CollapsiblePanel>
|
||||
<asp:Panel ID="SendReportPanel" runat="server" Height="0" style="overflow:hidden;">
|
||||
<table cellspacing="0" cellpadding="3">
|
||||
<tr>
|
||||
<td class="NormalBold" width="150" nowrap>
|
||||
<asp:Label ID="lblFrom" runat="server" meta:resourcekey="lblFrom" Text="From:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSendFrom" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold">
|
||||
<asp:Label ID="lblTo" runat="server" meta:resourcekey="lblTo" Text="To:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSendTo" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold">
|
||||
<asp:Label ID="lblCC" runat="server" meta:resourcekey="lblCC" Text="CC:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSendCC" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold">
|
||||
<asp:Label ID="lblSubject" runat="server" meta:resourcekey="lblSubject" Text="Subject:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal">
|
||||
<asp:Literal ID="litSendSubject" runat="server"></asp:Literal>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="NormalBold" valign="top">
|
||||
<asp:Label ID="lblComments" runat="server" meta:resourcekey="lblComments" Text="Personal Comments:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal" valign="top">
|
||||
<asp:TextBox ID="txtSendComments" runat="server" CssClass="LogArea" Rows="5" TextMode="MultiLine"
|
||||
Width="400px"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<asp:Button ID="btnSend" runat="server" meta:resourcekey="btnSend" Text="Send Report" CssClass="Button2" CausesValidation="false" OnClick="btnSend_Click" />
|
||||
<asp:Label ID="lblSentMessage" runat="server" meta:resourcekey="lblSentMessage"
|
||||
Text="Message has been sent" CssClass="NormalBold" Visible="false"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:Panel>
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,139 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Text;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
using System.Web.Services.Protocols;
|
||||
using Microsoft.Security.Application;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class MessageBox : WebsitePanelControlBase, IMessageBoxControl, INamingContainer
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//this.Visible = false;
|
||||
if (ViewState["ShowNextTime"] != null)
|
||||
{
|
||||
this.Visible = true;
|
||||
ViewState["ShowNextTime"] = null;
|
||||
}
|
||||
}
|
||||
|
||||
public void RenderMessage(MessageBoxType messageType, string message, string description,
|
||||
Exception ex, params string[] additionalParameters)
|
||||
{
|
||||
this.Visible = true; // show message
|
||||
|
||||
// set icon and styles
|
||||
string boxStyle = "MessageBox Green";
|
||||
if (messageType == MessageBoxType.Warning)
|
||||
boxStyle = "MessageBox Yellow";
|
||||
else if (messageType == MessageBoxType.Error)
|
||||
boxStyle = "MessageBox Red";
|
||||
|
||||
tblMessageBox.Attributes["class"] = boxStyle;
|
||||
|
||||
// set texts
|
||||
litMessage.Text = message;
|
||||
litDescription.Text = !String.IsNullOrEmpty(description)
|
||||
? String.Format("<br/><span class=\"description\">{0}</span>", description) : "";
|
||||
|
||||
// show exception
|
||||
if (ex != null)
|
||||
{
|
||||
// show error
|
||||
try
|
||||
{
|
||||
// technical details
|
||||
litPageUrl.Text = AntiXss.HtmlEncode(Request.Url.ToString());
|
||||
litLoggedUser.Text = PanelSecurity.LoggedUser.Username;
|
||||
litSelectedUser.Text = PanelSecurity.SelectedUser.Username;
|
||||
litPackageName.Text = PanelSecurity.PackageId.ToString();
|
||||
litStackTrace.Text = ex.ToString().Replace("\n", "<br/>");
|
||||
|
||||
// send form
|
||||
litSendFrom.Text = PanelSecurity.LoggedUser.Email;
|
||||
|
||||
if (!String.IsNullOrEmpty(PortalUtils.FromEmail))
|
||||
litSendFrom.Text = PortalUtils.FromEmail;
|
||||
|
||||
//litSendTo.Text = this.PortalSettings.Email;
|
||||
litSendTo.Text = PortalUtils.AdminEmail;
|
||||
litSendCC.Text = PanelSecurity.LoggedUser.Email;
|
||||
litSendSubject.Text = GetLocalizedString("Text.Subject");
|
||||
}
|
||||
catch { /* skip */ }
|
||||
}
|
||||
else
|
||||
{
|
||||
rowTechnicalDetails.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSend_Click(object sender, EventArgs e)
|
||||
{
|
||||
EnableViewState = true;
|
||||
ViewState["ShowNextTime"] = true;
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("Page URL: ").Append(litPageUrl.Text).Append("\n\n");
|
||||
sb.Append("Logged User: ").Append(litLoggedUser.Text).Append("\n\n");
|
||||
sb.Append("Selected User: ").Append(litSelectedUser.Text).Append("\n\n");
|
||||
sb.Append("Package ID: ").Append(litPackageName.Text).Append("\n\n");
|
||||
sb.Append("Stack Trace: ").Append(litStackTrace.Text.Replace("<br/>", "\n")).Append("\n\n");
|
||||
sb.Append("Personal Comments: ").Append(txtSendComments.Text).Append("\n\n");
|
||||
|
||||
try
|
||||
{
|
||||
btnSend.Visible = false;
|
||||
lblSentMessage.Visible = true;
|
||||
|
||||
// send mail
|
||||
PortalUtils.SendMail(litSendFrom.Text, litSendTo.Text, litSendFrom.Text,
|
||||
litSendSubject.Text, sb.ToString());
|
||||
|
||||
lblSentMessage.Text = GetLocalizedString("Text.MessageSent");
|
||||
}
|
||||
catch
|
||||
{
|
||||
lblSentMessage.Text = GetLocalizedString("Text.MessageSentError");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,295 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3074
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class MessageBox {
|
||||
|
||||
/// <summary>
|
||||
/// tblMessageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl tblMessageBox;
|
||||
|
||||
/// <summary>
|
||||
/// litMessage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litMessage;
|
||||
|
||||
/// <summary>
|
||||
/// litDescription control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litDescription;
|
||||
|
||||
/// <summary>
|
||||
/// rowTechnicalDetails control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl rowTechnicalDetails;
|
||||
|
||||
/// <summary>
|
||||
/// secTechnicalDetails control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secTechnicalDetails;
|
||||
|
||||
/// <summary>
|
||||
/// TechnicalDetailsPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel TechnicalDetailsPanel;
|
||||
|
||||
/// <summary>
|
||||
/// tblTechnicalDetails control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlTable tblTechnicalDetails;
|
||||
|
||||
/// <summary>
|
||||
/// lblPageUrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblPageUrl;
|
||||
|
||||
/// <summary>
|
||||
/// litPageUrl control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litPageUrl;
|
||||
|
||||
/// <summary>
|
||||
/// lblLoggedUser control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblLoggedUser;
|
||||
|
||||
/// <summary>
|
||||
/// litLoggedUser control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litLoggedUser;
|
||||
|
||||
/// <summary>
|
||||
/// lblWorkOnBehalf control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblWorkOnBehalf;
|
||||
|
||||
/// <summary>
|
||||
/// litSelectedUser control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSelectedUser;
|
||||
|
||||
/// <summary>
|
||||
/// lblSpace control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSpace;
|
||||
|
||||
/// <summary>
|
||||
/// litPackageName control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litPackageName;
|
||||
|
||||
/// <summary>
|
||||
/// lblStackTrace control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblStackTrace;
|
||||
|
||||
/// <summary>
|
||||
/// litStackTrace control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litStackTrace;
|
||||
|
||||
/// <summary>
|
||||
/// secSendReport control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.CollapsiblePanel secSendReport;
|
||||
|
||||
/// <summary>
|
||||
/// SendReportPanel control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Panel SendReportPanel;
|
||||
|
||||
/// <summary>
|
||||
/// lblFrom control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblFrom;
|
||||
|
||||
/// <summary>
|
||||
/// litSendFrom control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSendFrom;
|
||||
|
||||
/// <summary>
|
||||
/// lblTo control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTo;
|
||||
|
||||
/// <summary>
|
||||
/// litSendTo control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSendTo;
|
||||
|
||||
/// <summary>
|
||||
/// lblCC control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblCC;
|
||||
|
||||
/// <summary>
|
||||
/// litSendCC control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSendCC;
|
||||
|
||||
/// <summary>
|
||||
/// lblSubject control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSubject;
|
||||
|
||||
/// <summary>
|
||||
/// litSendSubject control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Literal litSendSubject;
|
||||
|
||||
/// <summary>
|
||||
/// lblComments control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblComments;
|
||||
|
||||
/// <summary>
|
||||
/// txtSendComments control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtSendComments;
|
||||
|
||||
/// <summary>
|
||||
/// btnSend control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnSend;
|
||||
|
||||
/// <summary>
|
||||
/// lblSentMessage control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblSentMessage;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PackageIPAddresses.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.PackageIPAddresses" %>
|
||||
<%@ Register Src="SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
|
||||
<%@ Register Src="SearchBox.ascx" TagName="SearchBox" TagPrefix="wsp" %>
|
||||
|
||||
|
||||
<script language="javascript">
|
||||
function SelectAllCheckboxes(box) {
|
||||
var state = box.checked;
|
||||
var elm = box.parentElement.parentElement.parentElement.parentElement.getElementsByTagName("INPUT");
|
||||
for (i = 0; i < elm.length; i++)
|
||||
if (elm[i].type == "checkbox" && elm[i].id != box.id && elm[i].checked != state && !elm[i].disabled)
|
||||
elm[i].checked = state;
|
||||
}
|
||||
</script>
|
||||
|
||||
<wsp:SimpleMessageBox id="messageBox" runat="server" />
|
||||
|
||||
<div class="FormButtonsBarClean">
|
||||
<div class="FormButtonsBarCleanLeft">
|
||||
<asp:Button ID="btnAllocateAddress" runat="server" meta:resourcekey="btnAllocateAddress"
|
||||
Text="Allocate IP Addresses" CssClass="Button1" CausesValidation="False"
|
||||
onclick="btnAllocateAddress_Click" />
|
||||
</div>
|
||||
<div class="FormButtonsBarCleanRight">
|
||||
<wsp:SearchBox ID="searchBox" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<asp:GridView ID="gvAddresses" runat="server" AutoGenerateColumns="False"
|
||||
Width="100%" EmptyDataText="gvAddresses" CssSelectorClass="NormalGridView"
|
||||
AllowPaging="True" AllowSorting="True" DataSourceID="odsExternalAddressesPaged"
|
||||
onrowdatabound="gvAddresses_RowDataBound" DataKeyNames="PackageAddressID" >
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<HeaderTemplate>
|
||||
<asp:CheckBox ID="chkSelectAll" runat="server" onclick="javascript:SelectAllCheckboxes(this);" />
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox ID="chkSelect" runat="server" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:BoundField HeaderText="gvAddressesIPAddress" meta:resourcekey="gvAddressesIPAddress"
|
||||
DataField="ExternalIP" SortExpression="ExternalIP" />
|
||||
|
||||
<asp:BoundField HeaderText="gvAddressesNATAddress" meta:resourcekey="gvAddressesNATAddress"
|
||||
DataField="InternalIP" SortExpression="InternalIP" />
|
||||
|
||||
<asp:BoundField HeaderText="gvAddressesDefaultGateway" meta:resourcekey="gvAddressesDefaultGateway"
|
||||
DataField="DefaultGateway" SortExpression="DefaultGateway" />
|
||||
|
||||
<asp:TemplateField HeaderText="gvAddressesItemName" meta:resourcekey="gvAddressesItemName" SortExpression="ItemName">
|
||||
<ItemTemplate>
|
||||
<asp:hyperlink id="lnkEdit" runat="server" NavigateUrl='<%# GetItemEditUrl(Eval("ItemID").ToString()) %>'>
|
||||
<%# Eval("ItemName") %>
|
||||
</asp:hyperlink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="gvAddressesPrimary" meta:resourcekey="gvAddressesPrimary" SortExpression="IsPrimary">
|
||||
<ItemTemplate>
|
||||
<asp:Image ID="imgPrimary" runat="server" SkinID="Checkbox16" Visible='<%# Eval("IsPrimary") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="gvAddressesSpace" meta:resourcekey="gvAddressesSpace" SortExpression="PackageName" >
|
||||
<ItemTemplate>
|
||||
<asp:hyperlink id="lnkSpace" runat="server" NavigateUrl='<%# GetSpaceHomeUrl(Eval("PackageID").ToString()) %>'>
|
||||
<%# Eval("PackageName") %>
|
||||
</asp:hyperlink>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="gvAddressesUser" meta:resourcekey="gvAddressesUser" SortExpression="Username" >
|
||||
<ItemTemplate>
|
||||
<%# Eval("UserName") %>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<asp:ObjectDataSource ID="odsExternalAddressesPaged" runat="server" EnablePaging="True"
|
||||
SelectCountMethod="GetPackageIPAddressesCount"
|
||||
SelectMethod="GetPackageIPAddresses"
|
||||
SortParameterName="sortColumn"
|
||||
TypeName="WebsitePanel.Portal.VirtualMachinesHelper"
|
||||
OnSelected="odsExternalAddressesPaged_Selected"
|
||||
onselecting="odsExternalAddressesPaged_Selecting">
|
||||
<SelectParameters>
|
||||
<asp:QueryStringParameter Name="packageId" QueryStringField="SpaceID" DefaultValue="0" />
|
||||
<asp:Parameter Name="pool" DefaultValue="0" />
|
||||
<asp:ControlParameter Name="filterColumn" ControlID="searchBox" PropertyName="FilterColumn" />
|
||||
<asp:ControlParameter Name="filterValue" ControlID="searchBox" PropertyName="FilterValue" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
|
||||
<div style="margin-top:4px;">
|
||||
<asp:Button ID="btnDeallocateAddresses" runat="server" meta:resourcekey="btnDeallocateAddresses"
|
||||
Text="Deallocate selected" CssClass="SmallButton" CausesValidation="False"
|
||||
onclick="btnDeallocateAddresses_Click" />
|
||||
</div>
|
|
@ -0,0 +1,181 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using WebsitePanel.Providers.Common;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class PackageIPAddresses : WebsitePanelControlBase
|
||||
{
|
||||
private bool spaceOwner;
|
||||
|
||||
private IPAddressPool pool;
|
||||
public IPAddressPool Pool
|
||||
{
|
||||
get { return pool; }
|
||||
set { pool = value; }
|
||||
}
|
||||
|
||||
private string editItemControl;
|
||||
public string EditItemControl
|
||||
{
|
||||
get { return editItemControl; }
|
||||
set { editItemControl = value; }
|
||||
}
|
||||
|
||||
private string spaceHomeControl;
|
||||
public string SpaceHomeControl
|
||||
{
|
||||
get { return spaceHomeControl; }
|
||||
set { spaceHomeControl = value; }
|
||||
}
|
||||
|
||||
private string allocateAddressesControl;
|
||||
public string AllocateAddressesControl
|
||||
{
|
||||
get { return allocateAddressesControl; }
|
||||
set { allocateAddressesControl = value; }
|
||||
}
|
||||
|
||||
public bool ManageAllowed
|
||||
{
|
||||
get { return ViewState["ManageAllowed"] != null ? (bool)ViewState["ManageAllowed"] : false; }
|
||||
set { ViewState["ManageAllowed"] = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
bool vps = (Pool == IPAddressPool.VpsExternalNetwork || Pool == IPAddressPool.VpsManagementNetwork);
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
searchBox.AddCriteria("ExternalIP", GetLocalizedString("SearchField.IPAddress"));
|
||||
searchBox.AddCriteria("InternalIP", GetLocalizedString("SearchField.InternalIP"));
|
||||
if (vps)
|
||||
searchBox.AddCriteria("DefaultGateway", GetLocalizedString("SearchField.DefaultGateway"));
|
||||
searchBox.AddCriteria("ItemName", GetLocalizedString("SearchField.ItemName"));
|
||||
searchBox.AddCriteria("Username", GetLocalizedString("SearchField.Username"));
|
||||
}
|
||||
|
||||
bool isUserSelected = PanelSecurity.SelectedUser.Role == WebsitePanel.EnterpriseServer.UserRole.User;
|
||||
bool isUserLogged = PanelSecurity.EffectiveUser.Role == WebsitePanel.EnterpriseServer.UserRole.User;
|
||||
spaceOwner = PanelSecurity.EffectiveUserId == PanelSecurity.SelectedUserId;
|
||||
|
||||
gvAddresses.Columns[6].Visible = !isUserSelected; // space
|
||||
gvAddresses.Columns[7].Visible = !isUserSelected; // user
|
||||
|
||||
// managing external network permissions
|
||||
gvAddresses.Columns[0].Visible = !isUserLogged && ManageAllowed;
|
||||
btnAllocateAddress.Visible = !isUserLogged && !spaceOwner && ManageAllowed && !String.IsNullOrEmpty(AllocateAddressesControl);
|
||||
btnDeallocateAddresses.Visible = !isUserLogged && ManageAllowed;
|
||||
|
||||
//gvAddresses.Columns[2].Visible = !vps; // NAT address
|
||||
gvAddresses.Columns[3].Visible = vps; // gateway
|
||||
gvAddresses.Columns[5].Visible = vps; // is primary
|
||||
}
|
||||
|
||||
public string GetItemEditUrl(string itemID)
|
||||
{
|
||||
return HostModule.EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), EditItemControl,
|
||||
"ItemID=" + itemID);
|
||||
}
|
||||
|
||||
public string GetSpaceHomeUrl(string spaceId)
|
||||
{
|
||||
return HostModule.EditUrl("SpaceID", spaceId, SpaceHomeControl);
|
||||
}
|
||||
|
||||
protected void odsExternalAddressesPaged_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.Exception != null)
|
||||
{
|
||||
messageBox.ShowErrorMessage("EXCHANGE_GET_MAILBOXES", e.Exception);
|
||||
e.ExceptionHandled = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnAllocateAddress_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.Redirect(HostModule.EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), AllocateAddressesControl));
|
||||
}
|
||||
|
||||
protected void gvAddresses_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
PackageIPAddress item = e.Row.DataItem as PackageIPAddress;
|
||||
if (item != null)
|
||||
{
|
||||
// checkbox
|
||||
CheckBox chkSelect = e.Row.FindControl("chkSelect") as CheckBox;
|
||||
chkSelect.Enabled = (!spaceOwner || (PanelSecurity.PackageId != item.PackageId)) && item.ItemId == 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnDeallocateAddresses_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<int> ids = new List<int>();
|
||||
|
||||
try
|
||||
{
|
||||
List<int> items = new List<int>();
|
||||
for (int i = 0; i < gvAddresses.Rows.Count; i++)
|
||||
{
|
||||
GridViewRow row = gvAddresses.Rows[i];
|
||||
CheckBox chkSelect = (CheckBox)row.FindControl("chkSelect");
|
||||
if (chkSelect.Checked)
|
||||
items.Add((int)gvAddresses.DataKeys[i].Value);
|
||||
}
|
||||
|
||||
// check if at least one is selected
|
||||
if (items.Count == 0)
|
||||
{
|
||||
messageBox.ShowWarningMessage("IP_EDIT_LIST_EMPTY_ERROR");
|
||||
return;
|
||||
}
|
||||
|
||||
ResultObject res = ES.Services.Servers.DeallocatePackageIPAddresses(PanelSecurity.PackageId, items.ToArray());
|
||||
messageBox.ShowMessage(res, "DEALLOCATE_SPACE_IP_ADDRESSES", "VPS");
|
||||
gvAddresses.DataBind();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
messageBox.ShowErrorMessage("DEALLOCATE_SPACE_IP_ADDRESSES", ex);
|
||||
}
|
||||
}
|
||||
|
||||
protected void odsExternalAddressesPaged_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
|
||||
{
|
||||
e.InputParameters["pool"] = Pool;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1434
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
|
||||
public partial class PackageIPAddresses {
|
||||
|
||||
/// <summary>
|
||||
/// messageBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
|
||||
|
||||
/// <summary>
|
||||
/// btnAllocateAddress control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnAllocateAddress;
|
||||
|
||||
/// <summary>
|
||||
/// searchBox control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::WebsitePanel.Portal.SearchBox searchBox;
|
||||
|
||||
/// <summary>
|
||||
/// gvAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.GridView gvAddresses;
|
||||
|
||||
/// <summary>
|
||||
/// odsExternalAddressesPaged control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsExternalAddressesPaged;
|
||||
|
||||
/// <summary>
|
||||
/// btnDeallocateAddresses control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Button btnDeallocateAddresses;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ParameterEditor.ascx.cs" Inherits="WebsitePanel.Portal.ParameterEditor" %>
|
||||
<asp:TextBox ID="txtValue" runat="server" Width="100%" Visible="false"></asp:TextBox>
|
||||
<asp:TextBox ID="txtMultiValue" runat="server" Width="100%" TextMode="MultiLine" Rows="5" Visible="false"></asp:TextBox>
|
||||
<asp:DropDownList ID="ddlValue" runat="server" Visible="false"></asp:DropDownList>
|
|
@ -0,0 +1,130 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class ParameterEditor : System.Web.UI.UserControl
|
||||
{
|
||||
public string DataType
|
||||
{
|
||||
get { return (string)ViewState["DataType"]; }
|
||||
set { ViewState["DataType"] = value; }
|
||||
}
|
||||
|
||||
public string Value
|
||||
{
|
||||
get { return GetValue(); }
|
||||
set
|
||||
{
|
||||
ViewState["Value"] = value;
|
||||
SetValue();
|
||||
}
|
||||
}
|
||||
|
||||
public string DefaultValue
|
||||
{
|
||||
get { return (string)ViewState["DefaultValue"]; }
|
||||
set { ViewState["DefaultValue"] = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
SetValue();
|
||||
}
|
||||
|
||||
private void SetValue()
|
||||
{
|
||||
string val = (string)ViewState["Value"];
|
||||
if (String.Compare(DataType, "string", true) == 0)
|
||||
{
|
||||
txtValue.Text = (val != null) ? val : DefaultValue;
|
||||
txtValue.Visible = true;
|
||||
}
|
||||
else if (String.Compare(DataType, "multistring", true) == 0)
|
||||
{
|
||||
txtMultiValue.Text = (val != null) ? val : DefaultValue;
|
||||
txtMultiValue.Visible = true;
|
||||
}
|
||||
else if (String.Compare(DataType, "list", true) == 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
ddlValue.Items.Clear();
|
||||
string[] vals = DefaultValue.Split(';');
|
||||
foreach (string v in vals)
|
||||
{
|
||||
string itemValue = v;
|
||||
string itemText = v;
|
||||
|
||||
int eqIdx = v.IndexOf("=");
|
||||
if (eqIdx != -1)
|
||||
{
|
||||
itemValue = v.Substring(0, eqIdx);
|
||||
itemText = v.Substring(eqIdx + 1);
|
||||
}
|
||||
|
||||
ddlValue.Items.Add(new ListItem(itemText, itemValue));
|
||||
}
|
||||
}
|
||||
catch { /* skip */ }
|
||||
|
||||
Utils.SelectListItem(ddlValue, val);
|
||||
ddlValue.Visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private string GetValue()
|
||||
{
|
||||
if (String.Compare(DataType, "string", true) == 0)
|
||||
{
|
||||
return txtValue.Text.Trim();
|
||||
}
|
||||
else if (String.Compare(DataType, "multistring", true) == 0)
|
||||
{
|
||||
return txtMultiValue.Text.Trim();
|
||||
}
|
||||
else
|
||||
{
|
||||
return ddlValue.SelectedValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
public partial class ParameterEditor {
|
||||
protected System.Web.UI.WebControls.TextBox txtValue;
|
||||
protected System.Web.UI.WebControls.TextBox txtMultiValue;
|
||||
protected System.Web.UI.WebControls.DropDownList ddlValue;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PasswordControl.ascx.cs" Inherits="WebsitePanel.Portal.PasswordControl" %>
|
||||
<script src="<%= GetRandomPasswordUrl() %>" language="javascript" type="text/javascript"></script>
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtPassword" runat="server" CssClass="NormalTextBox" Width="150px" TextMode="Password" MaxLength="50"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequirePassword" runat="server" meta:resourcekey="valRequirePassword"
|
||||
ErrorMessage="*" ControlToValidate="txtPassword" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
<asp:HyperLink ID="lnkGenerate" runat="server" NavigateUrl="#" meta:resourcekey="lnkGenerate" Visible="false">Generate random</asp:HyperLink></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="SubHead"><asp:Label id="lblConfirmPassword" runat="server" meta:resourcekey="lblConfirmPassword"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtConfirmPassword" runat="server" CssClass="NormalTextBox" Width="150px" TextMode="Password" MaxLength="50"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireConfirmPassword" runat="server"
|
||||
meta:resourcekey="valRequireConfirmPassword" ErrorMessage="*" ControlToValidate="txtConfirmPassword" SetFocusOnError="True"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="valRequireEqualPassword" runat="server" ControlToCompare="txtPassword"
|
||||
ControlToValidate="txtConfirmPassword" meta:resourcekey="valRequireEqualPassword" Display="Dynamic" ErrorMessage="*"></asp:CompareValidator>
|
||||
|
||||
<asp:CustomValidator ID="valCorrectLength" runat="server"
|
||||
ControlToValidate="txtPassword" ErrorMessage="len" Display="Dynamic" Enabled="false"
|
||||
ClientValidationFunction="wspValidatePasswordLength" OnServerValidate="valCorrectLength_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="valRequireNumbers" runat="server"
|
||||
ControlToValidate="txtPassword" ErrorMessage="num" Display="Dynamic" Enabled="false"
|
||||
ClientValidationFunction="wspValidatePasswordNumbers" OnServerValidate="valRequireNumbers_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="valRequireUppercase" runat="server"
|
||||
ControlToValidate="txtPassword" ErrorMessage="upp" Display="Dynamic" Enabled="false"
|
||||
ClientValidationFunction="wspValidatePasswordUppercase" OnServerValidate="valRequireUppercase_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="valRequireSymbols" runat="server"
|
||||
ControlToValidate="txtPassword" ErrorMessage="sym" Display="Dynamic" Enabled="false"
|
||||
ClientValidationFunction="wspValidatePasswordSymbols" OnServerValidate="valRequireSymbols_ServerValidate"></asp:CustomValidator>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -0,0 +1,369 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
using Microsoft.Security.Application;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class PasswordControl : WebsitePanelControlBase
|
||||
{
|
||||
public const string EMPTY_PASSWORD = "D)n!_Pr$";
|
||||
public const int MIN_PASSWORD_LENGTH = 1;
|
||||
|
||||
public bool ValidationEnabled
|
||||
{
|
||||
get { return (ViewState["ValidationEnabled"] != null) ? (bool)ViewState["ValidationEnabled"] : true; }
|
||||
set { ViewState["ValidationEnabled"] = value; ToggleControls(); }
|
||||
}
|
||||
|
||||
public bool AllowGeneratePassword
|
||||
{
|
||||
get { return lnkGenerate.Visible; }
|
||||
set { lnkGenerate.Visible = value; }
|
||||
}
|
||||
|
||||
public string GetRandomPasswordUrl()
|
||||
{
|
||||
return Page.ClientScript.GetWebResourceUrl(
|
||||
typeof(PasswordControl), "WebsitePanel.Portal.Scripts.RandomPassword.js");
|
||||
}
|
||||
|
||||
public string ValidationGroup
|
||||
{
|
||||
get
|
||||
{
|
||||
return valRequirePassword.ValidationGroup;
|
||||
}
|
||||
set
|
||||
{
|
||||
valRequirePassword.ValidationGroup = value;
|
||||
valRequireConfirmPassword.ValidationGroup = value;
|
||||
valRequireEqualPassword.ValidationGroup = value;
|
||||
valCorrectLength.ValidationGroup = value;
|
||||
valRequireNumbers.ValidationGroup = value;
|
||||
valRequireUppercase.ValidationGroup = value;
|
||||
valRequireSymbols.ValidationGroup = value;
|
||||
}
|
||||
}
|
||||
|
||||
public bool EditMode
|
||||
{
|
||||
get { return (ViewState["EditMode"] != null) ? (bool)ViewState["EditMode"] : false; }
|
||||
set { ViewState["EditMode"] = value; ToggleControls(); }
|
||||
}
|
||||
|
||||
public string Password
|
||||
{
|
||||
get { return (txtPassword.Text == EMPTY_PASSWORD) ? "" : txtPassword.Text; }
|
||||
set { txtPassword.Text = value; }
|
||||
}
|
||||
|
||||
public bool CheckPasswordLength
|
||||
{
|
||||
get { return (ViewState["CheckPasswordLength"] != null) ? (bool)ViewState["CheckPasswordLength"] : true; }
|
||||
set { ViewState["CheckPasswordLength"] = value; ToggleControls(); }
|
||||
}
|
||||
|
||||
public int MinimumLength
|
||||
{
|
||||
get { return (ViewState["MinimumLength"] != null) ? (int)ViewState["MinimumLength"] : 0; }
|
||||
set { ViewState["MinimumLength"] = value; }
|
||||
}
|
||||
|
||||
public int MaximumLength
|
||||
{
|
||||
get { return (ViewState["MaximumLength"] != null) ? (int)ViewState["MaximumLength"] : 0; }
|
||||
set { ViewState["MaximumLength"] = value; }
|
||||
}
|
||||
|
||||
public int MinimumNumbers
|
||||
{
|
||||
get { return (ViewState["MinimumNumbers"] != null) ? (int)ViewState["MinimumNumbers"] : 0; }
|
||||
set { ViewState["MinimumNumbers"] = value; }
|
||||
}
|
||||
|
||||
public int MinimumUppercase
|
||||
{
|
||||
get { return (ViewState["MinimumUppercase"] != null) ? (int)ViewState["MinimumUppercase"] : 0; }
|
||||
set { ViewState["MinimumUppercase"] = value; }
|
||||
}
|
||||
|
||||
public int MinimumSymbols
|
||||
{
|
||||
get { return (ViewState["MinimumSymbols"] != null) ? (int)ViewState["MinimumSymbols"] : 0; }
|
||||
set { ViewState["MinimumSymbols"] = value; }
|
||||
}
|
||||
|
||||
private UserInfo PolicyUser
|
||||
{
|
||||
get { return (ViewState["PolicyUser"] != null) ? (UserInfo)ViewState["PolicyUser"] : null; }
|
||||
set { ViewState["PolicyUser"] = value; }
|
||||
}
|
||||
|
||||
private string PolicyValue
|
||||
{
|
||||
get { return (ViewState["PolicyValue"] != null) ? (string)ViewState["PolicyValue"] : null; }
|
||||
set { ViewState["PolicyValue"] = value; }
|
||||
}
|
||||
|
||||
public void SetPackagePolicy(int packageId, string settingsName, string key)
|
||||
{
|
||||
// load package
|
||||
PackageInfo package = PackagesHelper.GetCachedPackage(packageId);
|
||||
if (package != null)
|
||||
{
|
||||
// init by user
|
||||
SetUserPolicy(package.UserId, settingsName, key);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetUserPolicy(int userId, string settingsName, string key)
|
||||
{
|
||||
// load user profile
|
||||
UserInfo user = UsersHelper.GetCachedUser(userId);
|
||||
|
||||
if (user != null)
|
||||
{
|
||||
PolicyUser = user;
|
||||
|
||||
// load settings
|
||||
//UserSettings settings = UsersHelper.GetCachedUserSettings(userId, settingsName);
|
||||
//EP 2009/09/15: Removed caching for user policy as it was confusing users
|
||||
UserSettings settings = ES.Services.Users.GetUserSettings(userId, settingsName);
|
||||
|
||||
if (settings != null)
|
||||
{
|
||||
string policyValue = settings[key];
|
||||
if (policyValue != null)
|
||||
PolicyValue = policyValue;
|
||||
}
|
||||
}
|
||||
|
||||
// toggle controls
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
txtPassword.Attributes["value"] = txtPassword.Text;
|
||||
txtConfirmPassword.Attributes["value"] = txtConfirmPassword.Text;
|
||||
|
||||
ToggleControls();
|
||||
}
|
||||
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
RenderValidationJavaScript();
|
||||
}
|
||||
|
||||
private void RenderValidationJavaScript()
|
||||
{
|
||||
if (!Page.ClientScript.IsClientScriptIncludeRegistered("wspValidationFunctions"))
|
||||
{
|
||||
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "wspValidationFunctions", @"
|
||||
|
||||
|
||||
function wspValidatePasswordNumbers(source, args)
|
||||
{
|
||||
if(args.Value == source.getAttribute('dpsw')) return true;
|
||||
args.IsValid = wspValidatePattern(/(\d)/g, args.Value,
|
||||
parseInt(source.getAttribute('minimumNumber')));
|
||||
}
|
||||
|
||||
function wspValidatePasswordUppercase(source, args)
|
||||
{
|
||||
if(args.Value == source.getAttribute('dpsw')) return true;
|
||||
args.IsValid = wspValidatePattern(/([A-Z])/g, args.Value,
|
||||
parseInt(source.getAttribute('minimumNumber')));
|
||||
}
|
||||
|
||||
function wspValidatePasswordSymbols(source, args)
|
||||
{
|
||||
if(args.Value == source.getAttribute('dpsw')) return true;
|
||||
args.IsValid = wspValidatePattern(/(\W)/g, args.Value,
|
||||
parseInt(source.getAttribute('minimumNumber')));
|
||||
}
|
||||
|
||||
function wspValidatePasswordLength(source, args)
|
||||
{
|
||||
if(args.Value == source.getAttribute('dpsw')) return true;
|
||||
args.IsValid = (args.Value.length >= parseInt(source.getAttribute('minimumLength')));
|
||||
}
|
||||
|
||||
function wspValidatePattern(re, val, minMatches)
|
||||
{
|
||||
var matches = val.match(re);
|
||||
return ((matches != null) && matches.length >= minMatches);
|
||||
}
|
||||
", true);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void ToggleControls()
|
||||
{
|
||||
valCorrectLength.Attributes["dpsw"] = EMPTY_PASSWORD;
|
||||
valRequireNumbers.Attributes["dpsw"] = EMPTY_PASSWORD;
|
||||
valRequireUppercase.Attributes["dpsw"] = EMPTY_PASSWORD;
|
||||
valRequireSymbols.Attributes["dpsw"] = EMPTY_PASSWORD;
|
||||
|
||||
// set empty password
|
||||
if (txtPassword.Text == "" && EditMode)
|
||||
{
|
||||
txtPassword.Attributes["value"] = EMPTY_PASSWORD;
|
||||
txtConfirmPassword.Attributes["value"] = EMPTY_PASSWORD;
|
||||
}
|
||||
|
||||
// enable/disable require validators
|
||||
valRequirePassword.Enabled = ValidationEnabled;
|
||||
valRequireConfirmPassword.Enabled = ValidationEnabled;
|
||||
|
||||
// require default length
|
||||
MinimumLength = Math.Max(MIN_PASSWORD_LENGTH, MinimumLength);
|
||||
|
||||
// parse and enforce policy
|
||||
if (PolicyValue != null)
|
||||
{
|
||||
bool enabled = false;
|
||||
int minLength = -1;
|
||||
int maxLength = -1;
|
||||
bool notEqualToUsername = false;
|
||||
|
||||
try
|
||||
{
|
||||
// parse settings
|
||||
string[] parts = PolicyValue.Split(';');
|
||||
enabled = Utils.ParseBool(parts[0], false);
|
||||
minLength = Math.Max(Utils.ParseInt(parts[1], 0), MinimumLength);
|
||||
maxLength = Math.Max(Utils.ParseInt(parts[2], 0), MaximumLength);
|
||||
MinimumUppercase = Math.Max(Utils.ParseInt(parts[3], 0), MinimumUppercase);
|
||||
MinimumNumbers = Math.Max(Utils.ParseInt(parts[4], 0), MinimumNumbers);
|
||||
MinimumSymbols = Math.Max(Utils.ParseInt(parts[5], 0), MinimumSymbols);
|
||||
notEqualToUsername = Utils.ParseBool(parts[6], false);
|
||||
}
|
||||
catch { /* skip */ }
|
||||
|
||||
// apply policy
|
||||
if (enabled)
|
||||
{
|
||||
// min length
|
||||
if (minLength > 0)
|
||||
{
|
||||
MinimumLength = minLength;
|
||||
valCorrectLength.Enabled = true;
|
||||
valCorrectLength.Attributes["minimumLength"] = MinimumLength.ToString();
|
||||
valCorrectLength.ErrorMessage = String.Format(GetLocalizedString("CorrectLength.Text"), MinimumLength);
|
||||
}
|
||||
|
||||
// max length
|
||||
if (maxLength > 0)
|
||||
{
|
||||
MaximumLength = maxLength;
|
||||
txtPassword.MaxLength = maxLength;
|
||||
txtConfirmPassword.MaxLength = maxLength;
|
||||
}
|
||||
|
||||
// numbers
|
||||
if (MinimumNumbers > 0)
|
||||
{
|
||||
valRequireNumbers.Enabled = true;
|
||||
valRequireNumbers.Attributes["minimumNumber"] = MinimumNumbers.ToString();
|
||||
valRequireNumbers.ErrorMessage = String.Format(
|
||||
GetLocalizedString("RequireNumbers.Text"), MinimumNumbers);
|
||||
}
|
||||
|
||||
// UPPERCASE
|
||||
if (MinimumUppercase > 0)
|
||||
{
|
||||
valRequireUppercase.Enabled = true;
|
||||
valRequireUppercase.Attributes["minimumNumber"] = MinimumUppercase.ToString();
|
||||
valRequireUppercase.ErrorMessage = String.Format(
|
||||
GetLocalizedString("RequireUppercase.Text"), MinimumUppercase);
|
||||
}
|
||||
|
||||
// symbols
|
||||
if (MinimumSymbols > 0)
|
||||
{
|
||||
valRequireSymbols.Enabled = true;
|
||||
valRequireSymbols.Attributes["minimumNumber"] = MinimumSymbols.ToString();
|
||||
valRequireSymbols.ErrorMessage = String.Format(
|
||||
GetLocalizedString("RequireSymbols.Text"), MinimumSymbols);
|
||||
}
|
||||
|
||||
} // if(enabled)
|
||||
} // if (PolicyValue != null)
|
||||
|
||||
// set min password generator
|
||||
lnkGenerate.NavigateUrl = String.Format("javascript:GeneratePassword('{0}', '{1}', '{2}', '{3}', '{4}', '{5}');",
|
||||
MaximumLength, MinimumUppercase, MinimumNumbers, MinimumSymbols, txtPassword.ClientID, txtConfirmPassword.ClientID);
|
||||
|
||||
}
|
||||
|
||||
protected void valCorrectLength_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
args.IsValid = ((args.Value == EMPTY_PASSWORD) || (args.Value.Length >= MinimumLength));
|
||||
}
|
||||
|
||||
protected void valRequireNumbers_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
args.IsValid = ((args.Value == EMPTY_PASSWORD) || ValidatePattern("(\\d)", args.Value, MinimumNumbers));
|
||||
}
|
||||
|
||||
protected void valRequireUppercase_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
args.IsValid = ((args.Value == EMPTY_PASSWORD) || ValidatePattern("([A-Z])", args.Value, MinimumUppercase));
|
||||
}
|
||||
|
||||
protected void valRequireSymbols_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
args.IsValid = ((args.Value == EMPTY_PASSWORD) || ValidatePattern("(\\W)", args.Value, MinimumSymbols));
|
||||
}
|
||||
|
||||
private bool ValidatePattern(string regexp, string val, int minimumNumber)
|
||||
{
|
||||
return (Regex.Matches(val, regexp).Count >= minimumNumber);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,115 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.1873
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class PasswordControl {
|
||||
|
||||
/// <summary>
|
||||
/// txtPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtPassword;
|
||||
|
||||
/// <summary>
|
||||
/// valRequirePassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequirePassword;
|
||||
|
||||
/// <summary>
|
||||
/// lnkGenerate control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HyperLink lnkGenerate;
|
||||
|
||||
/// <summary>
|
||||
/// lblConfirmPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblConfirmPassword;
|
||||
|
||||
/// <summary>
|
||||
/// txtConfirmPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtConfirmPassword;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireConfirmPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.RequiredFieldValidator valRequireConfirmPassword;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireEqualPassword control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CompareValidator valRequireEqualPassword;
|
||||
|
||||
/// <summary>
|
||||
/// valCorrectLength control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CustomValidator valCorrectLength;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireNumbers control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CustomValidator valRequireNumbers;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireUppercase control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CustomValidator valRequireUppercase;
|
||||
|
||||
/// <summary>
|
||||
/// valRequireSymbols control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CustomValidator valRequireSymbols;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,78 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PasswordPolicyEditor.ascx.cs" Inherits="WebsitePanel.Portal.PasswordPolicyEditor" %>
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="PasswordPolicyPanel" UpdateMode="Conditional" ChildrenAsTriggers="true">
|
||||
<ContentTemplate>
|
||||
|
||||
<asp:CheckBox id="chkEnabled" runat="server" meta:resourcekey="chkEnabled"
|
||||
Text="Enable Policy" CssClass="NormalBold" AutoPostBack="true" OnCheckedChanged="chkEnabled_CheckedChanged" />
|
||||
<table id="PolicyTable" runat="server" cellpadding="2">
|
||||
<tr>
|
||||
<td class="Normal" style="width:150px;"><asp:Label ID="lblMinimumLength" runat="server"
|
||||
meta:resourcekey="lblMinimumLength" Text="Minimum length:"></asp:Label></td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtMinimumLength" runat="server" CssClass="NormalTextBox" Width="40px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireMinLength" runat="server" ControlToValidate="txtMinimumLength" meta:resourcekey="valRequireMinLength"
|
||||
ErrorMessage="*" ValidationGroup="SettingsEditor" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valCorrectMinLength" runat="server" ControlToValidate="txtMinimumLength" meta:resourcekey="valCorrectMinLength"
|
||||
Display="Dynamic" ErrorMessage="*" ValidationExpression="\d{1,3}" ValidationGroup="SettingsEditor"></asp:RegularExpressionValidator></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal"><asp:Label ID="lblMaximumLength" runat="server"
|
||||
meta:resourcekey="lblMaximumLength" Text="Maximum length:"></asp:Label></td>
|
||||
<td class="Normal">
|
||||
<asp:TextBox ID="txtMaximumLength" runat="server" CssClass="NormalTextBox" Width="40px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireMaxLength" runat="server" ControlToValidate="txtMaximumLength" meta:resourcekey="valRequireMaxLength"
|
||||
ErrorMessage="*" ValidationGroup="SettingsEditor" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valCorrectMaxLength" runat="server" ControlToValidate="txtMaximumLength" meta:resourcekey="valCorrectMaxLength"
|
||||
Display="Dynamic" ErrorMessage="*" ValidationExpression="\d{1,3}" ValidationGroup="SettingsEditor"></asp:RegularExpressionValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="NormalBold"><asp:Label ID="lblShouldContain" runat="server"
|
||||
meta:resourcekey="lblShouldContain" Text="Password should contain at least:"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal">
|
||||
<asp:Label ID="lblMinimumUppercase" runat="server"
|
||||
meta:resourcekey="lblMinimumUppercase" Text="Uppercase letters:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal"><asp:TextBox ID="txtMinimumUppercase" runat="server" CssClass="NormalTextBox" Width="40px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireUppercase" runat="server" ControlToValidate="txtMinimumUppercase" meta:resourcekey="valRequireUppercase"
|
||||
ErrorMessage="*" ValidationGroup="SettingsEditor" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valCorrectUppercase" runat="server" ControlToValidate="txtMinimumUppercase" meta:resourcekey="valCorrectUppercase"
|
||||
Display="Dynamic" ErrorMessage="*" ValidationExpression="\d{1,3}" ValidationGroup="SettingsEditor"></asp:RegularExpressionValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal">
|
||||
<asp:Label ID="lblMinimumNumbers" runat="server"
|
||||
meta:resourcekey="lblMinimumNumbers" Text="Numbers:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal"><asp:TextBox ID="txtMinimumNumbers" runat="server" CssClass="NormalTextBox" Width="40px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireNumbers" runat="server" ControlToValidate="txtMinimumNumbers" meta:resourcekey="valRequireNumbers"
|
||||
ErrorMessage="*" ValidationGroup="SettingsEditor" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valCorrectNumbers" runat="server" ControlToValidate="txtMinimumNumbers" meta:resourcekey="valCorrectNumbers"
|
||||
Display="Dynamic" ErrorMessage="*" ValidationExpression="\d{1,3}" ValidationGroup="SettingsEditor"></asp:RegularExpressionValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="Normal">
|
||||
<asp:Label ID="lblMinimumSymbols" runat="server"
|
||||
meta:resourcekey="lblMinimumSymbols" Text="Non-alphanumeric symbols:"></asp:Label>
|
||||
</td>
|
||||
<td class="Normal"><asp:TextBox ID="txtMinimumSymbols" runat="server" CssClass="NormalTextBox" Width="40px"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="valRequireSymbols" runat="server" ControlToValidate="txtMinimumSymbols" meta:resourcekey="valRequireSymbols"
|
||||
ErrorMessage="*" ValidationGroup="SettingsEditor" Display="Dynamic"></asp:RequiredFieldValidator>
|
||||
<asp:RegularExpressionValidator ID="valCorrectSymbols" runat="server" ControlToValidate="txtMinimumSymbols" meta:resourcekey="valCorrectSymbols"
|
||||
Display="Dynamic" ErrorMessage="*" ValidationExpression="\d{1,3}" ValidationGroup="SettingsEditor"></asp:RegularExpressionValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="rowEqualUsername" runat="server" visible="false">
|
||||
<td class="Normal" colspan="2">
|
||||
<asp:CheckBox id="chkNotEqualUsername" runat="server" meta:resourcekey="chkNotEqualUsername" Text="Should not be equal to username" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
|
@ -0,0 +1,105 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class PasswordPolicyEditor : WebsitePanelControlBase
|
||||
{
|
||||
public string Value
|
||||
{
|
||||
get
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append(chkEnabled.Checked.ToString()).Append(";");
|
||||
sb.Append(txtMinimumLength.Text).Append(";");
|
||||
sb.Append(txtMaximumLength.Text).Append(";");
|
||||
sb.Append(txtMinimumUppercase.Text).Append(";");
|
||||
sb.Append(txtMinimumNumbers.Text).Append(";");
|
||||
sb.Append(txtMinimumSymbols.Text).Append(";");
|
||||
sb.Append(chkNotEqualUsername.Checked.ToString());
|
||||
return sb.ToString();
|
||||
}
|
||||
set
|
||||
{
|
||||
if (String.IsNullOrEmpty(value))
|
||||
{
|
||||
// bind default settings
|
||||
chkEnabled.Checked = false;
|
||||
txtMinimumLength.Text = "3";
|
||||
txtMaximumLength.Text = "10";
|
||||
txtMinimumUppercase.Text = "0";
|
||||
txtMinimumNumbers.Text = "0";
|
||||
txtMinimumSymbols.Text = "0";
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
// parse settings
|
||||
string[] parts = value.Split(';');
|
||||
chkEnabled.Checked = Utils.ParseBool(parts[0], false);
|
||||
txtMinimumLength.Text = parts[1];
|
||||
txtMaximumLength.Text = parts[2];
|
||||
txtMinimumUppercase.Text = parts[3];
|
||||
txtMinimumNumbers.Text = parts[4];
|
||||
txtMinimumSymbols.Text = parts[5];
|
||||
chkNotEqualUsername.Checked = Utils.ParseBool(parts[6], false);
|
||||
}
|
||||
catch { /* skip */ }
|
||||
}
|
||||
ToggleControls();
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
private void ToggleControls()
|
||||
{
|
||||
PolicyTable.Visible = chkEnabled.Checked;
|
||||
}
|
||||
|
||||
protected void chkEnabled_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
ToggleControls();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
public partial class PasswordPolicyEditor {
|
||||
protected System.Web.UI.UpdatePanel PasswordPolicyPanel;
|
||||
protected System.Web.UI.WebControls.CheckBox chkEnabled;
|
||||
protected System.Web.UI.HtmlControls.HtmlTable PolicyTable;
|
||||
protected System.Web.UI.WebControls.Label lblMinimumLength;
|
||||
protected System.Web.UI.WebControls.TextBox txtMinimumLength;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireMinLength;
|
||||
protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectMinLength;
|
||||
protected System.Web.UI.WebControls.Label lblMaximumLength;
|
||||
protected System.Web.UI.WebControls.TextBox txtMaximumLength;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireMaxLength;
|
||||
protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectMaxLength;
|
||||
protected System.Web.UI.WebControls.Label lblShouldContain;
|
||||
protected System.Web.UI.WebControls.Label lblMinimumUppercase;
|
||||
protected System.Web.UI.WebControls.TextBox txtMinimumUppercase;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireUppercase;
|
||||
protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectUppercase;
|
||||
protected System.Web.UI.WebControls.Label lblMinimumNumbers;
|
||||
protected System.Web.UI.WebControls.TextBox txtMinimumNumbers;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireNumbers;
|
||||
protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectNumbers;
|
||||
protected System.Web.UI.WebControls.Label lblMinimumSymbols;
|
||||
protected System.Web.UI.WebControls.TextBox txtMinimumSymbols;
|
||||
protected System.Web.UI.WebControls.RequiredFieldValidator valRequireSymbols;
|
||||
protected System.Web.UI.WebControls.RegularExpressionValidator valCorrectSymbols;
|
||||
protected System.Web.UI.HtmlControls.HtmlTableRow rowEqualUsername;
|
||||
protected System.Web.UI.WebControls.CheckBox chkNotEqualUsername;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PopupHeader.ascx.cs" Inherits="WebsitePanel.Portal.UserControls.PopupHeader" %>
|
||||
<table class="Header" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td class="HeaderLeft"></td>
|
||||
<td class="HeaderTitle">
|
||||
<asp:Literal ID="PopupTitle" runat="server"></asp:Literal>
|
||||
</td>
|
||||
<td class="HeaderRight"></td>
|
||||
</tr>
|
||||
</table>
|
|
@ -0,0 +1,55 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls
|
||||
{
|
||||
public partial class PopupHeader : System.Web.UI.UserControl
|
||||
{
|
||||
public string Text
|
||||
{
|
||||
get { return PopupTitle.Text; }
|
||||
set { PopupTitle.Text = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal.UserControls {
|
||||
|
||||
public partial class PopupHeader {
|
||||
protected System.Web.UI.WebControls.Literal PopupTitle;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Quota.ascx.cs" Inherits="WebsitePanel.Portal.Quota" %>
|
||||
<%@ Register Src="QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="uc1" %>
|
||||
<uc1:QuotaViewer id="quotaViewer" runat="server">
|
||||
</uc1:QuotaViewer>
|
|
@ -0,0 +1,96 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using System.Web.UI.WebControls.WebParts;
|
||||
using System.Web.UI.HtmlControls;
|
||||
|
||||
using WebsitePanel.EnterpriseServer;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class Quota : WebsitePanelControlBase
|
||||
{
|
||||
public string QuotaName
|
||||
{
|
||||
get { return (ViewState["QuotaName"] != null) ? (string)ViewState["QuotaName"] : ""; }
|
||||
set { ViewState["QuotaName"] = value; }
|
||||
}
|
||||
|
||||
public bool DisplayGauge
|
||||
{
|
||||
get { return quotaViewer.DisplayGauge; }
|
||||
set { quotaViewer.DisplayGauge = value; }
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
BindQuota();
|
||||
}
|
||||
}
|
||||
|
||||
public void BindQuota()
|
||||
{
|
||||
try
|
||||
{
|
||||
// load package context
|
||||
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
|
||||
|
||||
// get quota
|
||||
if (cntx.Quotas.ContainsKey(QuotaName))
|
||||
{
|
||||
QuotaValueInfo quota = cntx.Quotas[QuotaName];
|
||||
quotaViewer.QuotaTypeId = quota.QuotaTypeId;
|
||||
quotaViewer.QuotaUsedValue = quota.QuotaUsedValue;
|
||||
quotaViewer.QuotaValue = quota.QuotaAllocatedValue;
|
||||
//this.Visible = quota.QuotaAllocatedValue != 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.Visible = false;
|
||||
quotaViewer.QuotaTypeId = 1; // bool
|
||||
quotaViewer.QuotaUsedValue = 0;
|
||||
quotaViewer.QuotaValue = 0;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.42
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
public partial class Quota {
|
||||
protected WebsitePanel.Portal.QuotaViewer quotaViewer;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuotaEditor.ascx.cs" Inherits="WebsitePanel.Portal.QuotaEditor" %>
|
||||
<asp:TextBox ID="txtQuotaValue" runat="server" CssClass="NormalTextBox" Width="80px"></asp:TextBox><asp:CheckBox ID="chkQuotaEnabled" runat="server" Text="Enabled" meta:resourcekey="chkQuotaEnabled" /><asp:CheckBox ID="chkQuotaUnlimited" runat="server" Text="Unlimited" meta:resourcekey="chkQuotaUnlimited" />
|
|
@ -0,0 +1,152 @@
|
|||
// Copyright (c) 2011, Outercurve Foundation.
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without modification,
|
||||
// are permitted provided that the following conditions are met:
|
||||
//
|
||||
// - Redistributions of source code must retain the above copyright notice, this
|
||||
// list of conditions and the following disclaimer.
|
||||
//
|
||||
// - Redistributions in binary form must reproduce the above copyright notice,
|
||||
// this list of conditions and the following disclaimer in the documentation
|
||||
// and/or other materials provided with the distribution.
|
||||
//
|
||||
// - Neither the name of the Outercurve Foundation nor the names of its
|
||||
// contributors may be used to endorse or promote products derived from this
|
||||
// software without specific prior written permission.
|
||||
//
|
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
using System;
|
||||
|
||||
namespace WebsitePanel.Portal
|
||||
{
|
||||
public partial class QuotaEditor : WebsitePanelControlBase
|
||||
{
|
||||
public int QuotaId
|
||||
{
|
||||
get { return (int)ViewState["QuotaId"]; }
|
||||
set { ViewState["QuotaId"] = value; }
|
||||
}
|
||||
|
||||
public int QuotaTypeId
|
||||
{
|
||||
get { return (int)ViewState["QuotaTypeId"]; }
|
||||
set
|
||||
{
|
||||
ViewState["QuotaTypeId"] = value;
|
||||
|
||||
// toggle controls
|
||||
txtQuotaValue.Visible = (value > 1);
|
||||
chkQuotaUnlimited.Visible = (value > 1);
|
||||
chkQuotaEnabled.Visible = (value == 1);
|
||||
}
|
||||
}
|
||||
|
||||
public string UnlimitedText
|
||||
{
|
||||
get { return chkQuotaUnlimited.Text; }
|
||||
set { chkQuotaUnlimited.Text = value; }
|
||||
|
||||
}
|
||||
|
||||
public int QuotaValue
|
||||
{
|
||||
get
|
||||
{
|
||||
if (QuotaTypeId == 1)
|
||||
// bool quota
|
||||
return chkQuotaEnabled.Checked ? 1 : 0;
|
||||
else
|
||||
{
|
||||
if (ParentQuotaValue == -1)
|
||||
{
|
||||
// numeric quota
|
||||
return chkQuotaUnlimited.Checked ? -1 : Utils.ParseInt(txtQuotaValue.Text, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
return
|
||||
chkQuotaUnlimited.Checked
|
||||
? ParentQuotaValue
|
||||
: Math.Min(Utils.ParseInt(txtQuotaValue.Text, 0), ParentQuotaValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
txtQuotaValue.Text = value.ToString();
|
||||
chkQuotaEnabled.Checked = (value > 0);
|
||||
chkQuotaUnlimited.Checked = (value == -1);
|
||||
}
|
||||
}
|
||||
|
||||
public int ParentQuotaValue
|
||||
{
|
||||
set
|
||||
{
|
||||
ViewState["ParentQuotaValue"] = value;
|
||||
if (value == 0)
|
||||
{
|
||||
txtQuotaValue.Enabled = false;
|
||||
chkQuotaEnabled.Enabled = false;
|
||||
chkQuotaUnlimited.Visible = false;
|
||||
chkQuotaEnabled.Checked = false;
|
||||
}
|
||||
|
||||
if (value != -1)
|
||||
chkQuotaUnlimited.Visible = false;
|
||||
}
|
||||
get
|
||||
{
|
||||
return ViewState["ParentQuotaValue"] != null ? (int) ViewState["ParentQuotaValue"] : 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
WriteScriptBlock();
|
||||
}
|
||||
|
||||
protected override void OnPreRender(EventArgs e)
|
||||
{
|
||||
// set textbox attributes
|
||||
txtQuotaValue.Style["display"] = (txtQuotaValue.Text == "-1") ? "none" : "inline";
|
||||
|
||||
|
||||
|
||||
chkQuotaUnlimited.Attributes["onclick"] = String.Format("ToggleQuota('{0}', '{1}');",
|
||||
txtQuotaValue.ClientID, chkQuotaUnlimited.ClientID);
|
||||
|
||||
|
||||
// call base handler
|
||||
base.OnPreRender(e);
|
||||
}
|
||||
|
||||
private void WriteScriptBlock()
|
||||
{
|
||||
string scriptKey = "QuataScript";
|
||||
if (!Page.ClientScript.IsClientScriptBlockRegistered(scriptKey))
|
||||
{
|
||||
Page.ClientScript.RegisterClientScriptBlock(GetType(), scriptKey, @"<script language='javascript' type='text/javascript'>
|
||||
function ToggleQuota(txtId, chkId)
|
||||
{
|
||||
var unlimited = document.getElementById(chkId).checked;
|
||||
document.getElementById(txtId).style.display = unlimited ? 'none' : 'inline';
|
||||
document.getElementById(txtId).value = unlimited ? '-1' : '0';
|
||||
}
|
||||
</script>");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3053
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace WebsitePanel.Portal {
|
||||
|
||||
|
||||
public partial class QuotaEditor {
|
||||
|
||||
/// <summary>
|
||||
/// txtQuotaValue control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtQuotaValue;
|
||||
|
||||
/// <summary>
|
||||
/// chkQuotaEnabled control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkQuotaEnabled;
|
||||
|
||||
/// <summary>
|
||||
/// chkQuotaUnlimited control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.CheckBox chkQuotaUnlimited;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="QuotaViewer.ascx.cs" Inherits="WebsitePanel.Portal.QuotaViewer" %>
|
||||
<%@ Register Src="Gauge.ascx" TagName="Gauge" TagPrefix="uc1" %>
|
||||
<uc1:Gauge ID="gauge" runat="server"
|
||||
Progress='<%# Eval("QuotaUsedValue") %>'
|
||||
Total='<%# Eval("QuotaValue") %>' />
|
||||
<asp:Label ID="litValue" runat="server"></asp:Label>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue