This commit is contained in:
McMak 2015-05-21 15:51:20 +03:00
commit e4f90c16eb
35 changed files with 382 additions and 165 deletions

View file

@ -91,7 +91,7 @@ namespace WebsitePanel.VmConfig
} }
attempts++; attempts++;
Log.WriteError(string.Format("Attempt #{0} to find network adapter failed!", attempts)); Log.WriteError(string.Format("Attempt #{0} to find network adapter (mac: {1}) failed!", attempts, macAddress));
// wait 1 min // wait 1 min
System.Threading.Thread.Sleep(60000); System.Threading.Thread.Sleep(60000);
//repeat loop //repeat loop

View file

@ -6,7 +6,7 @@
<appSettings> <appSettings>
<!-- Start-up delay in milliseconds - time to wait before tasks execution --> <!-- Start-up delay in milliseconds - time to wait before tasks execution -->
<add key="Service.StartupDelay" value="0"/> <add key="Service.StartupDelay" value="20000"/>
<!-- Interval in milliseconds to poll registry keys. 1 - read registry only once --> <!-- Interval in milliseconds to poll registry keys. 1 - read registry only once -->
<add key="Service.RegistryPollInterval" value="30000"/> <add key="Service.RegistryPollInterval" value="30000"/>

View file

@ -12232,12 +12232,8 @@ DECLARE @Users TABLE
UserID int UserID int
) )
INSERT INTO @Users (UserID) INSERT INTO @Users (UserID)
SELECT ' SELECT
U.UserID
IF @OnlyFind = 1
SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlUsers = @sqlUsers + 'U.UserID
FROM UsersDetailed AS U FROM UsersDetailed AS U
WHERE WHERE
U.UserID <> @UserID AND U.IsPeer = 0 AND U.UserID <> @UserID AND U.IsPeer = 0 AND
@ -12249,8 +12245,12 @@ WHERE
AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID)) AND ((@RoleID = 0) OR (@RoleID > 0 AND U.RoleID = @RoleID))
AND @HasUserRights = 1 AND @HasUserRights = 1
SET @curValue = cursor local for SET @curValue = cursor local for
SELECT SELECT '
U.ItemID,
IF @OnlyFind = 1
SET @sqlUsers = @sqlUsers + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlUsers = @sqlUsers + 'U.ItemID,
U.TextSearch, U.TextSearch,
U.ColumnType, U.ColumnType,
''Users'' as FullType, ''Users'' as FullType,
@ -12274,8 +12274,10 @@ SELECT U3.UserID as ItemID, U3.FirstName + '' '' + U3.LastName as TextSearch, @c
FROM dbo.Users AS U3) as U FROM dbo.Users AS U3) as U
WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0 WHERE TextSearch<>'' '' OR ISNULL(TextSearch, 0) > 0
) )
AS U ON TU.UserID = U.ItemID AS U ON TU.UserID = U.ItemID'
ORDER BY TextSearch' IF @FilterValue <> ''
SET @sqlUsers = @sqlUsers + ' WHERE TextSearch LIKE ''' + @FilterValue + ''''
SET @sqlUsers = @sqlUsers + ' ORDER BY TextSearch'
SET @sqlUsers = @sqlUsers + ' open @curValue' SET @sqlUsers = @sqlUsers + ' open @curValue'
@ -12288,12 +12290,8 @@ SET @sqlSpace = '
ItemID int ItemID int
) )
INSERT INTO @ItemsService (ItemID) INSERT INTO @ItemsService (ItemID)
SELECT ' SELECT
SI.ItemID
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + 'SI.ItemID
FROM ServiceItems AS SI FROM ServiceItems AS SI
INNER JOIN Packages AS P ON P.PackageID = SI.PackageID INNER JOIN Packages AS P ON P.PackageID = SI.PackageID
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
@ -12313,8 +12311,12 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
dbo.CheckUserParent(@UserID, P.UserID) = 1 dbo.CheckUserParent(@UserID, P.UserID) = 1
SET @curValue = cursor local for SET @curValue = cursor local for
SELECT SELECT '
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + '
SI.ItemID as ItemID, SI.ItemID as ItemID,
SI.ItemName as TextSearch, SI.ItemName as TextSearch,
STYPE.DisplayName as ColumnType, STYPE.DisplayName as ColumnType,
@ -12324,9 +12326,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
FROM @ItemsService AS I FROM @ItemsService AS I
INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID INNER JOIN ServiceItems AS SI ON I.ItemID = SI.ItemID
INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID INNER JOIN ServiceItemTypes AS STYPE ON SI.ItemTypeID = STYPE.ItemTypeID
WHERE STYPE.Searchable = 1 WHERE (STYPE.Searchable = 1)'
IF @FilterValue <> ''
SET @sqlSpace = @sqlSpace + ' AND (SI.ItemName LIKE ''' + @FilterValue + ''')'
SET @sqlSpace = @sqlSpace + '
UNION ( UNION (
SELECT SELECT '
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + '
D.DomainID AS ItemID, D.DomainID AS ItemID,
D.DomainName as TextSearch, D.DomainName as TextSearch,
''Domain'' as ColumnType, ''Domain'' as ColumnType,
@ -12335,9 +12345,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
0 as AccountID 0 as AccountID
FROM @ItemsDomain AS I FROM @ItemsDomain AS I
INNER JOIN Domains AS D ON I.ItemID = D.DomainID INNER JOIN Domains AS D ON I.ItemID = D.DomainID
WHERE D.IsDomainPointer=0 WHERE (D.IsDomainPointer=0)'
IF @FilterValue <> ''
SET @sqlSpace = @sqlSpace + ' AND (D.DomainName LIKE ''' + @FilterValue + ''')'
SET @sqlSpace = @sqlSpace + '
UNION UNION
SELECT SELECT '
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + '
EA.ItemID AS ItemID, EA.ItemID AS ItemID,
EA.DisplayName as TextSearch, EA.DisplayName as TextSearch,
''ExchangeAccount'' as ColumnType, ''ExchangeAccount'' as ColumnType,
@ -12346,9 +12364,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
EA.AccountID as AccountID EA.AccountID as AccountID
FROM @ItemsService AS I2 FROM @ItemsService AS I2
INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID INNER JOIN ServiceItems AS SI2 ON I2.ItemID = SI2.ItemID
INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID INNER JOIN ExchangeAccounts AS EA ON I2.ItemID = EA.ItemID'
IF @FilterValue <> ''
SET @sqlSpace = @sqlSpace + ' WHERE (EA.DisplayName LIKE ''' + @FilterValue + ''')'
SET @sqlSpace = @sqlSpace + '
UNION UNION
SELECT SELECT '
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + '
EA4.ItemID AS ItemID, EA4.ItemID AS ItemID,
EA4.PrimaryEmailAddress as TextSearch, EA4.PrimaryEmailAddress as TextSearch,
''ExchangeAccount'' as ColumnType, ''ExchangeAccount'' as ColumnType,
@ -12357,9 +12383,17 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
EA4.AccountID as AccountID EA4.AccountID as AccountID
FROM @ItemsService AS I4 FROM @ItemsService AS I4
INNER JOIN ServiceItems AS SI4 ON I4.ItemID = SI4.ItemID INNER JOIN ServiceItems AS SI4 ON I4.ItemID = SI4.ItemID
INNER JOIN ExchangeAccounts AS EA4 ON I4.ItemID = EA4.ItemID INNER JOIN ExchangeAccounts AS EA4 ON I4.ItemID = EA4.ItemID'
IF @FilterValue <> ''
SET @sqlSpace = @sqlSpace + ' WHERE (EA4.PrimaryEmailAddress LIKE ''' + @FilterValue + ''')'
SET @sqlSpace = @sqlSpace + '
UNION UNION
SELECT SELECT '
IF @OnlyFind = 1
SET @sqlSpace = @sqlSpace + 'TOP ' + CAST(@MaximumRows AS varchar(12)) + ' '
SET @sqlSpace = @sqlSpace + '
EA3.ItemID AS ItemID, EA3.ItemID AS ItemID,
EAEA.EmailAddress as TextSearch, EAEA.EmailAddress as TextSearch,
''ExchangeAccount'' as ColumnType, ''ExchangeAccount'' as ColumnType,
@ -12369,8 +12403,10 @@ SET @sqlSpace = @sqlSpace + 'SI.ItemID
FROM @ItemsService AS I3 FROM @ItemsService AS I3
INNER JOIN ServiceItems AS SI3 ON I3.ItemID = SI3.ItemID INNER JOIN ServiceItems AS SI3 ON I3.ItemID = SI3.ItemID
INNER JOIN ExchangeAccounts AS EA3 ON I3.ItemID = EA3.ItemID INNER JOIN ExchangeAccounts AS EA3 ON I3.ItemID = EA3.ItemID
INNER JOIN ExchangeAccountEmailAddresses AS EAEA ON I3.ItemID = EAEA.AccountID) INNER JOIN ExchangeAccountEmailAddresses AS EAEA ON I3.ItemID = EAEA.AccountID'
ORDER BY TextSearch'; IF @FilterValue <> ''
SET @sqlSpace = @sqlSpace + ' WHERE (EAEA.EmailAddress LIKE ''' + @FilterValue + ''')'
SET @sqlSpace = @sqlSpace + ') ORDER BY TextSearch';
SET @sqlSpace = @sqlSpace + ' open @curValue' SET @sqlSpace = @sqlSpace + ' open @curValue'
@ -12434,9 +12470,6 @@ SET @sqlReturn = @sqlReturn + ' AND IA.ColumnType in ( ' + @ColType + ' ) ';
IF @FullType <> '' IF @FullType <> ''
SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + ''''; SET @sqlReturn = @sqlReturn + ' AND IA.FullType = ''' + @FullType + '''';
IF @FilterValue <> ''
SET @sqlReturn = @sqlReturn + ' AND IA.' + @FilterColumn + ' LIKE @FilterValue '
SET @sqlReturn = @sqlReturn + ' SET @sqlReturn = @sqlReturn + '
SELECT COUNT(ItemID) FROM @ItemsReturn; SELECT COUNT(ItemID) FROM @ItemsReturn;
SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) '; SELECT DISTINCT(ColumnType) FROM @ItemsReturn WHERE (1 = 1) ';

