コード例 #1
0
        public static string MoveModule(string moduleid, string pageid, string containername, int sortorder)
        {
            BaseService.CheckLoginAndLicense();

            string where = String.Format("FK_PAGE = '{0}' And ContainerName='{1}' AND OrderingNumber >= {2}", pageid, containername, sortorder);
            //where = String.Format("FK_PAGE = '{0}' And Container='{1}'", pageid, containername);
            BaseCollection <BaseModule> modules = BaseCollection <BaseModule> .Get(where, "OrderingNumber");

            foreach (BaseModule mod in modules)
            {
                mod.OrderingNumber++;
                mod.Save();
            }

            string returnValue = "";

            //moduleid = moduleid.Replace("bitModule", "");
            moduleid      = moduleid.Replace("bitModule", "").Replace("_", "-");
            containername = containername.Replace("bitContainer", "");

            BaseModule module = (BaseModule)BaseDomainObject.GetById <BaseModule>(new Guid(moduleid));

            module.ContainerName  = containername;
            module.OrderingNumber = sortorder;
            module.Save();
            returnValue = new ModuleService().GetUserControlContent(module);
            //moet naar container
            //updateOrderingNumber
            //alleen degene ophalen met een groter nummer dan sortorder

            PublishDependentPages(module);
            return(returnValue);
        }
コード例 #2
0
        public static string GetModuleContent(string id, string mode)
        {
            BaseService.CheckLoginAndLicense();
            string returnValue = "";

            //id = id.Replace("bitModule", "");
            id = id.Replace("bitModule", "").Replace("_", "-");

            BaseModule module = (BaseModule)BaseDomainObject.GetById <BaseModule>(new Guid(id));

            module = module.ConvertToType();
            if (mode == "edit")
            {
                returnValue = module.Content;
                Uri    uri           = System.Web.HttpContext.Current.Request.UrlReferrer;
                string currentDomain = uri.GetLeftPart(UriPartial.Authority);
                if (SessionObject.CurrentSite.DomainName != currentDomain)
                {
                    returnValue = HtmlHelper.ReplaceImageSources(returnValue, ModeEnum.Edit, SessionObject.CurrentSite);
                }
                if (module.HasAutorisation)
                {
                    BitAutorisationService.AutorisationClient client = BitAutorisationServiceHelper.GetClient();
                    BitplateUserGroup[] usergroups = client.GetUserGroupsByObjectPermission(module.ID);
                    module.AutorizedBitplateUserGroups = usergroups;

                    BitplateUser[] users = client.GetUsersByObjectPermission(module.ID);
                    module.AutorizedBitplateUsers = users;
                    if (!module.IsAutorized(SessionObject.CurrentBitplateUser))
                    {
                        throw new Exception("U heeft geen rechten voor deze module");
                    }
                }
            }
            else
            {
                //module.LoadPropsFromXmlFile();
                returnValue = new ModuleService().GetUserControlContent(module);
            }


            return(returnValue);
        }
コード例 #3
0
        public static object[] AddNewModule(string type, string pageid, string containername, int sortorder)
        {
            string Url = HttpContext.Current.Request.UrlReferrer.ToString();

            BaseService.CheckLoginAndLicense();
            //volgende waardes terug geven:
            //1. De inhoud gewrapt met module toolbar,
            //2: de specifieke javascripts
            //3: de moduleID
            object[]   returnValue = new object[3];
            BaseModule module      = null;

            type          = type.Replace("bitModule", "");
            containername = containername.Replace("bitContainer", "");

            module = ModuleLoader.Load(type);
            if (module != null)
            {
                module.Name = type;
                module.Site = SessionObject.CurrentSite;
                //module.Page = new CmsPage();
                //module.Page.ID = new Guid(pageid);
                if (Url.ToLower().Contains("/newsletters"))
                {
                    module.Newsletter    = new Newsletter();
                    module.Newsletter.ID = new Guid(pageid);
                }
                else
                {
                    module.Page    = new CmsPage();
                    module.Page.ID = new Guid(pageid);
                }
                module.ContainerName  = containername;
                module.OrderingNumber = sortorder;
                module.Content        = module.FirstContentSample;
                module.Settings.Add("UseCkeditor", true);
                //WORK ARROUND SETTINGS WILLEN NIET OPSLAAN.
                module.SettingsJsonString = module.Settings.ToJsonString();
                module.Save();


                //SetUnpublishedItem(module);

                returnValue[1] = module.IncludeScripts;
                returnValue[2] = module.ID.ToString();
                //moet naar container
                //updateOrderingNumber
                //alleen degene ophalen met een groter nummer dan sortorder
                string where = String.Format("FK_PAGE = '{0}' And ContainerName='{1}' AND OrderingNumber > {2}", pageid, containername, sortorder);
                BaseCollection <BaseModule> modules = BaseCollection <BaseModule> .Get(where);

                foreach (BaseModule mod in modules)
                {
                    mod.OrderingNumber++;
                    mod.Save();
                }
            }
            module.ForceReloadTags(); //De tags zijn al gegenereerd, maar dit is gebeurd voor het opslaan van de module. Hierdoor hebben de tags geen geldig control ID. Forceer hergeneratie van de tags. Dit is alleen bij nieuwe modules nodig.
            PublishModule(module);
            //Na toevoegen nieuwe ook pagina updaten
            PublishDependentPages(module);

            returnValue[0] = new ModuleService().GetUserControlContent(module);

            return(returnValue);
        }
コード例 #4
0
        public static string SaveModule(BaseModule module, string pageid)
        {
            string Url = HttpContext.Current.Request.UrlReferrer.ToString();

            BaseService.CheckLoginAndLicense();
            module.Site = SessionObject.CurrentSite;
            if (module.IsVisibleOnAllPages)
            {
                module.Template = null;
                module.Page     = null;
            }
            else if (module.IsVisibleOnAllPagesInLayout)
            {
                if (Url.ToLower().Contains("/newsletters"))
                {
                    Newsletter newletter = BaseObject.GetById <Newsletter>(new Guid(pageid));
                    module.Template = newletter.Template;
                }
                else
                {
                    CmsPage page = BaseObject.GetById <CmsPage>(new Guid(pageid));
                    module.Template = page.Template;
                }
            }
            else
            {
                if (Url.ToLower().Contains("/newsletters"))
                {
                    module.Newsletter    = new Newsletter();
                    module.Newsletter.ID = new Guid(pageid);
                }
                else
                {
                    module.Page    = new CmsPage();
                    module.Page.ID = new Guid(pageid);
                }
            }
            module.Save();
            //SetUnpublishedItem(module);
            module = module.ConvertToType();

            //lijst van ObjectPermissions wordt hier alleen als drager gebruikt.
            //in de licentieserver wordt deze lijst weer gesplitst en in 2 tabellen gezet
            BaseCollection <ObjectPermission> objPermissions = module.GetObjectPermissions4LicenseServer();

            if (objPermissions.Count > 0)
            {
                BitAutorisationService.AutorisationClient client = BitAutorisationServiceHelper.GetClient();
                client.SaveObjectPermissions(objPermissions);
            }
            //publiceren van pagina('s)
            PublishModule(module);
            PublishDependentPages(module);

            //Experimenteel caching reset
            //if (module.Page != null) BitCaching.RemoveItemFromCache(module.Page.ID.ToString());

            string returnValue = new ModuleService().GetUserControlContent(module);

            return(returnValue);
        }