Merge with default

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2012-06-01 17:43:38 -07:00
62 changed files with 1595 additions and 622 deletions

View File

@@ -0,0 +1,39 @@
using System;
using NUnit.Framework;
using Orchard.ContentManagement;
using Orchard.ContentManagement.Aspects;
using Orchard.Core.Contents;
using Orchard.Data;
using Orchard.Roles.Models;
using Orchard.Roles.Services;
using Orchard.Security;
using Orchard.Security.Permissions;
using Orchard.Specs.Hosting.Orchard.Web;
using TechTalk.SpecFlow;
using Orchard.Localization.Services;
using System.Linq;
namespace Orchard.Specs.Bindings {
[Binding]
public class Settings : BindingBase {
[When(@"I have ""(.*)"" as the default culture")]
public void DefineDefaultCulture(string cultureName) {
var webApp = Binding<WebAppHosting>();
webApp.Host.Execute(() => {
using ( var environment = MvcApplication.CreateStandaloneEnvironment("Default") ) {
var orchardServices = environment.Resolve<IOrchardServices>();
var cultureManager = environment.Resolve<ICultureManager>();
var currentCultures = cultureManager.ListCultures();
if (!currentCultures.Contains(cultureName)) {
cultureManager.AddCulture(cultureName);
}
orchardServices.WorkContext.CurrentSite.SiteCulture = cultureName;
}
});
}
}
}

View File

@@ -176,6 +176,10 @@ namespace Orchard.Specs.Bindings {
WhenIGoTo(urlPath); WhenIGoTo(urlPath);
} }
[Given(@"I have the file ""(.*)"" in ""(.*)""")]
public void GivenIHaveFile(string sourceFileName, string destination) {
Host.CopyFile(sourceFileName, destination);
}
[When(@"I go to ""(.*)"" on host (.*)")] [When(@"I go to ""(.*)"" on host (.*)")]
public void WhenIGoToPathOnHost(string urlPath, string host) { public void WhenIGoToPathOnHost(string urlPath, string host) {

View File

@@ -214,6 +214,33 @@ namespace Orchard.Specs.Hosting {
sourceModule.Combine("Views").DeepCopy(targetModule.Combine("Views")); sourceModule.Combine("Views").DeepCopy(targetModule.Combine("Views"));
} }
public void CopyFile(string source, string destination) {
StackTrace st = new StackTrace(true);
Path origin = null;
foreach(var sf in st.GetFrames()) {
var sourceFile = sf.GetFileName();
if(String.IsNullOrEmpty(sourceFile)) {
continue;
}
var testOrigin = Path.Get(sourceFile).Parent.Combine(source);
if(testOrigin.Exists) {
origin = testOrigin;
break;
}
}
if(origin == null) {
throw new FileNotFoundException("File not found: " + source);
}
var target = _tempSite.Combine(destination);
Directory.CreateDirectory(target.DirectoryName);
File.Copy(origin, target);
}
private bool IsExtensionBinaryFile(Path path, string extensionName, ExtensionDeploymentOptions deploymentOptions) { private bool IsExtensionBinaryFile(Path path, string extensionName, ExtensionDeploymentOptions deploymentOptions) {
bool isValidExtension = IsAssemblyFile(path); bool isValidExtension = IsAssemblyFile(path);
if (!isValidExtension) if (!isValidExtension)

View File

@@ -127,6 +127,7 @@
<Compile Include="Bindings\BindingBase.cs" /> <Compile Include="Bindings\BindingBase.cs" />
<Compile Include="Bindings\CommandLine.cs" /> <Compile Include="Bindings\CommandLine.cs" />
<Compile Include="Bindings\ContentRights.cs" /> <Compile Include="Bindings\ContentRights.cs" />
<Compile Include="Bindings\Settings.cs" />
<Compile Include="Bindings\HtmlNodeExtensions.cs" /> <Compile Include="Bindings\HtmlNodeExtensions.cs" />
<Compile Include="Bindings\OrchardSiteFactory.cs" /> <Compile Include="Bindings\OrchardSiteFactory.cs" />
<Compile Include="Bindings\UsersPermissionsAndRoles.cs" /> <Compile Include="Bindings\UsersPermissionsAndRoles.cs" />

View File

@@ -3,19 +3,14 @@ using System.Globalization;
using Orchard.ContentManagement; using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers; using Orchard.ContentManagement.Drivers;
using Orchard.Core.Common.Models; using Orchard.Core.Common.Models;
using Orchard.Core.Shapes.Localization;
using Orchard.Localization; using Orchard.Localization;
namespace Orchard.Core.Common.DateEditor { namespace Orchard.Core.Common.DateEditor {
public class DateEditorDriver : ContentPartDriver<CommonPart> { public class DateEditorDriver : ContentPartDriver<CommonPart> {
private readonly IDateTimeLocalization _dateTimeLocalization;
private readonly Lazy<CultureInfo> _cultureInfo; private readonly Lazy<CultureInfo> _cultureInfo;
public DateEditorDriver( public DateEditorDriver(
IOrchardServices services, IOrchardServices services) {
IDateTimeLocalization dateTimeLocalization) {
_dateTimeLocalization = dateTimeLocalization;
T = NullLocalizer.Instance; T = NullLocalizer.Instance;
Services = services; Services = services;
@@ -62,8 +57,8 @@ namespace Orchard.Core.Common.DateEditor {
// date and time are formatted using the same patterns as DateTimePicker is, preventing other cultures issues // date and time are formatted using the same patterns as DateTimePicker is, preventing other cultures issues
var createdLocal = TimeZoneInfo.ConvertTimeFromUtc(part.CreatedUtc.Value, Services.WorkContext.CurrentTimeZone); var createdLocal = TimeZoneInfo.ConvertTimeFromUtc(part.CreatedUtc.Value, Services.WorkContext.CurrentTimeZone);
model.CreatedDate = createdLocal.ToString(_dateTimeLocalization.ShortDateFormat.Text); model.CreatedDate = createdLocal.ToString("d", _cultureInfo.Value);
model.CreatedTime = createdLocal.ToString(_dateTimeLocalization.ShortTimeFormat.Text); model.CreatedTime = createdLocal.ToString("t", _cultureInfo.Value);
} }
} }
@@ -74,10 +69,9 @@ namespace Orchard.Core.Common.DateEditor {
DateTime createdUtc; DateTime createdUtc;
string parseDateTime = String.Concat(model.CreatedDate, " ", model.CreatedTime); string parseDateTime = String.Concat(model.CreatedDate, " ", model.CreatedTime);
var dateTimeFormat = _dateTimeLocalization.ShortDateFormat + " " + _dateTimeLocalization.ShortTimeFormat;
// use current culture // use current culture
if (DateTime.TryParseExact(parseDateTime, dateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out createdUtc)) { if (DateTime.TryParse(parseDateTime, _cultureInfo.Value, DateTimeStyles.None, out createdUtc)) {
// the date time is entered locally for the configured timezone // the date time is entered locally for the configured timezone
part.CreatedUtc = TimeZoneInfo.ConvertTimeToUtc(createdUtc, Services.WorkContext.CurrentTimeZone); part.CreatedUtc = TimeZoneInfo.ConvertTimeToUtc(createdUtc, Services.WorkContext.CurrentTimeZone);

View File

@@ -120,10 +120,16 @@ namespace Orchard.Core.Common.Drivers {
private void Add(string segment) { private void Add(string segment) {
if (string.IsNullOrEmpty(segment)) if (string.IsNullOrEmpty(segment))
return; return;
if (string.IsNullOrEmpty(_path))
if (string.IsNullOrEmpty(_path)) {
_path = segment; _path = segment;
else }
else if (segment.StartsWith("/")) {
_path = _path + segment;
}
else {
_path = _path + "/" + segment; _path = _path + "/" + segment;
}
} }
} }
} }

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The common module introduces content parts that are going to be used by most content types (common, body, identity). Description: The common module introduces content parts that are going to be used by most content types (common, body, identity).
FeatureDescription: Core content parts. FeatureDescription: Core content parts.
Dependencies: Settings Dependencies: Settings

View File

@@ -11,4 +11,10 @@ fieldset.createdutc-datetime input {
padding:1px; padding:1px;
text-align:center; text-align:center;
color:#666; color:#666;
}
input#DateEditor_CreatedDate {
width:10em;
}
input#DateEditor_CreatedTime {
width:7em;
} }

View File

@@ -1,11 +1,7 @@
@model Orchard.Core.Common.DateEditor.DateEditorViewModel @model Orchard.Core.Common.DateEditor.DateEditorViewModel
@{ @{
var DateEditor = Model; var DateEditor = Model;
Script.Require("jQueryUtils_TimePicker");
Script.Require("jQueryUI_DatePicker");
Style.Require("Common_DatePicker"); Style.Require("Common_DatePicker");
Style.Require("jQueryUtils_TimePicker");
Style.Require("jQueryUI_DatePicker");
} }
<fieldset class="createdutc-datetime"> <fieldset class="createdutc-datetime">
@Html.LabelFor(m => DateEditor.CreatedDate, T("Created On")) @Html.LabelFor(m => DateEditor.CreatedDate, T("Created On"))
@@ -18,6 +14,7 @@
@* generates the localization script *@ @* generates the localization script *@
@Display(New.DatePickerLocalization()) @Display(New.DatePickerLocalization())
@Display(New.TimePickerLocalization())
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
@@ -38,7 +35,7 @@
} }
}); });
$('#@Html.FieldIdFor(m => DateEditor.CreatedDate)').datepicker({ showAnim: "" }); $('#@Html.FieldIdFor(m => DateEditor.CreatedDate)').datepicker({ showAnim: "" });
$('#@Html.FieldIdFor(m => DateEditor.CreatedTime)').timepickr({ showAnim: "" }); $('#@Html.FieldIdFor(m => DateEditor.CreatedTime)').timepicker({ stepMinute: 5});
}) })
//]]> //]]>
</script> </script>

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The containers module introduces container and containable behaviors for content items. Description: The containers module introduces container and containable behaviors for content items.
FeatureDescription: Container and containable parts to enable parent-child relationships between content items. FeatureDescription: Container and containable parts to enable parent-child relationships between content items.
Dependencies: Contents Dependencies: Contents

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The contents module enables the creation of custom content types. Description: The contents module enables the creation of custom content types.
Features: Features:
Contents Contents

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The dashboard module is providing the dashboard screen of the admininstration UI of the application. Description: The dashboard module is providing the dashboard screen of the admininstration UI of the application.
FeatureDescription: Standard admin dashboard. FeatureDescription: Standard admin dashboard.
Category: Core Category: Core

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The Feeds module is providing RSS feeds to content items. Description: The Feeds module is providing RSS feeds to content items.
FeatureDescription: RSS feeds for content items. FeatureDescription: RSS feeds for content items.
Category: Syndication Category: Syndication

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The navigation module creates and manages a simple navigation menu for the front-end of the application and allows you to add content items to the admin menu. Description: The navigation module creates and manages a simple navigation menu for the front-end of the application and allows you to add content items to the admin menu.
FeatureDescription: Menu management. FeatureDescription: Menu management.
Category: Core Category: Core