View file

@ -285,10 +285,22 @@ namespace WebsitePanel.Import.Enterprise
case "group": case "group":
if (child.Properties["mail"] != null) if (child.Properties["mail"] != null)
email = (string)child.Properties["mail"].Value; email = (string)child.Properties["mail"].Value;
if ((typeProp != null) && (typeProp.Value != null) && (1073741833 == (int)typeProp.Value))
bool isDistributionList = false;
if ((typeProp != null) && (typeProp.Value != null) && (1073741833 == (int)typeProp.Value))
isDistributionList = true;
if (typeDetails == 262144)
isDistributionList = true;
if (typeDetails == 0)
isDistributionList = true;
if (isDistributionList)
{ {
//Universal Security Group //Universal Security Group
type = "Mail-Enabled Universal Security Group"; type = "Distribution List";
//email //email
PropertyValueCollection proxyAddresses = child.Properties["proxyAddresses"]; PropertyValueCollection proxyAddresses = child.Properties["proxyAddresses"];
if (proxyAddresses != null) if (proxyAddresses != null)

View file

@ -141,6 +141,8 @@ namespace WebsitePanel.EnterpriseServer {
private System.Threading.SendOrPostCallback ImportCollectionOperationCompleted; private System.Threading.SendOrPostCallback ImportCollectionOperationCompleted;
private System.Threading.SendOrPostCallback GetRemoteDesktopServiceIdOperationCompleted;
/// <remarks/> /// <remarks/>
public esRemoteDesktopServices() { public esRemoteDesktopServices() {
this.Url = "http://localhost:9002/esRemoteDesktopServices.asmx"; this.Url = "http://localhost:9002/esRemoteDesktopServices.asmx";
@ -311,6 +313,9 @@ namespace WebsitePanel.EnterpriseServer {
/// <remarks/> /// <remarks/>
public event ImportCollectionCompletedEventHandler ImportCollectionCompleted; public event ImportCollectionCompletedEventHandler ImportCollectionCompleted;
/// <remarks/>
public event GetRemoteDesktopServiceIdCompletedEventHandler GetRemoteDesktopServiceIdCompleted;
/// <remarks/> /// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRdsCollection", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRdsCollection", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public RdsCollection GetRdsCollection(int collectionId) { public RdsCollection GetRdsCollection(int collectionId) {
@ -2772,6 +2777,47 @@ namespace WebsitePanel.EnterpriseServer {
} }
} }
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetRemoteDesktopServiceId", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public int GetRemoteDesktopServiceId(int itemId) {
object[] results = this.Invoke("GetRemoteDesktopServiceId", new object[] {
itemId});
return ((int)(results[0]));
}
/// <remarks/>
public System.IAsyncResult BeginGetRemoteDesktopServiceId(int itemId, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("GetRemoteDesktopServiceId", new object[] {
itemId}, callback, asyncState);
}
/// <remarks/>
public int EndGetRemoteDesktopServiceId(System.IAsyncResult asyncResult) {
object[] results = this.EndInvoke(asyncResult);
return ((int)(results[0]));
}
/// <remarks/>
public void GetRemoteDesktopServiceIdAsync(int itemId) {
this.GetRemoteDesktopServiceIdAsync(itemId, null);
}
/// <remarks/>
public void GetRemoteDesktopServiceIdAsync(int itemId, object userState) {
if ((this.GetRemoteDesktopServiceIdOperationCompleted == null)) {
this.GetRemoteDesktopServiceIdOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRemoteDesktopServiceIdOperationCompleted);
}
this.InvokeAsync("GetRemoteDesktopServiceId", new object[] {
itemId}, this.GetRemoteDesktopServiceIdOperationCompleted, userState);
}
private void OnGetRemoteDesktopServiceIdOperationCompleted(object arg) {
if ((this.GetRemoteDesktopServiceIdCompleted != null)) {
System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
this.GetRemoteDesktopServiceIdCompleted(this, new GetRemoteDesktopServiceIdCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
}
}
/// <remarks/> /// <remarks/>
public new void CancelAsync(object userState) { public new void CancelAsync(object userState) {
base.CancelAsync(userState); base.CancelAsync(userState);
@ -4207,4 +4253,30 @@ namespace WebsitePanel.EnterpriseServer {
} }
} }
} }
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
public delegate void GetRemoteDesktopServiceIdCompletedEventHandler(object sender, GetRemoteDesktopServiceIdCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetRemoteDesktopServiceIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
private object[] results;
internal GetRemoteDesktopServiceIdCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
base(exception, cancelled, userState) {
this.results = results;
}
/// <remarks/>
public int Result {
get {
this.RaiseExceptionIfNecessary();
return ((int)(this.results[0]));
}
}
}
} }

