This commit is contained in:
alexY2004 2015-05-14 12:20:46 +03:00
commit 3145db2314
20 changed files with 1314 additions and 165 deletions

View file

@ -4479,7 +4479,7 @@ namespace WebsitePanel.Providers.HostedSolution
{
ExchangeLog.LogStart("CheckOrganizationPublicFolderMailbox");
Collection<PSObject> result = GetPublicFolderMailbox(runSpace, orgCanonicalName, GetPublicFolderMailboxName(organizationId));
Collection<PSObject> result = GetPublicFolderMailbox(runSpace, orgCanonicalName, GetPublicFolderMailboxName(organizationId), true);
if (result == null || result.Count == 0)
{
ExchangeTransaction transaction = StartTransaction();
@ -4501,7 +4501,7 @@ namespace WebsitePanel.Providers.HostedSolution
{
ExchangeLog.LogStart("CheckOrganizationRootFolder");
Collection<PSObject> result = GetPublicFolderObject(runSpace, orgCanonicalName+"/"+GetPublicFolderMailboxName(organizationId), "\\" + folder);
Collection<PSObject> result = GetPublicFolderObject(runSpace, orgCanonicalName+"/"+GetPublicFolderMailboxName(organizationId), "\\" + folder, true);
if (result == null || result.Count == 0)
{
ExchangeTransaction transaction = StartTransaction();
@ -4617,22 +4617,22 @@ namespace WebsitePanel.Providers.HostedSolution
ExchangeLog.LogEnd("DeletePublicFolderInternal");
}
private Collection<PSObject> GetPublicFolderObject(Runspace runSpace, string mailbox, string id)
private Collection<PSObject> GetPublicFolderObject(Runspace runSpace, string mailbox, string id, bool checkExist = false)
{
Command cmd = new Command("Get-PublicFolder");
cmd.Parameters.Add("Identity", id);
//cmd.Parameters.Add("Mailbox", mailbox);
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd, true, !checkExist);
return result;
}
private Collection<PSObject> GetPublicFolderMailbox(Runspace runSpace, string organizationDistinguishedName, string name)
private Collection<PSObject> GetPublicFolderMailbox(Runspace runSpace, string organizationDistinguishedName, string name, bool checkExist)
{
Command cmd = new Command("Get-Mailbox");
cmd.Parameters.Add("Identity", name);
cmd.Parameters.Add("PublicFolder");
cmd.Parameters.Add("OrganizationalUnit", organizationDistinguishedName);
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd);
Collection<PSObject> result = ExecuteShellCommand(runSpace, cmd, true, !checkExist);
return result;
}
@ -5369,7 +5369,7 @@ namespace WebsitePanel.Providers.HostedSolution
string resultObjectDN = null;
Command cmd = new Command("Get-AddressList");
cmd.Parameters.Add("Identity", id);
Collection<PSObject> result = this.ExecuteShellCommand(runSpace, cmd);
Collection<PSObject> result = this.ExecuteShellCommand(runSpace, cmd, true, false);
if ((result != null) && (result.Count > 0))
{
resultObjectDN = this.GetResultObjectDN(result);
@ -6242,13 +6242,19 @@ namespace WebsitePanel.Providers.HostedSolution
internal Collection<PSObject> ExecuteShellCommand(Runspace runSpace, Command cmd)
{
return ExecuteShellCommand(runSpace, cmd, true);
return ExecuteShellCommand(runSpace, cmd, true, true);
}
internal Collection<PSObject> ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController)
{
object[] errors;
return ExecuteShellCommand(runSpace, cmd, useDomainController, out errors);
return ExecuteShellCommand(runSpace, cmd, useDomainController, out errors, true);
}
internal Collection<PSObject> ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController, bool writeErrorExchangeLog)
{
object[] errors;
return ExecuteShellCommand(runSpace, cmd, useDomainController, out errors, writeErrorExchangeLog);
}
internal Collection<PSObject> ExecuteShellCommand(Runspace runSpace, Command cmd, ResultObject res)
@ -6272,10 +6278,10 @@ namespace WebsitePanel.Providers.HostedSolution
internal Collection<PSObject> ExecuteShellCommand(Runspace runSpace, Command cmd, out object[] errors)
{
return ExecuteShellCommand(runSpace, cmd, true, out errors);
return ExecuteShellCommand(runSpace, cmd, true, out errors, true);
}
internal Collection<PSObject> ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController, out object[] errors)
internal Collection<PSObject> ExecuteShellCommand(Runspace runSpace, Command cmd, bool useDomainController, out object[] errors, bool writeErrorExchangeLog)
{
ExchangeLog.LogStart("ExecuteShellCommand");
List<object> errorList = new List<object>();
@ -6309,8 +6315,12 @@ namespace WebsitePanel.Providers.HostedSolution
foreach (object item in pipeLine.Error.ReadToEnd())
{
errorList.Add(item);
string errorMessage = string.Format("Invoke error: {0}", item);
ExchangeLog.LogWarning(errorMessage);
if (writeErrorExchangeLog)
{
string errorMessage = string.Format("Invoke error: {0}", item);
ExchangeLog.LogWarning(errorMessage);
}
}
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Before After
Before After

View file

@ -455,4 +455,76 @@ div#breadcrumb_wrapper a:last-child {
.navbar-right {
margin-right: 0;
}
}
.navbar-inverse {
background-color: #F4F4F4;
border-color: #d4d4d4;
background: rgb(251,251,251);
background: -moz-linear-gradient(top, rgba(251,251,251,1) 0%, rgba(242,242,242,1) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(251,251,251,1)), color-stop(100%,rgba(242,242,242,1)));
background: -webkit-linear-gradient(top, rgba(251,251,251,1) 0%,rgba(242,242,242,1) 100%);
background: -o-linear-gradient(top, rgba(251,251,251,1) 0%,rgba(242,242,242,1) 100%);
background: -ms-linear-gradient(top, rgba(251,251,251,1) 0%,rgba(242,242,242,1) 100%);
background: linear-gradient(to bottom, rgba(251,251,251,1) 0%,rgba(242,242,242,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbfbfb', endColorstr='#f2f2f2',GradientType=0 );
-webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
-moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
box-shadow: 0 1px 10px rgba(0,0,0,.1);
}
.navbar-inverse .navbar-text, .navbar-inverse .navbar-brand, .navbar-text, #logout {
color: #565656;
}
.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus, .navbar-text:hover, #logout:hover {
color: #565656;
background-color: transparent;
opacity: 1;
}
div#breadcrumb_wrapper {
background-color: #F7F7F7;
border: 1px solid #d4d4d4;
margin-top: 9px;
}
.progress {
height:21px;
background-color: #ffffff;
border: 1px solid #BBBBBB;
border-radius: 3px!important;
}
.progress-bar {
background-color: #F4C18F;
-webkit-box-shadow: none;
box-shadow: none;
}
body {
background-color: #FAFAFA;
}
p.progress-text {
position: absolute;
left: 44%;
color: #515151;
}
p.resource-subtext {
color: #AEAEAE;
}
#logout :hover {
color: #333;
}
.file-link:hover {
text-decoration:none;
}
.file-link p {
color: #818181;
font-size: 13pt;
}
.file-link p:hover {
color: #333!important;
}
.icon-size {
width: 60px;
height: 60px;
}