View File

@@ -30,6 +30,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The dashboard module is providing the reports screen of the application. Description: The dashboard module is providing the reports screen of the application.
FeatureDescription: Reports management. FeatureDescription: Reports management.
Category: Core Category: Core

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The scheduling module enables background task scheduling. Description: The scheduling module enables background task scheduling.
FeatureDescription: Scheduled background tasks. FeatureDescription: Scheduled background tasks.
Category: Core Category: Core

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The settings module creates site settings that other modules can contribute to. Description: The settings module creates site settings that other modules can contribute to.
FeatureDescription: Site settings. FeatureDescription: Site settings.
Category: Core Category: Core

View File

@@ -6,12 +6,14 @@ using Orchard.DisplayManagement;
using Orchard.Localization; using Orchard.Localization;
using Orchard.Mvc.Html; using Orchard.Mvc.Html;
using Orchard.Services; using Orchard.Services;
using System.Globalization;
namespace Orchard.Core.Shapes { namespace Orchard.Core.Shapes {
public class DateTimeShapes : IDependency { public class DateTimeShapes : IDependency {
private readonly IClock _clock; private readonly IClock _clock;
private readonly IDateTimeLocalization _dateTimeLocalization; private readonly IDateTimeLocalization _dateTimeLocalization;
private readonly IWorkContextAccessor _workContextAccessor; private readonly IWorkContextAccessor _workContextAccessor;
private readonly Lazy<CultureInfo> _cultureInfo;
public DateTimeShapes( public DateTimeShapes(
IClock clock, IClock clock,
@@ -22,6 +24,8 @@ namespace Orchard.Core.Shapes {
_dateTimeLocalization = dateTimeLocalization; _dateTimeLocalization = dateTimeLocalization;
_workContextAccessor = workContextAccessor; _workContextAccessor = workContextAccessor;
T = NullLocalizer.Instance; T = NullLocalizer.Instance;
_cultureInfo = new Lazy<CultureInfo>(() => CultureInfo.GetCultureInfo(_workContextAccessor.GetContext().CurrentCulture));
} }
public Localizer T { get; set; } public Localizer T { get; set; }
@@ -52,7 +56,7 @@ namespace Orchard.Core.Shapes {
return DateTime(DateTimeUtc, _dateTimeLocalization.LongDateTimeFormat); return DateTime(DateTimeUtc, _dateTimeLocalization.LongDateTimeFormat);
} }
return new MvcHtmlString(ConvertToDisplayTime(DateTimeUtc).ToString(CustomFormat.Text)); return new MvcHtmlString(ConvertToDisplayTime(DateTimeUtc).ToString(CustomFormat.Text, _cultureInfo.Value));
} }
/// <summary> /// <summary>

View File

@@ -19,11 +19,6 @@ namespace Orchard.Core.Shapes.Localization {
/// </summary> /// </summary>
int FirstDay { get; } int FirstDay { get; }
/// <summary>
/// True if right-to-left language, false if left-to-right
/// </summary>
bool IsRTL { get; }
/// <summary> /// <summary>
/// True if the year select precedes month, false for month then year /// True if the year select precedes month, false for month then year
/// </summary> /// </summary>
@@ -88,19 +83,6 @@ namespace Orchard.Core.Shapes.Localization {
} }
} }
public bool IsRTL {
get {
var isRTL = false;
var t = T("isRTL: false").Text;
var parts = t.Split(':');
if (parts.Length == 2) {
Boolean.TryParse(parts[1], out isRTL);
}
return isRTL;
}
}
public bool ShowMonthAfterYear { public bool ShowMonthAfterYear {
get { get {
var showMonthAfterYear = false; var showMonthAfterYear = false;

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The shapes module contains core shape templates and display hooks. Description: The shapes module contains core shape templates and display hooks.
FeatureDescription: Core shape templates and display hooks. FeatureDescription: Core shape templates and display hooks.
Category: Core Category: Core

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The title module enables content items to have titles. Description: The title module enables content items to have titles.
FeatureDescription: Title content part. FeatureDescription: Title content part.
Category: Core Category: Core

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The XmlRpc module enables creation of contents from client applications such as LiveWriter. Description: The XmlRpc module enables creation of contents from client applications such as LiveWriter.
FeatureDescription: XML-RPC opt-in implementation. FeatureDescription: XML-RPC opt-in implementation.
Category: Content Publishing Category: Content Publishing

View File

@@ -6,7 +6,6 @@ using Orchard.ArchiveLater.ViewModels;
using Orchard.ContentManagement; using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers; using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Handlers; using Orchard.ContentManagement.Handlers;
using Orchard.Core.Shapes.Localization;
using Orchard.Localization; using Orchard.Localization;
using System.Globalization; using System.Globalization;
@@ -14,16 +13,18 @@ namespace Orchard.ArchiveLater.Drivers {
public class ArchiveLaterPartDriver : ContentPartDriver<ArchiveLaterPart> { public class ArchiveLaterPartDriver : ContentPartDriver<ArchiveLaterPart> {
private const string TemplateName = "Parts/ArchiveLater"; private const string TemplateName = "Parts/ArchiveLater";
private readonly IArchiveLaterService _archiveLaterService; private readonly IArchiveLaterService _archiveLaterService;
private readonly IDateTimeLocalization _dateTimeLocalization; private readonly Lazy<CultureInfo> _cultureInfo;
public ArchiveLaterPartDriver( public ArchiveLaterPartDriver(
IOrchardServices services, IOrchardServices services,
IArchiveLaterService archiveLaterService, IArchiveLaterService archiveLaterService) {
IDateTimeLocalization dateTimeLocalization) {
_archiveLaterService = archiveLaterService; _archiveLaterService = archiveLaterService;
_dateTimeLocalization = dateTimeLocalization;
T = NullLocalizer.Instance; T = NullLocalizer.Instance;
Services = services; Services = services;
// initializing the culture info lazy initializer
_cultureInfo = new Lazy<CultureInfo>(() => CultureInfo.GetCultureInfo(Services.WorkContext.CurrentCulture));
} }
public Localizer T { get; set; } public Localizer T { get; set; }
@@ -46,8 +47,8 @@ namespace Orchard.ArchiveLater.Drivers {
var model = new ArchiveLaterViewModel(part) { var model = new ArchiveLaterViewModel(part) {
ScheduledArchiveUtc = part.ScheduledArchiveUtc.Value, ScheduledArchiveUtc = part.ScheduledArchiveUtc.Value,
ArchiveLater = part.ScheduledArchiveUtc.Value.HasValue, ArchiveLater = part.ScheduledArchiveUtc.Value.HasValue,
ScheduledArchiveDate = part.ScheduledArchiveUtc.Value.HasValue ? localDate.Value.ToString(_dateTimeLocalization.ShortDateFormat.Text) : String.Empty, ScheduledArchiveDate = part.ScheduledArchiveUtc.Value.HasValue ? localDate.Value.ToString("d", _cultureInfo.Value) : String.Empty,
ScheduledArchiveTime = part.ScheduledArchiveUtc.Value.HasValue ? localDate.Value.ToString(_dateTimeLocalization.ShortTimeFormat.Text) : String.Empty ScheduledArchiveTime = part.ScheduledArchiveUtc.Value.HasValue ? localDate.Value.ToString("t", _cultureInfo.Value) : String.Empty
}; };
return ContentShape("Parts_ArchiveLater_Edit", return ContentShape("Parts_ArchiveLater_Edit",
@@ -61,10 +62,9 @@ namespace Orchard.ArchiveLater.Drivers {
if ( model.ArchiveLater ) { if ( model.ArchiveLater ) {
DateTime scheduled; DateTime scheduled;
var parseDateTime = String.Concat(model.ScheduledArchiveDate, " ", model.ScheduledArchiveTime); var parseDateTime = String.Concat(model.ScheduledArchiveDate, " ", model.ScheduledArchiveTime);
var dateTimeFormat = _dateTimeLocalization.ShortDateFormat + " " + _dateTimeLocalization.ShortTimeFormat;
// use an english culture as it is the one used by jQuery.datepicker by default // use an english culture as it is the one used by jQuery.datepicker by default
if (DateTime.TryParseExact(parseDateTime, dateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out scheduled)) { if (DateTime.TryParse(parseDateTime, _cultureInfo.Value, DateTimeStyles.None, out scheduled)) {
// the date time is entered locally for the configured timezone // the date time is entered locally for the configured timezone
var timeZone = Services.WorkContext.CurrentTimeZone; var timeZone = Services.WorkContext.CurrentTimeZone;

View File

@@ -3,8 +3,8 @@ Path: ArchiveLater
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The ArchiveLater module introduces scheduled archiving functionality. Description: The ArchiveLater module introduces scheduled archiving functionality.
FeatureDescription: Scheduled archiving. FeatureDescription: Scheduled archiving.
Category: Content Category: Content

View File

@@ -30,6 +30,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -7,10 +7,10 @@ html.dyn input.hinted {
font-style:italic; font-style:italic;
} }
input#ArchiveLater_ScheduledArchiveDate { input#ArchiveLater_ScheduledArchiveDate {
width:49%; width:10em;
} }
input#ArchiveLater_ScheduledArchiveTime { input#ArchiveLater_ScheduledArchiveTime {
width:43%; width:7em;
} }
.edit-item-sidebar fieldset.archive-later-datetime { .edit-item-sidebar fieldset.archive-later-datetime {

View File

@@ -1,11 +1,7 @@
@model Orchard.ArchiveLater.ViewModels.ArchiveLaterViewModel @model Orchard.ArchiveLater.ViewModels.ArchiveLaterViewModel
@using System.Web.Mvc.Html; @using System.Web.Mvc.Html;
@{ @{
Style.Require("jQueryUtils_TimePicker");
Style.Require("jQueryUI_DatePicker");
Style.Require("ArchiveLater_DatePicker"); Style.Require("ArchiveLater_DatePicker");
Script.Require("jQueryUI_DatePicker");
Script.Require("jQueryUtils_TimePicker");
} }
<fieldset class="archive-later-datetime"> <fieldset class="archive-later-datetime">
@@ -25,6 +21,7 @@
@* generates the localization script *@ @* generates the localization script *@
@Display(New.DatePickerLocalization()) @Display(New.DatePickerLocalization())
@Display(New.TimePickerLocalization())
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
@@ -42,7 +39,7 @@
} }
}); });
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveDate")').datepicker({ showAnim: "" }).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater")').attr("checked", "checked") }); $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveDate")').datepicker({ showAnim: "" }).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater")').attr("checked", "checked") });
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveTime")').timepickr().focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater")').attr("checked", "checked") }); $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledArchiveTime")').timepicker({ stepMinute: 5 }).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_ArchiveLater")').attr("checked", "checked") });
}) })
//]]> //]]>
</script> </script>