View file

@ -56,6 +56,11 @@ namespace WebsitePanel.EnterpriseServer
} }
public static int GetRemoteDesktopServiceId(int itemId)
{
return GetRdsServiceId(itemId);
}
public static RdsCollection GetRdsCollection(int collectionId) public static RdsCollection GetRdsCollection(int collectionId)
{ {
return GetRdsCollectionInternal(collectionId); return GetRdsCollectionInternal(collectionId);

View file

@ -392,5 +392,11 @@ namespace WebsitePanel.EnterpriseServer
{ {
return RemoteDesktopServicesController.ImportCollection(itemId, collectionName); return RemoteDesktopServicesController.ImportCollection(itemId, collectionName);
} }
[WebMethod]
public int GetRemoteDesktopServiceId(int itemId)
{
return RemoteDesktopServicesController.GetRemoteDesktopServiceId(itemId);
}
} }
} }

View file

@ -48,7 +48,7 @@ namespace WebsitePanel.EnterpriseServer.Base.RDS
public const string DISABLE_CMD = "DisableCMD"; public const string DISABLE_CMD = "DisableCMD";
public const string DISABLE_CMD_ADMINISTRATORS = "DisableCMDAdministrators"; public const string DISABLE_CMD_ADMINISTRATORS = "DisableCMDAdministrators";
public const string DISABLE_CMD_USERS = "DisableCMDUsers"; public const string DISABLE_CMD_USERS = "DisableCMDUsers";
public const string ALLOWCONNECTIONSIMPORT = "AllowConnectionsImport"; public const string ALLOWCOLLECTIONSIMPORT = "AllowCollectionsImport";
public string SettingsName { get; set; } public string SettingsName { get; set; }
public int ServerId { get; set; } public int ServerId { get; set; }

