--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2012-10-02 10:50:50 -07:00
4 changed files with 28 additions and 18 deletions

View File

@@ -23,8 +23,7 @@ namespace Orchard.Core.Common.Services {
switch (context.Request.MethodName) {
case "metaWeblog.newPost":
MetaWeblogSetCustomCreatedDate(
GetId(context.Response),
Convert.ToString(context.Request.Params[0].Value),
Convert.ToInt32(context.Request.Params[0].Value),
Convert.ToString(context.Request.Params[1].Value),
Convert.ToString(context.Request.Params[2].Value),
(XRpcStruct) context.Request.Params[3].Value,
@@ -33,8 +32,7 @@ namespace Orchard.Core.Common.Services {
break;
case "metaWeblog.editPost":
MetaWeblogSetCustomCreatedDate(
GetId(context.Response),
Convert.ToString(context.Request.Params[0].Value),
Convert.ToInt32(context.Request.Params[0].Value),
Convert.ToString(context.Request.Params[1].Value),
Convert.ToString(context.Request.Params[2].Value),
(XRpcStruct) context.Request.Params[3].Value,
@@ -44,7 +42,7 @@ namespace Orchard.Core.Common.Services {
}
}
private void MetaWeblogSetCustomCreatedDate(int contentItemId, string appKey, string userName, string password, XRpcStruct content, bool publish, ICollection<IXmlRpcDriver> drivers) {
private void MetaWeblogSetCustomCreatedDate(int contentItemId, string userName, string password, XRpcStruct content, bool publish, ICollection<IXmlRpcDriver> drivers) {
if (!publish)
return;

View File

@@ -60,8 +60,7 @@ namespace Orchard.Tags.Services {
break;
case "metaWeblog.newPost":
MetaWeblogUpdateTags(
GetId(context.Response),
Convert.ToString(context.Request.Params[0].Value),
Convert.ToInt32(context.Request.Params[0].Value),
Convert.ToString(context.Request.Params[1].Value),
Convert.ToString(context.Request.Params[2].Value),
(XRpcStruct)context.Request.Params[3].Value,
@@ -70,8 +69,7 @@ namespace Orchard.Tags.Services {
break;
case "metaWeblog.editPost":
MetaWeblogUpdateTags(
GetId(context.Response),
Convert.ToString(context.Request.Params[0].Value),
Convert.ToInt32(context.Request.Params[0].Value),
Convert.ToString(context.Request.Params[1].Value),
Convert.ToString(context.Request.Params[2].Value),
(XRpcStruct)context.Request.Params[3].Value,
@@ -113,12 +111,6 @@ namespace Orchard.Tags.Services {
: null;
}
private static int GetId(XRpcMethodResponse response) {
return response != null && response.Params.Count == 1 && response.Params[0].Value is int
? Convert.ToInt32(response.Params[0].Value)
: 0;
}
private XRpcArray MetaWeblogGetTags(string appKey, string userName, string password) {
var user = _membershipService.ValidateUser(userName, password);
_authorizationService.CheckAccess(StandardPermissions.AccessAdminPanel, user, null);
@@ -139,7 +131,7 @@ namespace Orchard.Tags.Services {
return array;
}
private void MetaWeblogUpdateTags(int contentItemId, string appKey, string userName, string password, XRpcStruct content, bool publish, ICollection<IXmlRpcDriver> drivers) {
private void MetaWeblogUpdateTags(int contentItemId, string userName, string password, XRpcStruct content, bool publish, ICollection<IXmlRpcDriver> drivers) {
var user = _membershipService.ValidateUser(userName, password);
var rawTags = content.Optional<string>("mt_keywords");

View File

@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using System.Web.Routing;
using Orchard.DisplayManagement;
using Orchard.Mvc.Filters;
using Orchard.UI.Admin;
@@ -35,8 +36,17 @@ namespace Orchard.UI.Navigation {
IEnumerable<MenuItem> menuItems = _navigationManager.BuildMenu(menuName);
// adding query string parameters
var routeData = new RouteValueDictionary(filterContext.RouteData.Values);
var queryString = workContext.HttpContext.Request.QueryString;
if (queryString != null) {
foreach (var key in from string key in queryString.Keys where key != null && !routeData.ContainsKey(key) let value = queryString[key] select key) {
routeData[key] = queryString[key];
}
}
// Set the currently selected path
Stack<MenuItem> selectedPath = NavigationHelper.SetSelectedPath(menuItems, filterContext.RouteData);
Stack<MenuItem> selectedPath = NavigationHelper.SetSelectedPath(menuItems, routeData);
// Populate main nav
dynamic menuShape = _shapeFactory.Menu().MenuName(menuName);

View File

@@ -67,6 +67,16 @@ namespace Orchard.UI.Navigation {
/// <param name="currentRouteData">The current route data.</param>
/// <returns>A stack with the selection path being the last node the currently selected one.</returns>
public static Stack<MenuItem> SetSelectedPath(IEnumerable<MenuItem> menuItems, RouteData currentRouteData) {
return SetSelectedPath(menuItems, currentRouteData.Values);
}
/// <summary>
/// Identifies the currently selected path, starting from the selected node.
/// </summary>
/// <param name="menuItems">All the menuitems in the navigation menu.</param>
/// <param name="currentRouteData">The current route data.</param>
/// <returns>A stack with the selection path being the last node the currently selected one.</returns>
public static Stack<MenuItem> SetSelectedPath(IEnumerable<MenuItem> menuItems, RouteValueDictionary currentRouteData) {
if (menuItems == null)
return null;
@@ -78,7 +88,7 @@ namespace Orchard.UI.Navigation {
return selectedPath;
}
if (RouteMatches(menuItem.RouteValues, currentRouteData.Values)) {
if (RouteMatches(menuItem.RouteValues, currentRouteData)) {
menuItem.Selected = true;
selectedPath = new Stack<MenuItem>();