View File

@@ -43,7 +43,7 @@ namespace Orchard.Blogs.Commands {
public string FeedUrl { get; set; } public string FeedUrl { get; set; }
[OrchardSwitch] [OrchardSwitch]
public int Id { get; set; } public int BlogId { get; set; }
[OrchardSwitch] [OrchardSwitch]
public string Owner { get; set; } public string Owner { get; set; }
@@ -112,7 +112,7 @@ namespace Orchard.Blogs.Commands {
[CommandName("blog import")] [CommandName("blog import")]
[CommandHelp("blog import /BlogId:<id> /FeedUrl:<feed url> /Owner:<username>\r\n\t" + "Import all items from <feed url> into the blog specified by <id>")] [CommandHelp("blog import /BlogId:<id> /FeedUrl:<feed url> /Owner:<username>\r\n\t" + "Import all items from <feed url> into the blog specified by <id>")]
[OrchardSwitches("FeedUrl,Id,Owner")] [OrchardSwitches("FeedUrl,BlogId,Owner")]
public void Import() { public void Import() {
var owner = _membershipService.GetUser(Owner); var owner = _membershipService.GetUser(Owner);
@@ -132,10 +132,10 @@ namespace Orchard.Blogs.Commands {
throw new OrchardException(T("An error occured while loading the feed at {0}.", FeedUrl), ex); throw new OrchardException(T("An error occured while loading the feed at {0}.", FeedUrl), ex);
} }
var blog = _blogService.Get(Id,VersionOptions.Latest); var blog = _blogService.Get(BlogId, VersionOptions.Latest);
if ( blog == null ) { if ( blog == null ) {
Context.Output.WriteLine(T("Blog not found with specified Id: {0}", Id)); Context.Output.WriteLine(T("Blog not found with specified Id: {0}", BlogId));
return; return;
} }

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The Orchard Blogs module is implementing basic blogging features. Description: The Orchard Blogs module is implementing basic blogging features.
FeatureDescription: A simple web log. FeatureDescription: A simple web log.
Dependencies: Shapes, Common, Feeds, Navigation, Orchard.Widgets, Orchard.jQuery, Orchard.PublishLater Dependencies: Shapes, Common, Feeds, Navigation, Orchard.Widgets, Orchard.jQuery, Orchard.PublishLater

View File

@@ -30,6 +30,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The comments system implemented by this module can be applied to arbitrary Orchard content types, such as blogs and pages. It includes comment validation and spam protection through the Akismet service. Description: The comments system implemented by this module can be applied to arbitrary Orchard content types, such as blogs and pages. It includes comment validation and spam protection through the Akismet service.
Features: Features:
Orchard.Comments: Orchard.Comments:

View File

@@ -30,6 +30,5 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]
[assembly:SecurityRules(SecurityRuleSet.Level2)]

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: Contains designer tools to ease the Themes development process Description: Contains designer tools to ease the Themes development process
FeatureName: Shape Tracing FeatureName: Shape Tracing
Category: Designer Category: Designer

View File

@@ -88,7 +88,7 @@
<Content Include="Views\Web.config" /> <Content Include="Views\Web.config" />
<Content Include="Scripts\Web.config" /> <Content Include="Scripts\Web.config" />
<Content Include="Styles\Web.config" /> <Content Include="Styles\Web.config" />
<Content Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="Module.txt" /> <Content Include="Module.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -31,5 +31,5 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -3,8 +3,8 @@ Path: MediaPicker
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: Description for the module Description: Description for the module
Dependencies: Orchard.Media, Orchard.jQuery Dependencies: Orchard.Media, Orchard.jQuery
FeatureDescription: UI for browsing for, uploading, or selecting an image for an HTML editor. FeatureDescription: UI for browsing for, uploading, or selecting an image for an HTML editor.

View File

@@ -67,7 +67,7 @@
<Content Include="Views\Web.config" /> <Content Include="Views\Web.config" />
<Content Include="Scripts\Web.config" /> <Content Include="Scripts\Web.config" />
<Content Include="Styles\Web.config" /> <Content Include="Styles\Web.config" />
<Content Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="Module.txt" /> <Content Include="Module.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -31,6 +31,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -3,7 +3,6 @@ using System.Xml;
using Orchard.ContentManagement; using Orchard.ContentManagement;
using Orchard.ContentManagement.Drivers; using Orchard.ContentManagement.Drivers;
using Orchard.ContentManagement.Handlers; using Orchard.ContentManagement.Handlers;
using Orchard.Core.Shapes.Localization;
using Orchard.Mvc; using Orchard.Mvc;
using Orchard.PublishLater.Models; using Orchard.PublishLater.Models;
using Orchard.PublishLater.Services; using Orchard.PublishLater.Services;
@@ -18,7 +17,6 @@ namespace Orchard.PublishLater.Drivers {
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IPublishLaterService _publishLaterService; private readonly IPublishLaterService _publishLaterService;
private readonly IClock _clock; private readonly IClock _clock;
private readonly IDateTimeLocalization _dateTimeLocalization;
private readonly Lazy<CultureInfo> _cultureInfo; private readonly Lazy<CultureInfo> _cultureInfo;
@@ -26,12 +24,10 @@ namespace Orchard.PublishLater.Drivers {
IOrchardServices services, IOrchardServices services,
IHttpContextAccessor httpContextAccessor, IHttpContextAccessor httpContextAccessor,
IPublishLaterService publishLaterService, IPublishLaterService publishLaterService,
IClock clock, IClock clock) {
IDateTimeLocalization dateTimeLocalization) {
_httpContextAccessor = httpContextAccessor; _httpContextAccessor = httpContextAccessor;
_publishLaterService = publishLaterService; _publishLaterService = publishLaterService;
_clock = clock; _clock = clock;
_dateTimeLocalization = dateTimeLocalization;
T = NullLocalizer.Instance; T = NullLocalizer.Instance;
Services = services; Services = services;
@@ -62,8 +58,8 @@ namespace Orchard.PublishLater.Drivers {
var localDate = new Lazy<DateTime>( () => TimeZoneInfo.ConvertTimeFromUtc(part.ScheduledPublishUtc.Value.Value, Services.WorkContext.CurrentTimeZone)); var localDate = new Lazy<DateTime>( () => TimeZoneInfo.ConvertTimeFromUtc(part.ScheduledPublishUtc.Value.Value, Services.WorkContext.CurrentTimeZone));
var model = new PublishLaterViewModel(part) { var model = new PublishLaterViewModel(part) {
ScheduledPublishUtc = part.ScheduledPublishUtc.Value, ScheduledPublishUtc = part.ScheduledPublishUtc.Value,
ScheduledPublishDate = part.ScheduledPublishUtc.Value.HasValue && !part.IsPublished() ? localDate.Value.ToString(_dateTimeLocalization.ShortDateFormat.Text) : String.Empty, ScheduledPublishDate = part.ScheduledPublishUtc.Value.HasValue && !part.IsPublished() ? localDate.Value.ToString("d", _cultureInfo.Value) : String.Empty,
ScheduledPublishTime = part.ScheduledPublishUtc.Value.HasValue && !part.IsPublished() ? localDate.Value.ToString(_dateTimeLocalization.ShortTimeFormat.Text) : String.Empty, ScheduledPublishTime = part.ScheduledPublishUtc.Value.HasValue && !part.IsPublished() ? localDate.Value.ToString("t", _cultureInfo.Value) : String.Empty,
}; };
return ContentShape("Parts_PublishLater_Edit", return ContentShape("Parts_PublishLater_Edit",
@@ -80,10 +76,9 @@ namespace Orchard.PublishLater.Drivers {
DateTime scheduled; DateTime scheduled;
string parseDateTime = String.Concat(model.ScheduledPublishDate, " ", model.ScheduledPublishTime); string parseDateTime = String.Concat(model.ScheduledPublishDate, " ", model.ScheduledPublishTime);
var dateTimeFormat = _dateTimeLocalization.ShortDateFormat + " " + _dateTimeLocalization.ShortTimeFormat;
// use current culture // use current culture
if (DateTime.TryParseExact(parseDateTime, dateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out scheduled)) { if (DateTime.TryParse(parseDateTime, _cultureInfo.Value, DateTimeStyles.None, out scheduled)) {
// the date time is entered locally for the configured timezone // the date time is entered locally for the configured timezone
var timeZone = Services.WorkContext.CurrentTimeZone; var timeZone = Services.WorkContext.CurrentTimeZone;

View File

@@ -3,8 +3,8 @@ Path: PublishLater
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The PublishLater module introduces draft creation and scheduled publishing functionality. Description: The PublishLater module introduces draft creation and scheduled publishing functionality.
FeatureDescription: Draft creation and scheduled publishing. FeatureDescription: Draft creation and scheduled publishing.
Category: Content Category: Content

View File

@@ -30,6 +30,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -23,9 +23,9 @@ fieldset.publish-later-datetime input {
} }
input#PublishLater_ScheduledPublishDate { input#PublishLater_ScheduledPublishDate {
width:39%; width:10em;
margin:0 0 0 12px; margin:0 0 0 12px;
} }
input#PublishLater_ScheduledPublishTime { input#PublishLater_ScheduledPublishTime {
width:33%; width:7em;
} }

View File

@@ -1,10 +1,6 @@
@model Orchard.PublishLater.ViewModels.PublishLaterViewModel @model Orchard.PublishLater.ViewModels.PublishLaterViewModel
@{ @{
Script.Require("jQueryUtils_TimePicker");
Script.Require("jQueryUI_DatePicker");
Style.Require("PublishLater_DatePicker"); Style.Require("PublishLater_DatePicker");
Style.Require("jQueryUtils_TimePicker");
Style.Require("jQueryUI_DatePicker");
} }
<fieldset class="publish-later-datetime"> <fieldset class="publish-later-datetime">
<legend>@T("Publish")</legend> <legend>@T("Publish")</legend>
@@ -18,6 +14,7 @@
@* generates the localization script *@ @* generates the localization script *@
@Display(New.DatePickerLocalization()) @Display(New.DatePickerLocalization())
@Display(New.TimePickerLocalization())
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[ //<![CDATA[
@@ -40,7 +37,7 @@
}); });
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishDate")').datepicker({ showAnim: ""}).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") }); $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishDate")').datepicker({ showAnim: ""}).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") });
$('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishTime")').timepickr().focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") }); $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("ScheduledPublishTime")').timepicker({ stepMinute: 5}).focus(function () { $('#@ViewData.TemplateInfo.GetFullHtmlFieldId("Command_PublishLater")').attr("checked", "checked") });
}) })
//]]> //]]>
</script> </script>