View file

@ -228,21 +228,31 @@ namespace WebsitePanel.Providers.Virtualization
try try
{ {
Command cmd = new Command("Get-VM"); HostedSolutionLog.LogInfo("Before Get-VM command");
Command cmd = new Command("Get-VM");
Collection<PSObject> result = PowerShell.Execute(cmd, true); Collection<PSObject> result = PowerShell.Execute(cmd, true);
HostedSolutionLog.LogInfo("After Get-VM command");
foreach (PSObject current in result) foreach (PSObject current in result)
{ {
VirtualMachine vm = new VirtualMachine HostedSolutionLog.LogInfo("- start VM -");
{ var vm = new VirtualMachine();
VirtualMachineId = current.GetProperty("Id").ToString(), HostedSolutionLog.LogInfo("create");
Name = current.GetString("Name"), vm.VirtualMachineId = current.GetProperty("Id").ToString();
State = current.GetEnum<VirtualMachineState>("State"), HostedSolutionLog.LogInfo("VirtualMachineId {0}", vm.VirtualMachineId);
Uptime = Convert.ToInt64(current.GetProperty<TimeSpan>("UpTime").TotalMilliseconds), vm.Name = current.GetString("Name");
ReplicationState = current.GetEnum<ReplicationState>("ReplicationState") HostedSolutionLog.LogInfo("Name {0}", vm.Name);
}; vm.State = current.GetEnum<VirtualMachineState>("State");
HostedSolutionLog.LogInfo("State {0}", vm.State);
vm.Uptime = Convert.ToInt64(current.GetProperty<TimeSpan>("UpTime").TotalMilliseconds);
HostedSolutionLog.LogInfo("Uptime {0}", vm.Uptime);
vm.ReplicationState = current.GetEnum<ReplicationState>("ReplicationState");
HostedSolutionLog.LogInfo("ReplicationState {0}", vm.ReplicationState);
vmachines.Add(vm); vmachines.Add(vm);
HostedSolutionLog.LogInfo("- end VM -");
} }
HostedSolutionLog.LogInfo("Finish");
} }
catch (Exception ex) catch (Exception ex)
{ {

View file

@ -430,7 +430,7 @@ namespace WebsitePanel.WebDavPortal.Resources {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to Initials. /// Looks up a localized string similar to Middle Initial.
/// </summary> /// </summary>
public static string Initials { public static string Initials {
get { get {

View file

@ -235,7 +235,7 @@
<value>Info</value> <value>Info</value>
</data> </data>
<data name="Initials" xml:space="preserve"> <data name="Initials" xml:space="preserve">
<value>Initials</value> <value>Middle Initial</value>
</data> </data>
<data name="ItemExist" xml:space="preserve"> <data name="ItemExist" xml:space="preserve">
<value>File already exist</value> <value>File already exist</value>

View file

@ -379,4 +379,75 @@ p.warningText {font-size:14px; color:Red; text-align:center;}
} }
.ui-menu-item:hover { .ui-menu-item:hover {
background-color: #f0f0f0; background-color: #f0f0f0;
}
.tip-bluesimple {
z-index:1000;
text-align:left;
border:1px solid #5e86aa;
border-radius:4px;
-moz-border-radius:4px;
-webkit-border-radius:4px;
min-width:50px;
max-width:300px;
color:#333;
background-color:#ffffff;
/**
* - If you set a background-image, border/padding/background-color will be ingnored.
* You can set any padding to .tip-inner instead if you need.
* - If you want a tiled background-image and border/padding for the tip,
* set the background-image to .tip-inner instead.
*/
}
.tip-bluesimple .tip-inner {
font:12px/16px arial,helvetica,sans-serif;
}
/* Configure an arrow image - the script will automatically position it on the correct side of the tip */
.tip-bluesimple .tip-arrow-top {
margin-top:-6px;
margin-left:-5px; /* approx. half the width to center it */
top:0;
left:50%;
width:9px;
height:6px;
}
.tip-bluesimple .tip-arrow-right {
margin-top:-4px; /* approx. half the height to center it */
margin-left:0;
top:50%;
left:100%;
width:6px;
height:9px;
}
.tip-bluesimple .tip-arrow-bottom {
margin-top:0;
margin-left:-5px; /* approx. half the width to center it */
top:100%;
left:50%;
width:9px;
height:6px;
}
.tip-bluesimple .tip-arrow-left {
margin-top:-3px; /* approx. half the height to center it */
margin-left:-6px;
top:50%;
left:0;
width:6px;
height:9px;
}
.popover-title {
padding: 8px 14px;
margin: 0 !important;
font-size: 14px;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
border-radius: 5px 5px 0 0;
}
.popover-content {
padding:6px 8px;
} }

View file

@ -163,7 +163,7 @@
<value>Home Phone:</value> <value>Home Phone:</value>
</data> </data>
<data name="locInitials.Text" xml:space="preserve"> <data name="locInitials.Text" xml:space="preserve">
<value>Initials:</value> <value>Middle Initial:</value>
</data> </data>
<data name="locJobTitle.Text" xml:space="preserve"> <data name="locJobTitle.Text" xml:space="preserve">
<value>Job Title:</value> <value>Job Title:</value>

View file

@ -157,7 +157,7 @@
<value>Home Phone:</value> <value>Home Phone:</value>
</data> </data>
<data name="locInitials.Text" xml:space="preserve"> <data name="locInitials.Text" xml:space="preserve">
<value>Initials:</value> <value>Middle Initial:</value>
</data> </data>
<data name="locJobTitle.Text" xml:space="preserve"> <data name="locJobTitle.Text" xml:space="preserve">
<value>Job Title:</value> <value>Job Title:</value>

View file

@ -166,7 +166,7 @@
<value>Home Phone:</value> <value>Home Phone:</value>
</data> </data>
<data name="locInitials.Text" xml:space="preserve"> <data name="locInitials.Text" xml:space="preserve">
<value>Initials:</value> <value>Middle Initial:</value>
</data> </data>
<data name="locJobTitle.Text" xml:space="preserve"> <data name="locJobTitle.Text" xml:space="preserve">
<value>Job Title:</value> <value>Job Title:</value>

View file

@ -61,7 +61,7 @@
<td> <td>
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox> <asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox>
&nbsp; &nbsp;
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" /> <asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
<asp:TextBox ID="txtInitials" runat="server" CssClass="TextBox100"></asp:TextBox> <asp:TextBox ID="txtInitials" runat="server" CssClass="TextBox100"></asp:TextBox>
</td> </td>
</tr> </tr>

View file

@ -1,31 +1,3 @@
// Copyright (c) 2015, 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.
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.

View file

@ -73,7 +73,7 @@
<td> <td>
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox> <asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
&nbsp; &nbsp;
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" /> <asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox> <asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
</td> </td>
</tr> </tr>

View file

@ -47,7 +47,7 @@
<td> <td>
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox> <asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
&nbsp; &nbsp;
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" /> <asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox> <asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100" onKeyUp="buildDisplayName();"></asp:TextBox>
</td> </td>
</tr> </tr>

View file

@ -77,7 +77,7 @@
<td> <td>
<asp:label ID="lblFirstName" runat="server"></asp:label> <asp:label ID="lblFirstName" runat="server"></asp:label>
&nbsp; &nbsp;
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" /> <asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
<asp:Label ID="lblInitials" runat="server"></asp:Label> <asp:Label ID="lblInitials" runat="server"></asp:Label>
</td> </td>
</tr> </tr>

View file

@ -95,7 +95,7 @@
<td> <td>
<asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox> <asp:TextBox ID="txtFirstName" runat="server" CssClass="TextBox100"></asp:TextBox>
&nbsp; &nbsp;
<asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Initials:" /> <asp:Localize ID="locInitials" runat="server" meta:resourcekey="locInitials" Text="Middle Initial:" />
<asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100"></asp:TextBox> <asp:TextBox ID="txtInitials" runat="server" MaxLength="6" CssClass="TextBox100"></asp:TextBox>
</td> </td>
</tr> </tr>
@ -294,4 +294,5 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>

View file

@ -147,4 +147,7 @@
<data name="lblComputersRootOU.Text" xml:space="preserve"> <data name="lblComputersRootOU.Text" xml:space="preserve">
<value>Computers Root OU:</value> <value>Computers Root OU:</value>
</data> </data>
<data name="cbCollectionsImport.Text" xml:space="preserve">
<value>Allow Collections Import</value>
</data>
</root> </root>

View file

@ -57,7 +57,12 @@
</asp:Panel> </asp:Panel>
</fieldset> </fieldset>
<fieldset> <fieldset>
<table> <table>
<tr>
<td colspan="2">
<asp:CheckBox runat="server" Text="Allow Collections Import" ID="cbCollectionsImport" meta:resourcekey="cbCollectionsImport" Checked="false" />
</td>
</tr>
<tr> <tr>
<td class="SubHead" width="200" nowrap> <td class="SubHead" width="200" nowrap>
<asp:Label runat="server" ID="lblConnectionBroker" meta:resourcekey="lblConnectionBroker" Text="Connection Broker:"/> <asp:Label runat="server" ID="lblConnectionBroker" meta:resourcekey="lblConnectionBroker" Text="Connection Broker:"/>

View file

@ -32,13 +32,14 @@ using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
using System.Web.UI.WebControls; using System.Web.UI.WebControls;
using WebsitePanel.EnterpriseServer; using WebsitePanel.EnterpriseServer;
using WebsitePanel.EnterpriseServer.Base.RDS;
using WebsitePanel.Providers.Common; using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.RemoteDesktopServices; using WebsitePanel.Providers.RemoteDesktopServices;
namespace WebsitePanel.Portal.ProviderControls namespace WebsitePanel.Portal.ProviderControls
{ {
public partial class RDS_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings public partial class RDS_Settings : WebsitePanelControlBase, IHostingServiceProviderSettings
{ {
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
FillCertificateInfo(); FillCertificateInfo();
@ -98,6 +99,11 @@ namespace WebsitePanel.Portal.ProviderControls
txtCentralNPS.Enabled = false; txtCentralNPS.Enabled = false;
txtCentralNPS.Text = string.Empty; txtCentralNPS.Text = string.Empty;
} }
if (!string.IsNullOrEmpty(settings[RdsServerSettings.ALLOWCOLLECTIONSIMPORT]))
{
cbCollectionsImport.Checked = Convert.ToBoolean(settings[RdsServerSettings.ALLOWCOLLECTIONSIMPORT]);
}
} }
public void SaveSettings(System.Collections.Specialized.StringDictionary settings) public void SaveSettings(System.Collections.Specialized.StringDictionary settings)
@ -108,6 +114,7 @@ namespace WebsitePanel.Portal.ProviderControls
settings["PrimaryDomainController"] = txtPrimaryDomainController.Text; settings["PrimaryDomainController"] = txtPrimaryDomainController.Text;
settings["UseCentralNPS"] = chkUseCentralNPS.Checked.ToString(); settings["UseCentralNPS"] = chkUseCentralNPS.Checked.ToString();
settings["CentralNPS"] = chkUseCentralNPS.Checked ? txtCentralNPS.Text : string.Empty; settings["CentralNPS"] = chkUseCentralNPS.Checked ? txtCentralNPS.Text : string.Empty;
settings[RdsServerSettings.ALLOWCOLLECTIONSIMPORT] = cbCollectionsImport.Checked.ToString();
settings["GWServrsList"] = GWServers; settings["GWServrsList"] = GWServers;

View file

@ -84,6 +84,15 @@ namespace WebsitePanel.Portal.ProviderControls {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.Label lblExpiryDate; protected global::System.Web.UI.WebControls.Label lblExpiryDate;
/// <summary>
/// cbCollectionsImport 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 cbCollectionsImport;
/// <summary> /// <summary>
/// lblConnectionBroker control. /// lblConnectionBroker control.
/// </summary> /// </summary>

View file

@ -27,6 +27,7 @@
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System; using System;
using System.Collections.Specialized;
using System.Linq; using System.Linq;
using System.Web.UI.WebControls; using System.Web.UI.WebControls;
using WebsitePanel.EnterpriseServer; using WebsitePanel.EnterpriseServer;
@ -55,8 +56,10 @@ namespace WebsitePanel.Portal.RDS
btnAddCollection.Enabled = (!(cntx.Quotas[Quotas.RDS_COLLECTIONS].QuotaAllocatedValue <= gvRDSCollections.Rows.Count) || (cntx.Quotas[Quotas.RDS_COLLECTIONS].QuotaAllocatedValue == -1)); btnAddCollection.Enabled = (!(cntx.Quotas[Quotas.RDS_COLLECTIONS].QuotaAllocatedValue <= gvRDSCollections.Rows.Count) || (cntx.Quotas[Quotas.RDS_COLLECTIONS].QuotaAllocatedValue == -1));
} }
var defaultSettings = ES.Services.Users.GetUserSettings(PanelSecurity.EffectiveUserId, UserSettings.RDS_POLICY); var serviceId = ES.Services.RDS.GetRemoteDesktopServiceId(PanelRequest.ItemID);
var allowImport = Convert.ToBoolean(defaultSettings[RdsServerSettings.ALLOWCONNECTIONSIMPORT]); var settings = ConvertArrayToDictionary(ES.Services.Servers.GetServiceSettings(serviceId));
var allowImport = Convert.ToBoolean(settings[RdsServerSettings.ALLOWCOLLECTIONSIMPORT]);
if (!allowImport) if (!allowImport)
{ {
@ -64,6 +67,8 @@ namespace WebsitePanel.Portal.RDS
} }
} }
private void BindQuota(PackageContext cntx) private void BindQuota(PackageContext cntx)
{ {
OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID); OrganizationStatistics stats = ES.Services.Organizations.GetOrganizationStatisticsByOrganization(PanelRequest.ItemID);
@ -142,5 +147,16 @@ namespace WebsitePanel.Portal.RDS
{ {
return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "rds_edit_collection", "CollectionId=" + collectionId, "ItemID=" + PanelRequest.ItemID); return EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "rds_edit_collection", "CollectionId=" + collectionId, "ItemID=" + PanelRequest.ItemID);
} }
private StringDictionary ConvertArrayToDictionary(string[] settings)
{
StringDictionary r = new StringDictionary();
foreach (string setting in settings)
{
int idx = setting.IndexOf('=');
r.Add(setting.Substring(0, idx), setting.Substring(idx + 1));
}
return r;
}
} }
} }

