public static string GetDescription(int siteId, ChannelInfo channelInfo) { var results = string.Empty; if (channelInfo != null) { results = ECrossSiteTransTypeUtils.GetText(channelInfo.Additional.TransType); if (channelInfo.Additional.TransType == ECrossSiteTransType.AllParentSite || channelInfo.Additional.TransType == ECrossSiteTransType.AllSite) { if (!string.IsNullOrEmpty(channelInfo.Additional.TransChannelNames)) { results += $"({channelInfo.Additional.TransChannelNames})"; } } else if (channelInfo.Additional.TransType == ECrossSiteTransType.SelfSite || channelInfo.Additional.TransType == ECrossSiteTransType.SpecifiedSite || channelInfo.Additional.TransType == ECrossSiteTransType.ParentSite) { SiteInfo siteInfo = null; if (channelInfo.Additional.TransType == ECrossSiteTransType.SelfSite) { siteInfo = SiteManager.GetSiteInfo(siteId); } else if (channelInfo.Additional.TransType == ECrossSiteTransType.SpecifiedSite) { siteInfo = SiteManager.GetSiteInfo(channelInfo.Additional.TransSiteId); } else { var parentSiteId = SiteManager.GetParentSiteId(siteId); if (parentSiteId != 0) { siteInfo = SiteManager.GetSiteInfo(parentSiteId); } } if (siteInfo != null && !string.IsNullOrEmpty(channelInfo.Additional.TransChannelIds)) { var nodeNameBuilder = new StringBuilder(); var channelIdArrayList = TranslateUtils.StringCollectionToIntList(channelInfo.Additional.TransChannelIds); foreach (int channelId in channelIdArrayList) { var theNodeInfo = ChannelManager.GetChannelInfo(siteInfo.Id, channelId); if (theNodeInfo != null) { nodeNameBuilder.Append(theNodeInfo.ChannelName).Append(","); } } if (nodeNameBuilder.Length > 0) { nodeNameBuilder.Length--; results += $"({siteInfo.SiteName}:{nodeNameBuilder})"; } } } } return(results); }
public static bool AfterContentAdded(SiteInfo siteInfo, ChannelInfo channelInfo, int contentId, bool isCrossSiteTrans, bool isAutomatic) { var isTranslated = false; if (isCrossSiteTrans && isAutomatic) { var targetSiteId = 0; if (channelInfo.Additional.TransType == ECrossSiteTransType.SpecifiedSite) { targetSiteId = channelInfo.Additional.TransSiteId; } else if (channelInfo.Additional.TransType == ECrossSiteTransType.SelfSite) { targetSiteId = siteInfo.Id; } else if (channelInfo.Additional.TransType == ECrossSiteTransType.ParentSite) { targetSiteId = SiteManager.GetParentSiteId(siteInfo.Id); } if (targetSiteId > 0) { var targetSiteInfo = SiteManager.GetSiteInfo(targetSiteId); if (targetSiteInfo != null) { var targetChannelIdArrayList = TranslateUtils.StringCollectionToIntList(channelInfo.Additional.TransChannelIds); if (targetChannelIdArrayList.Count > 0) { foreach (var targetChannelId in targetChannelIdArrayList) { CrossSiteTransUtility.TransContentInfo(siteInfo, channelInfo, contentId, targetSiteInfo, targetChannelId); isTranslated = true; } } } } } foreach (var service in PluginManager.Services) { try { service.OnContentAddCompleted(new ContentEventArgs(siteInfo.Id, channelInfo.Id, contentId)); } catch (Exception ex) { LogUtils.AddErrorLog(service.PluginId, ex, nameof(service.OnContentAddCompleted)); } } return(isTranslated); }
public static bool IsCrossSiteTrans(SiteInfo siteInfo, ChannelInfo channelInfo) { var isCrossSiteTrans = false; if (channelInfo != null && channelInfo.Additional.TransType != ECrossSiteTransType.None) { var transType = channelInfo.Additional.TransType; if (transType != ECrossSiteTransType.None) { if (transType == ECrossSiteTransType.AllParentSite) { var parentSiteId = SiteManager.GetParentSiteId(siteInfo.Id); if (parentSiteId != 0) { isCrossSiteTrans = true; } } else if (transType == ECrossSiteTransType.SelfSite) { isCrossSiteTrans = true; } else if (transType == ECrossSiteTransType.AllSite) { isCrossSiteTrans = true; } else if (transType == ECrossSiteTransType.SpecifiedSite) { if (channelInfo.Additional.TransSiteId > 0) { var theSiteInfo = SiteManager.GetSiteInfo(channelInfo.Additional.TransSiteId); if (theSiteInfo != null) { isCrossSiteTrans = true; } } } else if (transType == ECrossSiteTransType.ParentSite) { var parentSiteId = SiteManager.GetParentSiteId(siteInfo.Id); if (parentSiteId != 0) { isCrossSiteTrans = true; } } } } return(isCrossSiteTrans); }
public static void LoadSiteIdDropDownList(DropDownList siteIdDropDownList, SiteInfo siteInfo, int channelId) { siteIdDropDownList.Items.Clear(); var channelInfo = ChannelManager.GetChannelInfo(siteInfo.Id, channelId); if (channelInfo.Additional.TransType == ECrossSiteTransType.SelfSite || channelInfo.Additional.TransType == ECrossSiteTransType.SpecifiedSite || channelInfo.Additional.TransType == ECrossSiteTransType.ParentSite) { int theSiteId; if (channelInfo.Additional.TransType == ECrossSiteTransType.SelfSite) { theSiteId = siteInfo.Id; } else if (channelInfo.Additional.TransType == ECrossSiteTransType.SpecifiedSite) { theSiteId = channelInfo.Additional.TransSiteId; } else { theSiteId = SiteManager.GetParentSiteId(siteInfo.Id); } if (theSiteId > 0) { var theSiteInfo = SiteManager.GetSiteInfo(theSiteId); if (theSiteInfo != null) { var listitem = new ListItem(theSiteInfo.SiteName, theSiteInfo.Id.ToString()); siteIdDropDownList.Items.Add(listitem); } } } else if (channelInfo.Additional.TransType == ECrossSiteTransType.AllParentSite) { var siteIdList = SiteManager.GetSiteIdList(); var allParentSiteIdList = new List <int>(); SiteManager.GetAllParentSiteIdList(allParentSiteIdList, siteIdList, siteInfo.Id); foreach (var psId in siteIdList) { if (psId == siteInfo.Id) { continue; } var psInfo = SiteManager.GetSiteInfo(psId); var show = psInfo.IsRoot || allParentSiteIdList.Contains(psInfo.Id); if (show) { var listitem = new ListItem(psInfo.SiteName, psId.ToString()); if (psInfo.IsRoot) { listitem.Selected = true; } siteIdDropDownList.Items.Add(listitem); } } } else if (channelInfo.Additional.TransType == ECrossSiteTransType.AllSite) { var siteIdList = SiteManager.GetSiteIdList(); foreach (var psId in siteIdList) { var psInfo = SiteManager.GetSiteInfo(psId); var listitem = new ListItem(psInfo.SiteName, psId.ToString()); if (psInfo.IsRoot) { listitem.Selected = true; } siteIdDropDownList.Items.Add(listitem); } } }