View File

@@ -11,7 +11,7 @@
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/online.gif")" alt="@T("Online")" title="@T("The page is currently online")" /> </li> <li>@T("Published")&nbsp;&#124;&nbsp;</li> <li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/online.gif")" alt="@T("Online")" title="@T("The page is currently online")" /> </li> <li>@T("Published")&nbsp;&#124;&nbsp;</li>
} }
else { else {
<li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/offline.gif")" alt="@T("Offline")" title="@T("The page is currently offline")" /> <li> </li>@T("Not Published")&nbsp;&#124;&nbsp;</li> <li><img class="icon" src="@Href("~/Modules/Orchard.PublishLater/Content/Admin/images/offline.gif")" alt="@T("Offline")" title="@T("The page is currently offline")" /> </li> <li>@T("Not Published")&nbsp;&#124;&nbsp;</li>
} }
@* Does the page have a draft *@ @* Does the page have a draft *@

View File

@@ -2,8 +2,8 @@
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: Provides a mecanism to generate a static version of pages for being used during application warm up. Description: Provides a mecanism to generate a static version of pages for being used during application warm up.
FeatureDescription: Generates the static version of specific pages periodically. FeatureDescription: Generates the static version of specific pages periodically.
Category: Hosting Category: Hosting

View File

@@ -66,7 +66,7 @@
<Content Include="Views\Web.config" /> <Content Include="Views\Web.config" />
<Content Include="Scripts\Web.config" /> <Content Include="Scripts\Web.config" />
<Content Include="Styles\Web.config" /> <Content Include="Styles\Web.config" />
<Content Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="Module.txt" /> <Content Include="Module.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -31,6 +31,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -3,8 +3,8 @@ Path: Orchard.jQuery
AntiForgery: enabled AntiForgery: enabled
Author: The Orchard Team Author: The Orchard Team
Website: http://orchardproject.net Website: http://orchardproject.net
Version: 1.4.1 Version: 1.4.2
OrchardVersion: 1.4.1 OrchardVersion: 1.4.2
Description: The jQuery module contains the jQuery and related script libraries. Description: The jQuery module contains the jQuery and related script libraries.
FeatureDescription: A common location for jQuery and related script libraries. FeatureDescription: A common location for jQuery and related script libraries.
Category: Core Category: Core