View file

@ -181,14 +181,3 @@
</table> </table>
<br /> <br />
</asp:Panel> </asp:Panel>
<wsp:CollapsiblePanel id="secAllowImport" runat="server" TargetControlID="allowImportPanel" meta:resourcekey="secAllowImport" Text="Connections Import"/>
<asp:Panel ID="allowImportPanel" runat="server" Height="0" style="overflow:hidden;">
<table>
<tr>
<td>
<asp:CheckBox runat="server" Text="Users" ID="cbAllowImport" meta:resourcekey="cbAllowImport" Checked="false" />
</td>
</tr>
</table>
<br />
</asp:Panel>

View file

@ -52,8 +52,7 @@ namespace WebsitePanel.Portal
cbDisableCmdAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS]); cbDisableCmdAdministrators.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS]);
cbDisableCmdUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_USERS]); cbDisableCmdUsers.Checked = Convert.ToBoolean(settings[RdsServerSettings.DISABLE_CMD_USERS]);
ddTreshold.SelectedValue = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE]; ddTreshold.SelectedValue = settings[RdsServerSettings.DRIVE_SPACE_THRESHOLD_VALUE];
cbAllowImport.Checked = Convert.ToBoolean(settings[RdsServerSettings.ALLOWCONNECTIONSIMPORT]);
} }
public void SaveSettings(UserSettings settings) public void SaveSettings(UserSettings settings)
@ -81,8 +80,7 @@ namespace WebsitePanel.Portal
settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS] = cbControlSessionAdministrators.Checked.ToString(); settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_ADMINISTRATORS] = cbControlSessionAdministrators.Checked.ToString();
settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users] = cbControlSessionUsers.Checked.ToString(); settings[RdsServerSettings.RDS_CONTROL_WITHOUT_PERMISSION_Users] = cbControlSessionUsers.Checked.ToString();
settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS] = cbDisableCmdAdministrators.Checked.ToString(); settings[RdsServerSettings.DISABLE_CMD_ADMINISTRATORS] = cbDisableCmdAdministrators.Checked.ToString();
settings[RdsServerSettings.DISABLE_CMD_USERS] = cbDisableCmdUsers.Checked.ToString(); settings[RdsServerSettings.DISABLE_CMD_USERS] = cbDisableCmdUsers.Checked.ToString();
settings[RdsServerSettings.ALLOWCONNECTIONSIMPORT] = cbAllowImport.Checked.ToString();
} }
} }
} }