View file

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Mvc;
using WebsitePanel.Providers.HostedSolution;
@ -53,9 +54,9 @@ namespace WebsitePanel.WebDavPortal.CustomAttributes
if (settings.PasswordComplexityEnabled)
{
var symbolsCount = valueString.Count(Char.IsSymbol);
var numbersCount = valueString.Count(Char.IsDigit);
var upperLetterCount = valueString.Count(Char.IsUpper);
var symbolsCount = Regex.Matches(valueString, @"[~!@#$%^&*_\-+'\|\\(){}\[\]:;\""'<>,.?/]").Count;
if (upperLetterCount < settings.UppercaseLettersCount)
{

View file

@ -45,7 +45,7 @@ $.validator.addMethod("numberscount", function (value, element, count) {
$.validator.unobtrusive.adapters.addSingleVal("symbolscount", "count");
$.validator.addMethod("symbolscount", function (value, element, count) {
if (value.replace(/[a-zA-Z0-9_]/g, "").length < count) {
if (value.replace(/[^~!@#$%^&*_\-+'\|\\(){}\[\]:;\"'<>,.?/]/g, "").length < count) {
return false;
}

View file

@ -8,7 +8,8 @@
<div class="container row">
@using (Html.BeginRouteForm(AccountRouteNames.PasswordResetFinalStep, FormMethod.Post, new { @class = "form-horizontal user-password-reset-final-step bs-val-styles col-lg-9 col-lg-offset-3", id = "user-password-reset" }))
{
@Html.HiddenFor(x=>x.Login)
<div class="form-group">
<h3>@UI.PasswordReset</h3>
</div>

View file

@ -64,7 +64,7 @@
<p class="progress-text">@percent%</p>
</div>
</div>
<p>@ViewDataHelper.BytesToSize(resource.ContentLength) / @ViewDataHelper.BytesToSize(resource.AllocatedSpace)</p>
<p class="resource-subtext">@ViewDataHelper.BytesToSize(resource.ContentLength) / @ViewDataHelper.BytesToSize(resource.AllocatedSpace)</p>
}
<div class="selected-element-overlay">