View File

@@ -47,6 +47,7 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Content Include="Scripts\jquery.ui.timepicker.min.js" />
<Content Include="Scripts\jquery-1.7.1.js" /> <Content Include="Scripts\jquery-1.7.1.js" />
<Content Include="Scripts\jquery-1.7.1.min.js" /> <Content Include="Scripts\jquery-1.7.1.min.js" />
<Content Include="Scripts\jquery-ui.js" /> <Content Include="Scripts\jquery-ui.js" />
@@ -114,7 +115,7 @@
<Content Include="Scripts\jquery.ui.widget.js" /> <Content Include="Scripts\jquery.ui.widget.js" />
<Content Include="Scripts\jquery.ui.widget.min.js" /> <Content Include="Scripts\jquery.ui.widget.min.js" />
<Content Include="Scripts\jquery.utils.js" /> <Content Include="Scripts\jquery.utils.js" />
<Content Include="Scripts\ui.timepickr.js" /> <Content Include="Scripts\jquery.ui.timepicker.js" />
<Content Include="Styles\images\ui-bg_flat_0_aaaaaa_40x100.png" /> <Content Include="Styles\images\ui-bg_flat_0_aaaaaa_40x100.png" />
<Content Include="Styles\images\ui-bg_flat_75_ffffff_40x100.png" /> <Content Include="Styles\images\ui-bg_flat_75_ffffff_40x100.png" />
<Content Include="Styles\images\ui-bg_glass_55_fbf9ee_1x400.png" /> <Content Include="Styles\images\ui-bg_glass_55_fbf9ee_1x400.png" />
@@ -130,7 +131,7 @@
<Content Include="Styles\images\ui-icons_cd0a0a_256x240.png" /> <Content Include="Styles\images\ui-icons_cd0a0a_256x240.png" />
<Content Include="Styles\jquery-ui-1.8.18.custom.css" /> <Content Include="Styles\jquery-ui-1.8.18.custom.css" />
<Content Include="Styles\ui.datepicker.css" /> <Content Include="Styles\ui.datepicker.css" />
<Content Include="Styles\ui.timepickr.css" /> <Content Include="Styles\ui.timepicker.css" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj"> <ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj">
@@ -164,7 +165,9 @@
<Content Include="web.config" /> <Content Include="web.config" />
<Content Include="Views\Web.config" /> <Content Include="Views\Web.config" />
</ItemGroup> </ItemGroup>
<ItemGroup /> <ItemGroup>
<Content Include="Views\TimePickerLocalization.cshtml" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@@ -30,6 +30,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -30,6 +30,7 @@ namespace Orchard.jQuery {
manifest.DefineScript("jQueryUI_Slider").SetUrl("jquery.ui.slider.min.js", "jquery.ui.slider.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core", "jQueryUI_Widget", "jQueryUI_Mouse"); manifest.DefineScript("jQueryUI_Slider").SetUrl("jquery.ui.slider.min.js", "jquery.ui.slider.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core", "jQueryUI_Widget", "jQueryUI_Mouse");
manifest.DefineScript("jQueryUI_Tabs").SetUrl("jquery.ui.tabs.min.js", "jquery.ui.tabs.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core", "jQueryUI_Widget"); manifest.DefineScript("jQueryUI_Tabs").SetUrl("jquery.ui.tabs.min.js", "jquery.ui.tabs.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core", "jQueryUI_Widget");
manifest.DefineScript("jQueryUI_DatePicker").SetUrl("jquery.ui.datepicker.min.js", "jquery.ui.datepicker.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core"); manifest.DefineScript("jQueryUI_DatePicker").SetUrl("jquery.ui.datepicker.min.js", "jquery.ui.datepicker.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core");
manifest.DefineScript("jQueryUI_TimePicker").SetUrl("jquery.ui.timepicker.min.js", "jquery.ui.timepicker.js").SetVersion("1.0.0").SetDependencies("jQueryUI_Slider", "jQueryUI_DatePicker");
manifest.DefineScript("jQueryUI_Progressbar").SetUrl("jquery.ui.progressbar.min.js", "jquery.ui.progressbar.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core", "jQueryUI_Widget"); manifest.DefineScript("jQueryUI_Progressbar").SetUrl("jquery.ui.progressbar.min.js", "jquery.ui.progressbar.js").SetVersion("1.8.18").SetDependencies("jQueryUI_Core", "jQueryUI_Widget");
// Effects // Effects
@@ -48,15 +49,11 @@ namespace Orchard.jQuery {
manifest.DefineScript("jQueryEffects_Slide").SetUrl("jquery.effects.slide.min.js", "jquery.effects.slide.js").SetVersion("1.8.18").SetDependencies("jQueryEffects_Core"); manifest.DefineScript("jQueryEffects_Slide").SetUrl("jquery.effects.slide.min.js", "jquery.effects.slide.js").SetVersion("1.8.18").SetDependencies("jQueryEffects_Core");
manifest.DefineScript("jQueryEffects_Transfer").SetUrl("jquery.effects.transfer.min.js", "jquery.effects.transfer.js").SetVersion("1.8.18").SetDependencies("jQueryEffects_Core"); manifest.DefineScript("jQueryEffects_Transfer").SetUrl("jquery.effects.transfer.min.js", "jquery.effects.transfer.js").SetVersion("1.8.18").SetDependencies("jQueryEffects_Core");
// Utils
manifest.DefineScript("jQueryUtils").SetUrl("jquery.utils.js").SetDependencies("jQuery"); manifest.DefineScript("jQueryUtils").SetUrl("jquery.utils.js").SetDependencies("jQuery");
manifest.DefineScript("jQueryUtils_TimePicker").SetUrl("ui.timepickr.js").SetVersion("0.7.0a").SetDependencies("jQueryUtils", "jQueryUI_Core", "jQueryUI_Widget");
manifest.DefineStyle("jQueryUI_Orchard").SetUrl("jquery-ui-1.8.18.custom.css").SetVersion("1.8.18"); manifest.DefineStyle("jQueryUI_Orchard").SetUrl("jquery-ui-1.8.18.custom.css").SetVersion("1.8.18");
manifest.DefineStyle("jQueryUI_DatePicker").SetUrl("ui.datepicker.css").SetDependencies("jQueryUI_Orchard").SetVersion("1.7.2"); manifest.DefineStyle("jQueryUI_DatePicker").SetUrl("ui.datepicker.css").SetDependencies("jQueryUI_Orchard").SetVersion("1.7.2");
manifest.DefineStyle("jQueryUtils_TimePicker").SetUrl("ui.timepickr.css"); manifest.DefineStyle("jQueryUI_TimePicker").SetUrl("ui.timepicker.css").SetDependencies("jQueryUI_DatePicker").SetVersion("1.0.0");
} }
} }
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,420 +0,0 @@
/*
jQuery ui.timepickr - @VERSION
http://code.google.com/p/jquery-utils/
(c) Maxime Haineault <haineault@gmail.com>
http://haineault.com
MIT License (http://www.opensource.org/licenses/mit-license.php
Note: if you want the original experimental plugin checkout the rev 224
Dependencies
------------
- jquery.utils.js
- jquery.strings.js
- jquery.ui.js
*/
(function($) {
$.tpl('timepickr.menu', '<div class="ui-helper-reset ui-timepickr ui-widget ui-corner-all ui-widget-content" />'); //todo: (heskew) make the corner an option just like the items
$.tpl('timepickr.row', '<ol class="ui-timepickr-row ui-helper-clearfix" />');
$.tpl('timepickr.button', '<li class="{className:s}"><span class="ui-state-default">{label:s}</span></li>');
$.widget('ui.timepickr', {
options: {
convention: 12, // 24, 12
trigger: 'focus',
format12: '{h:02.d}:{m:02.d} {z}',
format24: '{h:02.d}:{m:02.d}',
hours: true,
prefix: ['AM', 'PM'],
suffix: ['AM', 'PM'],
prefixVal: false,
suffixVal: true,
rangeHour12: $.range(1, 13),
rangeHour24: [$.range(0, 12), $.range(12, 24)],
rangeMin: $.range(0, 60, 15),
rangeSec: $.range(0, 60, 15),
corners: 'all',
// plugins
core: true,
minutes: true,
seconds: false,
val: false,
updateLive: true,
resetOnBlur: true,
keyboardnav: true,
handle: false,
handleEvent: 'click'
},
plugins: {},
_create: function() {
this._dom = {
menu: $.tpl('timepickr.menu'),
row: $.tpl('timepickr.menu')
};
this._trigger('start');
this._trigger('initialized');
},
_trigger: function(type, e, ui) {
var ui = ui || this;
$.ui.plugin.call(this, type, [e, ui]);
return $.Widget.prototype._trigger.call(this, type, e, ui);
},
_createButton: function(i, format, className) {
var o = format && $.format(format, i) || i;
var cn = className && 'ui-timepickr-button ' + className || 'ui-timepickr-button';
return $.tpl('timepickr.button', { className: cn, label: o }).data('id', i)
.bind('mouseover', function() {
$(this).siblings().find('span')
.removeClass('ui-state-hover').end().end()
.find('span').addClass('ui-state-hover');
});
},
_addRow: function(range, format, className, insertAfter) {
var ui = this;
var btn = false;
var row = $.tpl('timepickr.row').bind('mouseover', function() {
$(this).next().show();
});
$.each(range, function(idx, val) {
ui._createButton(val, format || false).appendTo(row);
});
if (className) {
$(row).addClass(className);
}
if (this.options.corners) {
row.find('span').addClass('ui-corner-' + this.options.corners);
}
if (insertAfter) {
row.insertAfter(insertAfter);
}
else {
ui._dom.menu.append(row);
}
return row;
},
_setVal: function(val) {
val = val || this._getVal();
this.element.data('timepickr.initialValue', val);
this.element.val(this._formatVal(val));
if (this._dom.menu.is(':hidden')) {
this.element.trigger('change');
}
},
_getVal: function() {
var ols = this._dom.menu.find('ol');
function g(unit) {
var u = ols.filter('.' + unit).find('.ui-state-hover:first').text();
return u || ols.filter('.' + unit + 'li:first span').text();
}
return {
h: g('hours'),
m: g('minutes'),
s: g('seconds'),
a: g('prefix'),
z: g('suffix'),
f: this.options['format' + this.c],
c: this.c
};
},
_formatVal: function(ival) {
var val = ival || this._getVal();
if (!val.h) return;
val.c = this.options.convention;
val.f = val.c === 12 && this.options.format12 || this.options.format24;
return (new Time(val)).getTime();
},
blur: function() {
return this.element.blur();
},
focus: function() {
return this.element.focus();
},
show: function() {
this._trigger('show');
var pos = this.element.position();
var width = this.element.data('width');
var elementWidth = this.element.outerWidth();
var windowWidth = $(window).width() + $(window).scrollLeft();
if (width) {
this._dom.menu.css(
'left',
pos.left + width < windowWidth
? pos.left
: windowWidth - width
);
}
this._dom.menu.show(); //todo: (heskew) make show effect an option
},
hide: function() {
this._trigger('hide');
this._dom.menu.hide();
}
});
// These properties are shared accross every instances of timepickr
$.extend($.ui.timepickr, {
version: '@VERSION'
});
$.ui.plugin.add('timepickr', 'core', {
start: function(e, ui) {
var menu = ui._dom.menu;
var pos = ui.element.position();
//render off screen, to be repositioned by show()
menu.insertAfter(ui.element).css('left', '-9999em');
if (!$.boxModel) { // IE alignement fix
menu.css('margin-top', ui.element.height() + 8);
}
ui.element
.bind(ui.options.trigger, function() {
ui._dom.menu.find('ol:first').show();
ui.show();
ui._trigger('focus');
if (ui.options.trigger != 'focus') {
ui.element.focus();
}
ui._trigger('focus');
})
.bind('blur', function() {
ui.hide();
ui._trigger('blur');
});
menu.find('li').bind('mouseover.timepickr', function() {
ui._trigger('refresh');
});
},
initialized: function(e, ui) {
var menuItems = ui._dom.menu.find('ol');
var pos = ui.element.position();
//load up
ui.show();
menuItems.show();
//store width(s)
ui.element.data('width', ui._dom.menu.outerWidth());
//fix the width
ui._dom.menu.width(ui._dom.menu.width());
//hide
menuItems.hide();
ui.hide();
},
refresh: function(e, ui) {
// Realign each menu layers
ui._dom.menu.find('ol').each(function() {
var p = $(this).prev('ol');
try { // .. to not fuckup IE
$(this).css('left', p.position().left + p.find('.ui-state-hover').position().left);
} catch (e) { };
});
}
});
$.ui.plugin.add('timepickr', 'hours', {
start: function(e, ui) {
if (ui.options.convention === 24) {
// prefix is required in 24h mode
ui._dom.prefix = ui._addRow(ui.options.prefix, false, 'prefix');
// split-range
if ($.isArray(ui.options.rangeHour24[0])) {
var range = [];
$.merge(range, ui.options.rangeHour24[0]);
$.merge(range, ui.options.rangeHour24[1]);
ui._dom.hours = ui._addRow(range, '{0:0.2d}', 'hours');
ui._dom.hours.find('li').slice(ui.options.rangeHour24[0].length, -1).hide();
var lis = ui._dom.hours.find('li');
var show = [
function() {
lis.slice(ui.options.rangeHour24[0].length).hide().end()
.slice(0, ui.options.rangeHour24[0].length).show()
.filter(':visible:first').trigger('mouseover');
},
function() {
lis.slice(0, ui.options.rangeHour24[0].length).hide().end()
.slice(ui.options.rangeHour24[0].length).show()
.filter(':visible:first').trigger('mouseover');
}
];
ui._dom.prefix.find('li').bind('mouseover.timepickr', function() {
var index = ui._dom.menu.find('.prefix li').index(this);
show[index].call();
});
}
else {
ui._dom.hours = ui._addRow(ui.options.rangeHour24, '{0:0.2d}', 'hours');
ui._dom.hours.find('li').slice(12, -1).hide();
}
}
else {
ui._dom.hours = ui._addRow(ui.options.rangeHour12, '{0:0.2d}', 'hours');
// suffix is required in 12h mode
ui._dom.suffix = ui._addRow(ui.options.suffix, false, 'suffix');
}
}
});
$.ui.plugin.add('timepickr', 'minutes', {
start: function(e, ui) {
var p = ui._dom.hours && ui._dom.hours || false;
ui._dom.minutes = ui._addRow(ui.options.rangeMin, '{0:0.2d}', 'minutes', p);
}
});
$.ui.plugin.add('timepickr', 'seconds', {
start: function(e, ui) {
var p = ui._dom.minutes && ui._dom.minutes || false;
ui._dom.seconds = ui._addRow(ui.options.rangeSec, '{0:0.2d}', 'seconds', p);
}
});
$.ui.plugin.add('timepickr', 'val', {
start: function(e, ui) {
ui._setVal(ui.options.val);
}
});
$.ui.plugin.add('timepickr', 'updateLive', {
refresh: function(e, ui) {
ui._setVal();
}
});
$.ui.plugin.add('timepickr', 'resetOnBlur', {
start: function(e, ui) {
ui.element.data('timepickr.initialValue', ui._getVal());
ui._dom.menu.find('li > span').bind('mousedown.timepickr', function() {
ui.element.data('timepickr.initialValue', ui._getVal());
});
},
blur: function(e, ui) {
ui._setVal(ui.element.data('timepickr.initialValue'));
}
});
$.ui.plugin.add('timepickr', 'handle', {
start: function(e, ui) {
$(ui.options.handle).bind(ui.options.handleEvent + '.timepickr', function() {
ui.show();
});
}
});
$.ui.plugin.add('timepickr', 'keyboardnav', {
start: function(e, ui) {
ui.element
.bind('keydown', function(e) {
if ($.keyIs('enter', e)) {
ui._setVal();
ui.blur();
}
else if ($.keyIs('escape', e)) {
ui.blur();
}
});
}
});
var Time = function() { // arguments: h, m, s, c, z, f || time string
if (!(this instanceof arguments.callee)) {
throw Error("Constructor called as a function");
}
// arguments as literal object
if (arguments.length == 1 && $.isObject(arguments[0])) {
this.h = arguments[0].h || 0;
this.m = arguments[0].m || 0;
this.s = arguments[0].s || 0;
this.c = arguments[0].c && ($.inArray(arguments[0].c, [12, 24]) >= 0) && arguments[0].c || 24;
this.f = arguments[0].f || ((this.c == 12) && '{h:02.d}:{m:02.d} {z:02.d}' || '{h:02.d}:{m:02.d}');
this.z = arguments[0].z || 'am';
}
// arguments as string
else if (arguments.length < 4 && $.isString(arguments[1])) {
this.c = arguments[2] && ($.inArray(arguments[0], [12, 24]) >= 0) && arguments[0] || 24;
this.f = arguments[3] || ((this.c == 12) && '{h:02.d}:{m:02.d} {z:02.d}' || '{h:02.d}:{m:02.d}');
this.z = arguments[4] || 'am';
this.h = arguments[1] || 0; // parse
this.m = arguments[1] || 0; // parse
this.s = arguments[1] || 0; // parse
}
// no arguments (now)
else if (arguments.length === 0) {
// now
}
// standards arguments
else {
this.h = arguments[0] || 0;
this.m = arguments[1] || 0;
this.s = arguments[2] || 0;
this.c = arguments[3] && ($.inArray(arguments[3], [12, 24]) >= 0) && arguments[3] || 24;
this.f = this.f || ((this.c == 12) && '{h:02.d}:{m:02.d} {z:02.d}' || '{h:02.d}:{m:02.d}');
this.z = 'am';
}
return this;
};
Time.prototype.get = function(p, f, u) { return u && this.h || $.format(f, this.h); };
Time.prototype.getHours = function(unformated) { return this.get('h', '{0:02.d}', unformated); };
Time.prototype.getMinutes = function(unformated) { return this.get('m', '{0:02.d}', unformated); };
Time.prototype.getSeconds = function(unformated) { return this.get('s', '{0:02.d}', unformated); };
Time.prototype.setFormat = function(format) { return this.f = format; };
Time.prototype.getObject = function() { return { h: this.h, m: this.m, s: this.s, c: this.c, f: this.f, z: this.z }; };
Time.prototype.getTime = function() { return $.format(this.f, { h: this.h, m: this.m, z: this.z }); };
Time.prototype.parse = function(str) {
// 12h formats
if (this.c === 12) {
// Supported formats: (can't find any *official* standards for 12h..)
// - [hh]:[mm]:[ss] [zz] | [hh]:[mm] [zz] | [hh] [zz]
// - [hh]:[mm]:[ss] [z.z.] | [hh]:[mm] [z.z.] | [hh] [z.z.]
this.tokens = str.split(/\s|:/);
this.h = this.tokens[0] || 0;
this.m = this.tokens[1] || 0;
this.s = this.tokens[2] || 0;
this.z = this.tokens[3] || '';
return this.getObject();
}
// 24h formats
else {
// Supported formats:
// - ISO 8601: [hh][mm][ss] | [hh][mm] | [hh]
// - ISO 8601 extended: [hh]:[mm]:[ss] | [hh]:[mm] | [hh]
this.tokens = /:/.test(str) && str.split(/:/) || str.match(/[0-9]{2}/g);
this.h = this.tokens[0] || 0;
this.m = this.tokens[1] || 0;
this.s = this.tokens[2] || 0;
this.z = this.tokens[3] || '';
return this.getObject();
}
};
})(jQuery);