View file

@ -443,32 +443,5 @@ namespace WebsitePanel.Portal {
/// To modify move field declaration from designer file to code-behind file. /// To modify move field declaration from designer file to code-behind file.
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdAdministrators; protected global::System.Web.UI.WebControls.CheckBox cbDisableCmdAdministrators;
/// <summary>
/// secAllowImport control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.CollapsiblePanel secAllowImport;
/// <summary>
/// allowImportPanel 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 allowImportPanel;
/// <summary>
/// cbAllowImport 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 cbAllowImport;
} }
} }

View file

@ -9,7 +9,8 @@
<asp:HyperLink ID="lnkGenerate" runat="server" NavigateUrl="#" meta:resourcekey="lnkGenerate" Visible="false">Generate random</asp:HyperLink></td> <asp:HyperLink ID="lnkGenerate" runat="server" NavigateUrl="#" meta:resourcekey="lnkGenerate" Visible="false">Generate random</asp:HyperLink></td>
</tr> </tr>
<tr> <tr>
<td class="SubHead"><asp:Label id="lblConfirmPassword" runat="server" meta:resourcekey="lblConfirmPassword"></asp:Label></td> <td class="SubHead">
<asp:Label ID="lblConfirmPassword" runat="server" meta:resourcekey="lblConfirmPassword"></asp:Label></td>
</tr> </tr>
<tr> <tr>
<td class="Normal"> <td class="Normal">
@ -18,7 +19,7 @@
meta:resourcekey="valRequireConfirmPassword" ErrorMessage="*" ControlToValidate="txtConfirmPassword" SetFocusOnError="True"></asp:RequiredFieldValidator> meta:resourcekey="valRequireConfirmPassword" ErrorMessage="*" ControlToValidate="txtConfirmPassword" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="valRequireEqualPassword" runat="server" ControlToCompare="txtPassword" <asp:CompareValidator ID="valRequireEqualPassword" runat="server" ControlToCompare="txtPassword"
ControlToValidate="txtConfirmPassword" meta:resourcekey="valRequireEqualPassword" Display="Dynamic" ErrorMessage="*"></asp:CompareValidator> ControlToValidate="txtConfirmPassword" meta:resourcekey="valRequireEqualPassword" Display="Dynamic" ErrorMessage="*"></asp:CompareValidator>
<asp:CustomValidator ID="valCorrectLength" runat="server" <asp:CustomValidator ID="valCorrectLength" runat="server"
ControlToValidate="txtPassword" ErrorMessage="len" Display="Dynamic" Enabled="false" ControlToValidate="txtPassword" ErrorMessage="len" Display="Dynamic" Enabled="false"
ClientValidationFunction="wspValidatePasswordLength" OnServerValidate="valCorrectLength_ServerValidate"></asp:CustomValidator> ClientValidationFunction="wspValidatePasswordLength" OnServerValidate="valCorrectLength_ServerValidate"></asp:CustomValidator>
@ -33,4 +34,55 @@
ClientValidationFunction="wspValidatePasswordSymbols" OnServerValidate="valRequireSymbols_ServerValidate"></asp:CustomValidator> ClientValidationFunction="wspValidatePasswordSymbols" OnServerValidate="valRequireSymbols_ServerValidate"></asp:CustomValidator>
</td> </td>
</tr> </tr>
</table> </table>
<% if (ValidationEnabled)
{%>
<div style="display: none;" id="password-hint-popup">
<h3 class="popover-title">
Password must meet the following requirements:
</h3>
<ul class="popover-content">
<li><%= string.Format("Password should be at least {0} characters", MinimumLength) %>
</li>
<li><%= string.Format("Password should be maximum {0} characters", MaximumLength) %>
</li>
<% if (MinimumUppercase > 0)
{%>
<li><%= string.Format("Password should contain at least {0} UPPERCASE characters", MinimumUppercase) %>
</li>
<% }%>
<% if (MinimumNumbers > 0)
{%>
<li><%= string.Format("Password should contain at least {0} numbers", MinimumNumbers) %>
</li>
<% }%>
<% if (MinimumSymbols > 0)
{%>
<li><%= string.Format("Password should contain at least {0} non-alphanumeric symbols", MinimumSymbols) %>
</li>
<% }%>
</ul>
</div>
<% }%>
<script>
$(document).ready(function () {
$('#<%=txtPassword.ClientID%>').poshytip({
className: 'tip-bluesimple',
showOn: 'focus',
alignTo: 'target',
alignX: 'center',
alignY: 'bottom',
offsetX: 2,
content: function () {
return $('#password-hint-popup').html();
}
});
});
</script>

