Browse Source

menus

netfx-master siteserver-v6.9.1-beta
starlying 6 years ago
parent
commit
aaf5565b8c
  1. 3
      SiteServer.BackgroundPages/Core/TextUtility.cs
  2. 18
      SiteServer.CMS/Core/TabManager.cs
  3. 12
      SiteServer.CMS/Plugin/Apis/DatabaseApi.cs
  4. 9
      SiteServer.CMS/Plugin/PluginMenu.cs
  5. 37
      SiteServer.CMS/Plugin/PluginMenuManager.cs
  6. 1
      SiteServer.CMS/SiteServer.CMS.csproj

3
SiteServer.BackgroundPages/Core/TextUtility.cs

@ -8,6 +8,7 @@ using SiteServer.BackgroundPages.Cms;
using SiteServer.CMS.Core;
using SiteServer.CMS.DataCache;
using SiteServer.CMS.Model.Attributes;
using SiteServer.CMS.Plugin;
using SiteServer.CMS.Plugin.Impl;
using SiteServer.Plugin;
@ -206,7 +207,7 @@ namespace SiteServer.BackgroundPages.Core
return builder.ToString();
}
public static string GetCommandsHtml(SiteInfo siteInfo, List<Menu> pluginMenus, ContentInfo contentInfo, string pageUrl, string administratorName, bool isEdit)
public static string GetCommandsHtml(SiteInfo siteInfo, List<PluginMenu> pluginMenus, ContentInfo contentInfo, string pageUrl, string administratorName, bool isEdit)
{
var builder = new StringBuilder();

18
SiteServer.CMS/Core/TabManager.cs

@ -121,16 +121,13 @@ namespace SiteServer.CMS.Core
}
}
var menus = new Dictionary<string, SiteServer.Plugin.Menu>();
var menus = new List<PluginMenu>();
if (siteId > 0 && topId == string.Empty)
{
var siteMenus = PluginMenuManager.GetSiteMenus(siteId);
if (siteMenus != null)
{
foreach (var siteMenu in siteMenus)
{
menus.Add(siteMenu.Key, siteMenu.Value);
}
menus.AddRange(siteMenus);
}
}
else if (topId == "Plugins")
@ -138,17 +135,12 @@ namespace SiteServer.CMS.Core
var topMenus = PluginMenuManager.GetTopMenus();
if (topMenus != null)
{
foreach (var topMenu in topMenus)
{
menus.Add(topMenu.Key, topMenu.Value);
}
menus.AddRange(topMenus);
}
}
foreach (var pluginId in menus.Keys)
foreach (var menu in menus)
{
var menu = menus[pluginId];
var isExists = false;
foreach (var childTab in tabs)
{
@ -160,7 +152,7 @@ namespace SiteServer.CMS.Core
if (isExists) continue;
tabs.Add(GetPluginTab(menu, pluginId));
tabs.Add(GetPluginTab(menu, menu.PluginId));
//if (string.IsNullOrEmpty(menu.ParentId))
//{

12
SiteServer.CMS/Plugin/Apis/DatabaseApi.cs

@ -740,10 +740,6 @@ namespace SiteServer.CMS.Plugin.Apis
if (command == null) throw new ArgumentNullException(nameof(command));
#if (DEBUG)
DataProvider.RecordDao.RecordCommandExecute(command, nameof(ExecuteNonQuery));
#endif
int returnVal = command.ExecuteNonQuery();
if (mustCloseConnection)
@ -1169,10 +1165,6 @@ namespace SiteServer.CMS.Plugin.Apis
// Create a reader
#if (DEBUG)
DataProvider.RecordDao.RecordCommandExecute(command, nameof(ExecuteReader));
#endif
// Call ExecuteReader with the appropriate CommandBehavior
var dataReader = connectionOwnership == AdoConnectionOwnership.External
? command.ExecuteReader()
@ -1391,10 +1383,6 @@ namespace SiteServer.CMS.Plugin.Apis
mustCloseConnection = true;
}
#if (DEBUG)
DataProvider.RecordDao.RecordCommandExecute(command, nameof(ExecuteScalar));
#endif
// Execute the command & return the results
var retval = command.ExecuteScalar();

9
SiteServer.CMS/Plugin/PluginMenu.cs

@ -0,0 +1,9 @@
using SiteServer.Plugin;
namespace SiteServer.CMS.Plugin
{
public class PluginMenu: Menu
{
public string PluginId { get; set; }
}
}

37
SiteServer.CMS/Plugin/PluginMenuManager.cs

@ -54,14 +54,9 @@ namespace SiteServer.CMS.Plugin
return pageUrl;
}
private static string GetMenuId(string serviceId, int i)
public static List<PluginMenu> GetTopMenus()
{
return $"{serviceId}_{i}";
}
public static Dictionary<string, Menu> GetTopMenus()
{
var menus = new Dictionary<string, Menu>();
var menus = new List<PluginMenu>();
foreach (var service in PluginManager.Services)
{
@ -85,8 +80,8 @@ namespace SiteServer.CMS.Plugin
var i = 0;
foreach (var metadataMenu in metadataMenus)
{
var pluginMenu = GetMenu(service.PluginId, 0, 0, 0, metadataMenu, 0);
menus[GetMenuId(service.PluginId, ++i)] = pluginMenu;
var pluginMenu = GetMenu(service.PluginId, 0, 0, 0, metadataMenu, ++i);
menus.Add(pluginMenu);
}
}
catch (Exception ex)
@ -98,9 +93,9 @@ namespace SiteServer.CMS.Plugin
return menus;
}
public static Dictionary<string, Menu> GetSiteMenus(int siteId)
public static List<PluginMenu> GetSiteMenus(int siteId)
{
var menus = new Dictionary<string, Menu>();
var menus = new List<PluginMenu>();
foreach (var service in PluginManager.Services)
{
@ -124,8 +119,8 @@ namespace SiteServer.CMS.Plugin
var i = 0;
foreach (var metadataMenu in metadataMenus)
{
var pluginMenu = GetMenu(service.PluginId, siteId, 0, 0, metadataMenu, 0);
menus[GetMenuId(service.PluginId, ++i)] = pluginMenu;
var pluginMenu = GetMenu(service.PluginId, siteId, 0, 0, metadataMenu, ++i);
menus.Add(pluginMenu);
}
}
catch (Exception ex)
@ -137,9 +132,9 @@ namespace SiteServer.CMS.Plugin
return menus;
}
public static List<Menu> GetContentMenus(List<string> pluginIds, ContentInfo contentInfo)
public static List<PluginMenu> GetContentMenus(List<string> pluginIds, ContentInfo contentInfo)
{
var menus = new List<Menu>();
var menus = new List<PluginMenu>();
if (pluginIds == null || pluginIds.Count == 0) return menus;
foreach (var service in PluginManager.Services)
@ -162,10 +157,11 @@ namespace SiteServer.CMS.Plugin
}
if (metadataMenus.Count == 0) continue;
var i = 0;
foreach (var metadataMenu in metadataMenus)
{
var pluginMenu = GetMenu(service.PluginId, contentInfo.SiteId, contentInfo.ChannelId, contentInfo.Id, metadataMenu, 0);
var pluginMenu = GetMenu(service.PluginId, contentInfo.SiteId, contentInfo.ChannelId, contentInfo.Id, metadataMenu, ++i);
menus.Add(pluginMenu);
}
}
@ -244,15 +240,16 @@ namespace SiteServer.CMS.Plugin
// });
//}
private static Menu GetMenu(string pluginId, int siteId, int channelId, int contentId, Menu metadataMenu, int i)
private static PluginMenu GetMenu(string pluginId, int siteId, int channelId, int contentId, Menu metadataMenu, int i)
{
var menu = new Menu
var menu = new PluginMenu
{
Id = metadataMenu.Id,
Text = metadataMenu.Text,
Href = metadataMenu.Href,
Target = metadataMenu.Target,
IconClass = metadataMenu.IconClass
IconClass = metadataMenu.IconClass,
PluginId = pluginId
};
if (string.IsNullOrEmpty(menu.Id))

1
SiteServer.CMS/SiteServer.CMS.csproj

@ -323,6 +323,7 @@
<Compile Include="Plugin\PluginDatabaseTableManager.cs" />
<Compile Include="Plugin\PluginDebugger.cs" />
<Compile Include="Plugin\PluginManager.cs" />
<Compile Include="Plugin\PluginMenu.cs" />
<Compile Include="Plugin\PluginMenuManager.cs" />
<Compile Include="Plugin\PluginJobManager.cs" />
<Compile Include="Plugin\PluginStlParserManager.cs" />

Loading…
Cancel
Save