View File

@@ -0,0 +1,7 @@
/* css for timepicker */
.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
.ui-timepicker-div dl { text-align: left; }
.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; }
.ui-timepicker-div dl dd { margin: 0 10px 10px 65px; }
.ui-timepicker-div td { font-size: 90%; }
.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }

View File

@@ -1,50 +0,0 @@
.ui-timepickr {
display:none;
position:absolute;
padding:2px 2px 2px 0;
}
.ui-timepickr-row {
padding:0;
float:right;
clear:both;
overflow:hidden;
margin:2px 0;
display:none;
position:relative;
}
.ui-timepickr-button {
float:left;
margin:0;
padding:0;
list-style:none;
list-style-type:none;
}
.ui-timepickr-button span {
font-size:.7em;
padding:4px 6px 4px 6px;
margin-left:2px;
text-align:center;
cursor:pointer;
display:block;
text-align:center;
/* system theme (default) */
border-width:1px;
border-style:solid;
/*border-color:ThreeDLightShadow ThreeDShadow ThreeDShadow ThreeDLightShadow;
color:ButtonText;
background:ButtonFace;*/
}
.ui-timepickr-button span.ui-state-hover {
/*color:HighlightText;
background:Highlight;*/
}
.ui-state-hover span {
/*background:#c30;*/
}