View file

@ -277,7 +277,9 @@ namespace WebsitePanel.Portal
return ((matches != null) && matches.length >= minMatches); return ((matches != null) && matches.length >= minMatches);
} }
", true); ", true);
Page.ClientScript.RegisterClientScriptInclude("jqueryui-tooltip", ResolveUrl("~/JavaScript/jquery.poshytip.min.js"));
} }
} }

View file

@ -1,38 +1,9 @@
// Copyright (c) 2015, 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.
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // 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 // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View file

@ -6538,7 +6538,9 @@
<Content Include="RDS\UserControls\App_LocalResources\RDSCollectionApps.ascx.resx"> <Content Include="RDS\UserControls\App_LocalResources\RDSCollectionApps.ascx.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Content> </Content>
<Content Include="ProviderControls\App_LocalResources\RDS_Settings.ascx.resx" /> <Content Include="ProviderControls\App_LocalResources\RDS_Settings.ascx.resx">
<SubType>Designer</SubType>
</Content>
<Content Include="UserControls\App_LocalResources\DomainControl.ascx.resx"> <Content Include="UserControls\App_LocalResources\DomainControl.ascx.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Content> </Content>

File diff suppressed because one or more lines are too long

View file

@ -241,6 +241,7 @@
<Content Include="Error.htm" /> <Content Include="Error.htm" />
<Content Include="JavaScript\jquery-1.4.4.min.js" /> <Content Include="JavaScript\jquery-1.4.4.min.js" />
<Content Include="JavaScript\jquery-ui-1.8.9.min.js" /> <Content Include="JavaScript\jquery-ui-1.8.9.min.js" />
<Content Include="JavaScript\jquery.poshytip.min.js" />
<Content Include="JavaScript\jquery.window.js" /> <Content Include="JavaScript\jquery.window.js" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>