View File

@@ -1,5 +1,20 @@
@using Orchard.Core.Shapes.Localization @using Orchard.Core.Shapes.Localization
@using System.Globalization
@{ @{
// prevent the shape from being rendered twice in a page
if (WorkContext.GetState<object>("DatePickerLocalization") != null) {
return;
}
WorkContext.SetState("DatePickerLocalization", new object());
Style.Require("jQueryUI_DatePicker");
Script.Require("jQueryUI_DatePicker");
var cultureInfo = CultureInfo.GetCultureInfo(WorkContext.CurrentCulture);
var dateTimeLocalization = WorkContext.Resolve<IDateTimeLocalization>(); var dateTimeLocalization = WorkContext.Resolve<IDateTimeLocalization>();
var monthNames = FormatJsList(dateTimeLocalization.MonthNames.Text); var monthNames = FormatJsList(dateTimeLocalization.MonthNames.Text);
var monthNamesShort = FormatJsList(dateTimeLocalization.MonthNamesShort.Text); var monthNamesShort = FormatJsList(dateTimeLocalization.MonthNamesShort.Text);
@@ -10,8 +25,8 @@
// convert .NET format into jQuery format // convert .NET format into jQuery format
// http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx // http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
// http://docs.jquery.com/UI/Datepicker/formatDate // http://docs.jquery.com/UI/Datepicker/formatDate
var dateFormat = dateTimeLocalization.ShortDateFormat.Text var dateFormat = cultureInfo.DateTimeFormat.ShortDatePattern
.Replace("yyyy", "YY") .Replace("yyyy", "YY")
.Replace("yy", "Y") .Replace("yy", "Y")
.Replace("Y", "y") .Replace("Y", "y")
@@ -42,10 +57,12 @@
weekHeader: '@T("Wk")', // Column header for week of the year weekHeader: '@T("Wk")', // Column header for week of the year
dateFormat: '@dateFormat', // See format options on parseDate dateFormat: '@dateFormat', // See format options on parseDate
firstDay: @dateTimeLocalization.FirstDay, // The first day of the week, Sun = 0, Mon = 1, ... firstDay: @dateTimeLocalization.FirstDay, // The first day of the week, Sun = 0, Mon = 1, ...
isRTL: @(dateTimeLocalization.IsRTL ? "true" : "false"), // True if right-to-left language, false if left-to-right isRTL: @(cultureInfo.TextInfo.IsRightToLeft ? "true" : "false"), // True if right-to-left language, false if left-to-right
showMonthAfterYear: @(dateTimeLocalization.ShowMonthAfterYear ? "true" : "false"), // True if the year select precedes month, false for month then year showMonthAfterYear: @(dateTimeLocalization.ShowMonthAfterYear ? "true" : "false"), // True if the year select precedes month, false for month then year
yearSuffix: '@dateTimeLocalization.YearSuffix' // Additional text to append to the year in the month headers yearSuffix: '@dateTimeLocalization.YearSuffix' // Additional text to append to the year in the month headers
}; };
$.datepicker.setDefaults($.datepicker.regional['']);
}) })
//]]> //]]>
</script> </script>

View File

@@ -0,0 +1,46 @@
@using Orchard.Core.Shapes.Localization
@using System.Globalization
@{
// prevent the shape from being rendered twice in a page
if (WorkContext.GetState<object>("TimePickerLocalization") != null) {
return;
}
WorkContext.SetState("TimePickerLocalization", new object());
Style.Require("jQueryUI_TimePicker");
Script.Require("jQueryUI_TimePicker");
var cultureInfo = CultureInfo.GetCultureInfo(WorkContext.CurrentCulture);
var dateTimeLocalization = WorkContext.Resolve<IDateTimeLocalization>();
var timeFormat = dateTimeLocalization.ShortTimeFormat.Text
.Replace("H", "h");
var ampm = dateTimeLocalization.ShortTimeFormat.Text.Contains("H") ? "false" : "true";
}
<script type="text/javascript">
//<![CDATA[
$(function() {
$.timepicker.regional[''] = {
timeOnlyTitle: '@T("Choose time")',
timeText: '@T("Time")',
hourText: '@T("Hour")',
minuteText: '@T("Minute")',
currentText: '@T("Now")', // Display text for current time link
closeText: '@T("Done")', // Display text for close link
timeFormat: '@timeFormat',
amNames: ['@cultureInfo.DateTimeFormat.AMDesignator', 'AM', 'A'],
pmNames: ['@cultureInfo.DateTimeFormat.PMDesignator', 'PM', 'P'],
ampm: @ampm
};
$.timepicker.setDefaults($.timepicker.regional['']);
})
//]]>
</script>

View File

@@ -31,6 +31,6 @@ using System.Security;
// //
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.4.1")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.4.1")]

View File

@@ -34,6 +34,6 @@ using System.Security;
// You can specify all the values or you can default the Revision and Build Numbers // You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]

View File

@@ -35,6 +35,6 @@ using System.Security;
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.4.1")] [assembly: AssemblyVersion("1.4.2")]
[assembly: AssemblyFileVersion("1.4.1")] [assembly: AssemblyFileVersion("1.4.2")]