protected override void OnInit(EventArgs e)
        {
            if (int.TryParse(Request.QueryString["mid"], out ModuleID) && ModuleID == 0 && Request.QueryString.Get("guid") != null && !string.IsNullOrEmpty(Request.QueryString.Get("guid")))
            {
                ext = MenuManager.GetExtentions(false).Where(x => x.SettingGuid == Guid.Parse(Request.QueryString.Get("guid"))).FirstOrDefault();
                if (ext == null)
                {
                    ext = ToolbarManager.GetExtentions().Where(x => x.SettingGuid == Guid.Parse(Request.QueryString.Get("guid"))).FirstOrDefault();
                }

                if (ext == null)
                {
                    ext = AppManager.GetExtentions(AppType.None).Where(x => x.SettingGuid == Guid.Parse(Request.QueryString.Get("guid"))).FirstOrDefault();
                }

                if (ext == null)
                {
                    ext = Core.Managers.BlockManager.GetExtentions().Where(x => x.Guid == Guid.Parse(Request.QueryString.Get("guid"))).FirstOrDefault();
                }

                if (ext == null)
                {
                    ext = Core.Managers.ExtensionManager.Extentions.Where(x => x.SettingGuid == Guid.Parse(Request.QueryString.Get("guid"))).FirstOrDefault();
                }
            }
            base.OnInit(e);
            WebForms.LinkCSS(Page, "extensioncommoncss", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/StyleSheets/common.css"));
            FrameworkManager.Load(this, "FontAwesome");

            //For ThemeBuilder
            if (!string.IsNullOrEmpty(Request.QueryString["guid"]) && Request.QueryString["guid"].ToLower() == "726c5619-e193-4605-acaf-828576ba095a")
            {
                FrameworkManager.Load(this, "SpectrumColorPicker");
            }
        }
        protected override void OnInit(EventArgs e)
        {
            base.OnLoad(e);
            _ipAddress = UserRequestIPAddressController.Instance.GetUserRequestIPAddress(new HttpRequestWrapper(Request));

            if (PortalSettings.LoginTabId != -1 && PortalSettings.ActiveTab.TabID != PortalSettings.LoginTabId)
            {
                Response.Redirect(ServiceProvider.NavigationManager.NavigateURL(PortalSettings.LoginTabId) + Request.Url.Query);
            }

            string ResetToken = string.Empty;
            Dictionary <string, string> Attributes = new Dictionary <string, string>();

            if (HttpContext.Current.Request.QueryString["resetToken"] != null)
            {
                ResetToken = HttpContext.Current.Request.QueryString["resetToken"];
            }
            ThemeTemplateResponse response = Render(Attributes);

            if (response != null)
            {
                VJ_PasswordReset.Text = response.Markup;
                if (response.Scripts != null)
                {
                    foreach (string script in response.Scripts)
                    {
                        if (!string.IsNullOrEmpty(script))
                        {
                            WebForms.RegisterClientScriptInclude(Page, script, Page.ResolveUrl(script));
                        }
                    }
                }

                if (response.Styles != null)
                {
                    foreach (string style in response.Styles)
                    {
                        if (!string.IsNullOrEmpty(style))
                        {
                            WebForms.LinkCSS(Page, style, Page.ResolveUrl(style));
                        }
                    }
                }

                if (!string.IsNullOrEmpty(response.Script))
                {
                    WebForms.RegisterClientScriptBlock(Page, "BlocksScript", response.Script, true);
                }

                UserInfo user = UserController.GetUserByPasswordResetToken(PortalId, ResetToken);
                if (user == null)
                {
                    VJ_PasswordReset.Text = "<div class=\"alert alert-primary\" role=\"alert\">" + Localization.GetString("ResetLinkExpired", "~/Admin/Security/App_LocalResources/PasswordReset.ascx.resx") + "</div>";
                }
                else
                {
                    VJ_PasswordReset.Text = response.Markup.Replace("[Token_Username]", user.Username);
                }
            }
        }
Beispiel #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            JavaScript.RequestRegistration(CommonJs.jQuery, null, SpecificVersion.Latest);

            PageManager.Init(Page, PortalSettings);
            if (string.IsNullOrEmpty(Request.QueryString["mid"]) || (!string.IsNullOrEmpty(Request.QueryString["icp"]) && bool.Parse(Request.QueryString["icp"]) && (!string.IsNullOrEmpty(Request.QueryString["mid"]) && Request.QueryString["mid"] != "0")))
            {
                if (page != null && page.StateID.HasValue)
                {
                    HasReviewPermission = WorkflowManager.HasReviewPermission(page.StateID.Value, PortalSettings.UserInfo);
                }

                WebForms.LinkCSS(Page, "ThemeCSS", Page.ResolveUrl("~/Portals/" + PortalSettings.PortalId + "/vThemes/" + Core.Managers.ThemeManager.GetCurrentThemeName() + "/Theme.css"));
                WebForms.LinkCSS(Page, "SkinCSS", Page.ResolveUrl("~/Portals/_default/Skins/Vanjaro/Resources/css/skin.css"));

                //Skin js requried because using for openpopup update memeber Profile when user is registered user
                //VjDefaultPath used in Skin.js for loading icon.
                WebForms.RegisterClientScriptBlock(Page, "DefaultPath", "var VjThemePath='" + Page.ResolveUrl("~/Portals/_default/vThemes/" + Core.Managers.ThemeManager.GetCurrentThemeName()) + "'; var VjDefaultPath='" + Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Images/") + "'; var VjSitePath='" + Page.ResolveUrl("~/DesktopModules/Vanjaro/") + "';", true);
                ClientResourceManager.RegisterScript(Page, Page.ResolveUrl("~/Portals/_default/Skins/Vanjaro/Resources/js/skin.js"), 2, "DnnFormBottomProvider");
                ClientResourceManager.RegisterScript(Page, Page.ResolveUrl("~/DesktopModules/Vanjaro/Common/Frameworks/Bootstrap/4.5.0/js/bootstrap.min.js"), 1, "DnnFormBottomProvider");

                string DirectoryPath = System.Web.Hosting.HostingEnvironment.MapPath("~/Portals/_default/vThemes/" + Core.Managers.ThemeManager.GetCurrentThemeName() + "/js/");
                if ((TabPermissionController.HasTabPermission("EDIT") || (page != null && page.StateID.HasValue && HasReviewPermission)) && Directory.Exists(DirectoryPath))
                {
                    string script = "";

                    foreach (string file in Directory.GetFiles(DirectoryPath))
                    {
                        string FileName = Path.GetFileName(file);
                        if (!string.IsNullOrEmpty(FileName))
                        {
                            if (FileName.EndsWith(".js"))
                            {
                                script += File.ReadAllText(DirectoryPath + "/" + FileName);
                            }
                        }
                    }

                    if (!string.IsNullOrEmpty(script.Trim()))
                    {
                        WebForms.RegisterStartupScript(Page, "ThemeBlocks", "LoadThemeBlocks = function (grapesjs) { grapesjs.plugins.add('ThemeBlocks', (editor, opts = {}) => { " + script + "}); };", true);
                    }
                }
                else
                {
                    string ThemeJS = "~/Portals/_default/vThemes/" + Core.Managers.ThemeManager.GetCurrentThemeName() + "/theme.js";
                    if (File.Exists(System.Web.Hosting.HostingEnvironment.MapPath(ThemeJS)))
                    {
                        ClientResourceManager.RegisterScript(Page, Page.ResolveUrl(ThemeJS));
                    }
                }
            }
            else
            {
                WebForms.LinkCSS(Page, "EditCSS", Page.ResolveUrl("~/Portals/_default/Skins/Vanjaro/Resources/css/edit.css"));
            }

            ResetModulePanes();
        }
Beispiel #4
0
            public static void Init(Page Page, PortalSettings PortalSettings)
            {
                string Markup = GetReviewToastMarkup(PortalSettings);

                if (!string.IsNullOrEmpty(Markup) && string.IsNullOrEmpty(Page.Request.QueryString["icp"]) && string.IsNullOrEmpty(Page.Request.QueryString["guid"]))
                {
                    WebForms.RegisterStartupScript(Page, "WorkflowReview", "<script type=\"text/javascript\" vanjarocore=\"true\">" + Markup + "</script>", false);
                }
            }
        private void LocalizeGrapeJS()
        {
            string FilePath           = Server.MapPath("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Scripts/Localization/Localization.js");
            string FileText           = File.ReadAllText(FilePath);
            string SharedResourceFile = Server.MapPath("~/DesktopModules/Vanjaro/UXManager/Library/App_LocalResources/Shared.resx");

            FileText = new DNNLocalizationEngine(null, SharedResourceFile, Extension.ShowMissingKeysStatic).Parse(FileText);
            WebForms.RegisterStartupScript(Page, "LocalizeGrapeJS", FileText, true);
        }
 public static void LoadPlugin(Page Page, string Framework, string Plugin, string FilePath, bool Composite)
 {
     switch (Framework)
     {
     case "AngularJS":
     {
         WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", FrameworkManager.Request("AngularJS", "Plugins", Plugin + "/mnCommonService.css"));
         WebForms.RegisterClientScriptInclude(Page, "VJ-" + "AngularJS" + "-" + Plugin + "-" + FilePath, FrameworkManager.Request("AngularJS", "Plugins", Plugin + "/" + FilePath), Composite);
         break;
     }
     }
 }
Beispiel #7
0
 private void HandleAppSettings()
 {
     if (!string.IsNullOrEmpty(Request.QueryString["ctl"]))
     {
         string script = @"$(document).ready(function () {                               
                        $('.dnnActions').click(function () {
                            $(window.parent.document.body).find('#defaultModalnew [data-dismiss=" + @"modal" + @"]').click();
                        });
                        setTimeout(function () {$('[href=""#msSpecificSettings""]').click();},100);
                   });";
         WebForms.RegisterStartupScript(Page, "ModuleSettingScript", script, true);
     }
 }
Beispiel #8
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            Dictionary <string, string> Attributes = Core.Managers.BlockManager.GetGlobalConfigs(PortalController.Instance.GetCurrentSettings() as PortalSettings, "login");

            if (Attributes.ContainsKey("data-block-guid") && !string.IsNullOrEmpty(Attributes["data-block-guid"]))
            {
                ThemeTemplateResponse response = Core.Managers.BlockManager.Render(Attributes);
                if (response != null)
                {
                    VJ_Login.Text = response.Markup;
                    if (response.Scripts != null)
                    {
                        foreach (string script in response.Scripts)
                        {
                            if (!string.IsNullOrEmpty(script))
                            {
                                WebForms.RegisterClientScriptInclude(Page, script, Page.ResolveUrl(script));
                            }
                        }
                    }

                    if (response.Styles != null)
                    {
                        foreach (string style in response.Styles)
                        {
                            if (!string.IsNullOrEmpty(style))
                            {
                                WebForms.LinkCSS(Page, style, Page.ResolveUrl(style));
                            }
                        }
                    }

                    if (!string.IsNullOrEmpty(response.Script))
                    {
                        WebForms.RegisterClientScriptBlock(Page, "BlocksScript", response.Script, true);
                    }

                    VJ_Login.Text = response.Markup;
                }
            }
        }
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            var csqContext = WebForms.CreateFromRender(this.Page, base.Render, writer);


            if (csqContext.IsAsync)
            {
                foreach (var item in csqContext.AsyncPostbackData)
                {
                    Cq_RenderUpdatePanel(item.Dom, item.ID);
                }
            }
            else
            {
                Doc = csqContext.Dom;
                Cq_Render();
            }


            csqContext.Render();
        }
Beispiel #10
0
        private void MigratePage()
        {
            if (m2v.HasValue || !string.IsNullOrEmpty(Request.QueryString["m2vsetup"]))
            {
                WebForms.RegisterClientScriptBlock(Page, "m2vStyle", "<div class='style-wrapper'><style type=\"text/css\">#dnn_ContentPane >.DnnModule{display:none !important;}</style></div>", false);
            }

            //Only work when call is not from Iframe like page,role etc extension,
            if (string.IsNullOrEmpty(Request.QueryString["mid"]) && string.IsNullOrEmpty(Request.QueryString["icp"]))
            {
                if (m2v.HasValue && !string.IsNullOrEmpty(Request.QueryString["SkinSrc"]) && Request.QueryString["SkinSrc"].ToLower() == "[G]Skins/Vanjaro/Base".ToLower() && PortalSettings.UserInfo.IsInRole("Administrators"))
                {
                    Pages page = GetPage();
                    if (page != null && !page.IsPublished)
                    {
                        if (!m2v.Value && !page.Content.Contains("data-m2v"))
                        {
                            HtmlDocument html = new HtmlDocument();
                            html.LoadHtml(page.Content.ToString());
                            page.Content = MigrateManager.MigrateInjectBlocks(PortalSettings, html);
                            PageManager.UpdatePage(page, PortalSettings.UserInfo.UserID);
                            Response.Redirect(NavigationManager.NavigateURL(PortalSettings.ActiveTab.TabID, "", "m2v=true", "skinsrc=[g]skins/vanjaro/base", "containersrc=[g]containers/vanjaro/base"));
                        }

                        // Redirect if Page already migrated
                        if (page.Content.ToString().Contains("data-m2v") && !m2v.Value)
                        {
                            Response.Redirect(NavigationManager.NavigateURL(PortalSettings.ActiveTab.TabID, "", "m2v=true", "skinsrc=[g]skins/vanjaro/base", "containersrc=[g]containers/vanjaro/base"));
                        }
                        else
                        {
                            if (!(!string.IsNullOrEmpty(Request.QueryString["pv"]) && Request.QueryString["pv"] == "true"))
                            {
                                WebForms.RegisterStartupScript(Page, "MigratePage", "<script type=\"text/javascript\" vanjarocore=\"true\">" + MigrateManager.GetMigratePageToastMarkup(Page) + "</script> <style type=\"text/css\">" + MigrateManager.GetMigratePageCSS(Page) + "</style>", false);
                            }
                        }
                    }
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            WebForms.RegisterStartupScript(Page, App.Name + "-UIEngineAngularBootstrapPath", "<script>var " + App.Name + "_UIEngineAngularBootstrapPath ='" + UIEngineAngularBootstrapPath + "'; var " + App.Name + "_UITemplatePath = '" + AppTemplatePath + "';</script>", false);

            //Register App JS
            if (!IsPostBack)
            {
                WebForms.RegisterStartupScriptInclude(Page, App.Name + "-AppJS", Page.ResolveUrl(ScriptHandler + "?appname=" + App.Name.ToLower() + "&portalid=" + PortalId.ToString() + "&moduleid=" + ModuleId.ToString()));


                Dictionary <string, object> appProperties = new Dictionary <string, object>
                {
                    { "AppName", App },
                    { "AppTemplatePath", Page.ResolveUrl(AppTemplatePath) },
                    { "FrameworkTemplatePath", Page.ResolveUrl(FrameworkTemplatePath) },
                    { "AngularTemplates", AngularViews },
                    { "ShowMissingKeys", ShowMissingKeys.ToString().ToLower() },
                    { "ResourceFilePath", AppResourceFilePath },
                    { "AppConfigJS", AppConfigJS },
                    { "AppJS", AppJSPath },
                    { "Dependencies", FrameworkManager.GetDependenciesModuleNames(Dependencies) }
                };

                Application["app-" + App.Name.ToLower()] = appProperties;

                InstallScheduler();
            }

            //Register Angular Template Paths
            WebForms.RegisterClientScriptBlock(Page, "AngularTemplates", "var mnAngularTemplatePath = { };", true);
            WebForms.RegisterStartupScript(Page, App.Name + "-TemplatePath", "mnAngularTemplatePath['" + App.Name + "'] = '" + Page.ResolveUrl(AppTemplatePath) + "';", true);

            //Register APP CSS
            if (!IsPostBack && File.Exists(Server.MapPath(AppCSSPath)))
            {
                WebForms.LinkCSS(Page, App.Name + "-CSS", Page.ResolveUrl(AppCSSPath), true);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["m2v"] == null)
            {
                m2v = null;
            }
            else
            {
                m2v = Convert.ToBoolean(Request.QueryString["m2v"]);
            }

            if (IsAllowed())
            {
                if (string.IsNullOrEmpty(Request.QueryString["ctl"]) && (string.IsNullOrEmpty(Request.QueryString["icp"]) || Convert.ToBoolean(Request.QueryString["icp"]) == false))
                {
                    if (string.IsNullOrEmpty(Request.QueryString["uxmode"]))
                    {
                        Literal lt = new Literal();
                        IDictionary <string, object> dynObjects = new ExpandoObject() as IDictionary <string, object>;
                        dynObjects.Add("Setting", GetBaseModel());
                        string Template = RazorEngineManager.RenderTemplate("VanjaroUXManager", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/"), "Base", dynObjects);
                        Template = new DNNLocalizationEngine(null, Server.MapPath("~/DesktopModules/Vanjaro/UXManager/Library/App_LocalResources/Shared.resx"), ShowMissingKeys).Parse(Template);
                        lt.Text  = Template;
                        Controls.Add(lt);
                    }

                    string DirectoryPath = System.Web.Hosting.HostingEnvironment.MapPath("~/DesktopModules/Vanjaro/UXManager/Library/Resources/tui/");
                    if (Directory.Exists(DirectoryPath))
                    {
                        foreach (string file in Directory.GetFiles(DirectoryPath))
                        {
                            string FileName = Path.GetFileName(file);
                            if (!string.IsNullOrEmpty(FileName))
                            {
                                if (FileName.EndsWith(".js"))
                                {
                                    WebForms.RegisterClientScriptInclude(Page, FileName.Replace(".", ""), Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/tui/" + FileName), false);
                                }
                                else
                                {
                                    WebForms.LinkCSS(Page, FileName.Replace(".", ""), Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/tui/" + FileName), false);
                                }
                            }
                        }
                    }

                    WebForms.LinkCSS(Page, "UXManagerAppCss", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/StyleSheets/app.css"));
                    WebForms.LinkCSS(Page, "GrapesJsCss", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Scripts/GrapesJs/css/grapes.min.css"));
                    WebForms.LinkCSS(Page, "GrapickJsCss", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Scripts/GrapesJs/css/grapick.min.css"));
                    WebForms.RegisterClientScriptInclude(Page, "GrapesJsJs", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Scripts/uxmanager.min.js"), false);
                    WebForms.LinkCSS(Page, "GrapesJsPanelCss", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Scripts/jsPanel/jspanel.min.css"));
                    WebForms.LinkCSS(Page, "GrapesJspluginCss", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Scripts/GrapesJsManagers/css/uxmanager.css"));
                    WebForms.LinkCSS(Page, "FontawesomeV4Css", Page.ResolveUrl("~/DesktopModules/Vanjaro/UXManager/Library/Resources/Scripts/GrapesJs/css/fontawesome/v4.css"));

                    if (!IsAllowed())
                    {
                        WebForms.RegisterClientScriptBlock(Page, "MenuSettingsBlocks", "$(document).ready(function(){$('[href=\"#MenuSettings\"]').click();$('#mode-switcher').remove();setTimeout(function(){$('.gjs-cv-canvas__frames').css('pointer-events','none');}, 100); });", true);
                    }

                    LocalizeGrapeJS();

                    FrameworkManager.Load(this, "FontAwesome");
                }
                string NavigateURL  = PageManager.GetCurrentTabUrl(PortalSettings);
                string ClientScript = "var AppMenus=" + JsonConvert.SerializeObject(AppManager.GetAll(AppType.Module)) + "; var m2vPageTabUrl='" + NavigateURL + "'; var CurrentTabUrl ='" + NavigateURL + "'; var IsAdmin=" + PortalSettings.UserInfo.IsInRole("Administrators").ToString().ToLower() + ";";
                WebForms.RegisterClientScriptBlock(Page, "GrapesJsAppsExts", ClientScript, true);

                if (TabPermissionController.HasTabPermission("EDIT") && !Request.QueryString.AllKeys.Contains("mid"))
                {
                    string OpenPopup = string.Empty;
                    if (m2v.HasValue && !m2v.Value && (Vanjaro.Core.Managers.PageManager.GetPages(PortalSettings.ActiveTab.TabID).Count == 0))
                    {
                        OpenPopup = "#/choosetemplate";
                    }
                    else if (Request.QueryString["m2vsetup"] != null && Request.QueryString["m2vsetup"] == "page")
                    {
                        OpenPopup = "#detail";
                    }

                    if (!string.IsNullOrEmpty(OpenPopup))
                    {
                        NavigateURL = PageManager.GetCurrentTabUrl(PortalSettings, "&mid=0&icp=true&guid=10E56C75-548E-4A10-822E-52E6AA2AB45F" + OpenPopup);
                        WebForms.RegisterStartupScript(Page, "m2v", "<script type=\"text/javascript\" vanjarocore=\"true\">OpenPopUp(event, 800,'right','Choose Template', '" + NavigateURL + "')</script>", false);
                    }
                }
            }
        }
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            //WebForms.InitURLLibrary(this);

            //Request Services Framework
            ServicesFramework.Instance.RequestAjaxScriptSupport();
            ServicesFramework.Instance.RequestAjaxAntiForgerySupport();

            //Request jQuery & UI Support
            JavaScript.RequestRegistration(CommonJs.jQuery);

            if (Dependencies.Contains(Frameworks.jQueryUI.ToString()))
            {
                JavaScript.RequestRegistration(CommonJs.jQueryUI);
                WebForms.LinkCSS(Page, "JQuery" + "-JQuery-css", FrameworkManager.Request("JQuery", "css", "smoothness.css"));
            }

            WebForms.RegisterClientScriptInclude(Page, "DNNModal", Page.ResolveUrl("js/dnn.modalpopup.js"));

            //Load Angular JS
            FrameworkManager.Load(this, "AngularJS");

            //Load Angular Common Service
            FrameworkManager.LoadPlugin(this, "AngularJS", "mnCommonService", "mnCommonService.min.js");

            //Load Ckeditor
            if (Dependencies.Contains(AngularPlugins.CKEditor.ToString()))
            {
                FrameworkManager.Load(this, "Ckeditor", false);
            }

            //Load ColorPicker
            if (Dependencies.Contains(JavaScriptPlugins.ColorPicker.ToString()))
            {
                FrameworkManager.Load(this, "ColorPicker");
            }

            if (Dependencies.Contains(JavaScriptPlugins.ValidationJS.ToString()))
            {
                FrameworkManager.Load(this, "ValidationJS");
            }

            if (Dependencies.Contains(Frameworks.FontAwesome.ToString()))
            {
                FrameworkManager.Load(this, "FontAwesome");
            }

            if (Dependencies.Contains(JavaScriptPlugins.SpectrumColorPicker.ToString()))
            {
                FrameworkManager.Load(this, "SpectrumColorPicker");
            }

            if (Dependencies.Contains(JavaScriptPlugins.ContextMenu.ToString()))
            {
                FrameworkManager.Load(this, "ContextMenu");
            }

            //Load JsonViewer
            if (Dependencies.Contains(JavaScriptPlugins.JsonViewer.ToString()))
            {
                FrameworkManager.Load(this, "JsonViewer");
            }

            //Load JsonViewer
            if (Dependencies.Contains(JavaScriptPlugins.Barcode.ToString()))
            {
                FrameworkManager.Load(this, "Barcode");
            }

            if (Dependencies.Contains(JavaScriptPlugins.Notify.ToString()))
            {
                FrameworkManager.Load(this, "Notify");
            }

            if (Dependencies.Contains(JavaScriptPlugins.Numeral.ToString()))
            {
                FrameworkManager.Load(this, "Numeral");
            }

            if (Dependencies.Contains(JavaScriptPlugins.CodeMirror.ToString()))
            {
                FrameworkManager.Load(this, "CodeMirror");
            }

            if (Dependencies.Contains(JavaScriptPlugins.Toastr.ToString()))
            {
                FrameworkManager.Load(this, "Toastr");
            }

            if (Dependencies.Contains(JavaScriptPlugins.BootstrapDatepicker.ToString()))
            {
                FrameworkManager.Load(this, "BootstrapDatepicker");
            }

            if (Dependencies.Contains(AngularPlugins.Grid.ToString()))
            {
                FrameworkManager.LoadPlugin(this, "AngularJS", "SmartTable", "smart-table.min.js");
            }

            if (Dependencies.Contains(AngularPlugins.FileUpload.ToString()))
            {
                FrameworkManager.LoadPlugin(this, "AngularJS", "FileUpload", "ng-file-upload.min.js");
            }

            if (Dependencies.Contains(AngularPlugins.CSVImport.ToString()))
            {
                FrameworkManager.LoadPlugin(this, "AngularJS", "AngularCsvImport", "angular-csv-import.min.js");
                WebForms.RegisterClientScriptBlock(Page, "ImportHandler", "var mnImportHandler = '" + Page.ResolveUrl("DesktopModules/Vanjaro/Common/Handlers/ImportMapHandler.ashx?portalid=" + PortalId.ToString()) + "';", true);
            }


            WebForms.LinkCSS(Page, "AngularJS" + "-SweetAlert-css", FrameworkManager.Request("AngularJs", "Plugins", "SweetAlert/sweetalert.css"));
            FrameworkManager.LoadPlugin(this, "AngularJS", "SweetAlert", "alert.min.js");
            FrameworkManager.LoadPlugin(this, "AngularJS", "SweetAlert", "SweetAlert.min.js");


            if (Dependencies.Contains(AngularPlugins.TreeView.ToString()))
            {
                WebForms.LinkCSS(Page, "AngularJS" + "-TreeView-css", FrameworkManager.Request("AngularJs", "Plugins", "TreeView/angular-ui-tree.min.css"));
                FrameworkManager.LoadPlugin(this, "AngularJS", "TreeView", "angular-ui-tree.min.js");
            }

            if (Dependencies.Contains(AngularPlugins.Dialog.ToString()))
            {
                WebForms.LinkCSS(Page, "AngularJS" + "-Dialog-css", FrameworkManager.Request("AngularJs", "Plugins", "Dialog/ngDialog.min.css"));
                WebForms.LinkCSS(Page, "AngularJS" + "-Dialog-default-css", FrameworkManager.Request("AngularJs", "Plugins", "Dialog/ngDialog-theme-default.min.css"));
                FrameworkManager.LoadPlugin(this, "AngularJS", "Dialog", "ngDialog.min.js");
            }

            //Load Angular Loading Bar
            FrameworkManager.LoadPlugin(this, "AngularJS", "loading-bar", "loading-bar.min.js");
            WebForms.LinkCSS(Page, "AngularJS" + "-loading-css", FrameworkManager.Request("AngularJs", "Plugins", "loading-bar/loading-bar.min.css"));

            //Load Angular XEditable
            if (Dependencies.Contains(AngularPlugins.InlineEditor.ToString()))
            {
                FrameworkManager.LoadPlugin(this, "AngularJS", "x-editable", "js/xeditable.min.js");
                WebForms.LinkCSS(Page, "AngularJS" + "-xeditable-css", FrameworkManager.Request("AngularJs", "Plugins", "x-editable/css/xeditable.css"));
            }

            //Load Angular Tags Input
            if (Dependencies.Contains(AngularPlugins.Tags.ToString()))
            {
                FrameworkManager.LoadPlugin(this, "AngularJS", "TagsInput", "js/ng-tags-input.min.js");
                WebForms.LinkCSS(Page, "AngularJS" + "-tags-input-css", FrameworkManager.Request("AngularJs", "Plugins", "tagsinput/css/ng-tags-input.min.css"));
                WebForms.LinkCSS(Page, "AngularJS" + "-tags-input-bootstrap-css", FrameworkManager.Request("AngularJs", "Plugins", "tagsinput/css/ng-tags-input.bootstrap.min.css"));
            }

            //Load autocomplete
            if (Dependencies.Contains(AngularPlugins.AutoComplete.ToString()))
            {
                FrameworkManager.LoadPlugin(this, "AngularJS", "autocomplete", "js/autocomplete.min.js");
                WebForms.LinkCSS(Page, "AngularJS" + "-autocomplete-css", FrameworkManager.Request("AngularJs", "Plugins", "autocomplete/css/autocomplete.css"));
            }



            //Load Bootstrap
            FrameworkManager.Load(this, "Bootstrap");

            //Load WebAPI
            FrameworkManager.Load(this, "WebAPI");

            if (Dependencies.Contains(JavaScriptPlugins.ReCaptcha.ToString()))
            {
                FrameworkManager.Load(this, "ReCaptcha");
            }

            //Add Necessary Markup for Angular App
            Literal lit = new Literal
            {
                Text = "<div class=\"container-fluid " + App.Name + " \" id=\"" + App.Name + ModuleId.ToString() + "\" data-app-name=\"" + App.Name + " \" data-show-missing-keys=\"" + ShowMissingKeys.ToString().ToLower() + "\" data-roles=\"" + string.Join(",", AccessRoles) + "\" data-ModuleId=\"" + ModuleId.ToString() + "\" ng-controller=\"" + ControllerName + "\"><div ng-view=\"\" class=\"view-animate\"></div></div>"
            };

            Controls.Add(lit);

            if (!IsPostBack)
            {
                //Add Necessary Script to Initialize App
                string AngularAppScript = "angular.element(document).ready(function () {angular.bootstrap(document.getElementById(\"" + App.Name + ModuleId.ToString() + "\"), [\"" + App.Name + "\"]);});";
                WebForms.RegisterStartupScript(Page, "angular-init" + ModuleId.ToString(), AngularAppScript, true);

                //serialized form data into hidden field
                Dictionary <string, object> dicFormData = new Dictionary <string, object>();
                foreach (string key in HttpContext.Current.Request.Form.AllKeys)
                {
                    if (!string.IsNullOrEmpty(key))
                    {
                        if (!string.IsNullOrEmpty(HttpContext.Current.Request.Form[key]))
                        {
                            dicFormData.Add(key, HttpContext.Current.Request.Form[key].Replace("'", "&#39;"));
                        }
                        else
                        {
                            dicFormData.Add(key, HttpContext.Current.Request.Form[key]);
                        }
                    }
                }
                Controls.Add(new Literal()
                {
                    Text = "<input type=\"hidden\" name=\"hfFormData\" value=\'" + JsonConvert.SerializeObject(dicFormData) + "\'>"
                });
            }

            //serialized form data into hidden field
            //Dictionary<string, object> dicFormData = new Dictionary<string, object>();
            //foreach (string key in HttpContext.Current.Request.Form.AllKeys)
            //{
            //    dicFormData.Add(key, HttpContext.Current.Request.Form[key]);
            //}
            //this.Controls.Add(new Literal() { Text = "<input type=\"hidden\" name=\"hfFormData\" value=\'" + JsonConvert.SerializeObject(dicFormData) + "\'>" });


            //Literal s = new Literal();
            //lit.Text = "<script>" + AngularAppScript + "</script>";
            //this.Controls.Add(s);
        }
 protected override void OnLoad(EventArgs e)
 {
     base.OnLoad(e);
     WebForms.MakePageNonCacheable(this);
 }
Beispiel #15
0
        private void AddModulePanes()
        {
            //Get the Page Markup
            if (!IsAllowed())
            {
                if (FindControlRecursive(this, "ContentPane") == null)
                {
                    Controls.Add(ParseControl("<div id=\"ContentPane\" runat=\"server\" />"));
                }

                BuildPanes();
                return;
            }
            if (string.IsNullOrEmpty(Request.QueryString["ctl"]))
            {
                if (FindControlRecursive(this, "ContentPane") == null)
                {
                    Controls.Add(ParseControl("<div id=\"ContentPane\" runat=\"server\" />"));
                }

                Control ContentPane = FindControlRecursive(this, "ContentPane");

                StringBuilder sb = new StringBuilder();
                page = GetPage();
                if (page != null)
                {
                    InjectStyle(page);
                    if (page.ReplaceTokens)
                    {
                        sb.Append(new TokenReplace().ReplaceEnvironmentTokens(page.Content));
                    }
                    else
                    {
                        sb.Append(page.Content.ToString());
                    }
                }

                if (page != null && page.StateID.HasValue)
                {
                    HasReviewPermission = WorkflowManager.HasReviewPermission(page.StateID.Value, PortalSettings.UserInfo);
                }


                if (TabPermissionController.HasTabPermission("EDIT") || (page != null && page.StateID.HasValue && HasReviewPermission))
                {
                    FrameworkManager.Load(this, "jQuerySweetAlert");
                    FrameworkManager.Load(this, "Toastr");
                }

                if ((TabPermissionController.HasTabPermission("EDIT") || HasReviewPermission))
                {
                    WebForms.RegisterClientScriptBlock(Page, "ReviewGlobalVariable", GetReviewGlobalVariable(PortalSettings, HasReviewPermission), true);
                }

                if (!TabPermissionController.HasTabPermission("EDIT") && HasReviewPermission)
                {
                    FrameworkManager.Load(this, "FontAwesome");
                }

                if (TabPermissionController.HasTabPermission("EDIT"))
                {
                    try
                    {
                        string Fonts = JsonConvert.SerializeObject(Core.Managers.ThemeManager.GetDDLFonts("all"));
                        WebForms.RegisterClientScriptBlock(Page, "VJThemeFonts", "var VJFonts=" + Fonts + ";", true);
                    }
                    catch (Exception) { }
                }


                HtmlDocument html = new HtmlDocument();
                html.LoadHtml(sb.ToString());
                InjectBlocks(page, html);

                string ClassName = "vj-wrapper";
                if (!string.IsNullOrEmpty(Request.QueryString["m2v"]) && string.IsNullOrEmpty(Request.QueryString["pv"]))
                {
                    ClassName += " m2vDisplayNone";
                }
                ContentPane.Controls.Add(ParseControl("<div class=\"" + ClassName + "\"><div id=\"VjContentPane\">" + InjectModules(html.DocumentNode.OuterHtml) + "</div></div>"));
                InjectLoginAuthentication();
            }
            else
            {
                string FolderPath = HttpContext.Current.Server.MapPath("~/Portals/_default/vThemes/" + Core.Managers.ThemeManager.GetCurrentThemeName() + "/Layout.Edit.html");
                string Content    = System.IO.File.ReadAllText(FolderPath);
                Controls.Add(ParseControl(Content));
            }
            BuildPanes();
        }
        public static void Load(Page Page, string Framework, bool Composite)
        {
            switch (Framework)
            {
            case "AngularJS":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework, Request(Framework, "angular.min.js"), Composite);
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-route", Request(Framework, "angular-route.min.js"), Composite);
                break;
            }

            case "Bootstrap":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/bootstrap.min.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/bootstrap.min.js"), Composite);

                break;
            }

            case "FontAwesome":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/fontawesome.css"));

                break;
            }

            case "jQueryAutocomplete":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/jquery.auto-complete.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/jquery.auto-complete.min.js"), Composite);
                break;
            }

            case "Mark":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/mark.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/jquery.mark.min.js"), Composite);
                break;
            }

            case "jQueryMoment":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "moment.min.js"), Composite);
                break;
            }

            case "jQuerySweetAlert":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/sweetalert.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/sweetalert.min.js"), Composite);
                break;
            }

            case "WebAPI":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "webAPI.min.js"), Composite);
                break;
            }

            case "Ckeditor":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "ckeditor.js"), Composite);
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-angular-JS", Request(Framework, "ng-ckeditor.min.js"), Composite);
                break;
            }

            case "RazorCkeditor":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + "Ckeditor-JS", Request("Ckeditor", "ckeditor.js"), false);
                break;
            }

            case "ValidationJS":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "validate.min.js"), Composite);
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-init-JS", Request(Framework, "mnValidationService.min.js"), Composite);
                break;
            }

            case "ReCaptcha":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-recaptcha-JS", Request(Framework, "recaptcha.min.js"), Composite);
                break;
            }

            case "Numeral":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/numeral.min.js"), Composite);
                break;
            }

            case "Notify":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "notify.min.js"), Composite);
                break;
            }

            case "JqueryCookie":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "jquery.cookie.min.js"), Composite);
                break;
            }

            case "JsonViewer":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "jquery.json-viewer.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "jquery.json-viewer.js"), Composite);
                break;
            }

            case "ColorPicker":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "ColorPicker.min.js"), Composite);
                break;
            }

            case "Barcode":
            {
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "jquery-barcode.min.js"), Composite);
                break;
            }

            case "CodeMirror":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/codemirror.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/codemirror.js"), Composite);
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/css.js"), Composite);
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/htmlmixed.js"), Composite);
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/sql.js"), Composite);
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/placeholder.js"), Composite);
                break;
            }

            case "Toastr":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/toastr.min.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/toastr.min.js"), Composite);
                break;
            }

            case "ContextMenu":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/jquery.contextMenu.min.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/jquery.contextMenu.min.js"), Composite);

                break;
            }

            case "BootstrapDatepicker":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/bootstrap-datepicker.min.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/bootstrap-datepicker.min.js"), Composite);

                break;
            }

            case "SpectrumColorPicker":
            {
                WebForms.LinkCSS(Page, "VJ-" + Framework + "-CSS", Request(Framework, "css/spectrum.min.css"));
                WebForms.RegisterClientScriptInclude(Page, "VJ-" + Framework + "-JS", Request(Framework, "js/spectrum.min.js"), Composite);

                break;
            }

            default:
                break;
            }
        }
Beispiel #17
0
        private void InjectBlocks(Pages page, HtmlDocument html, bool ignoreFirstDiv = false, bool isGlobalBlockCall = false)
        {
            IEnumerable <HtmlNode> query = html.DocumentNode.Descendants("div");
            int ctr = 1;

            foreach (HtmlNode item in query.ToList())
            {
                if (ignoreFirstDiv && ctr == 1)
                {
                    ctr++;
                    continue;
                }
                if (item.Attributes.Where(a => a.Name == "data-block-guid").FirstOrDefault() != null && !string.IsNullOrEmpty(item.Attributes.Where(a => a.Name == "data-block-guid").FirstOrDefault().Value))
                {
                    Dictionary <string, string> Attributes = new Dictionary <string, string>();
                    foreach (HtmlAttribute attr in item.Attributes)
                    {
                        Attributes.Add(attr.Name, attr.Value);
                    }

                    ThemeTemplateResponse response = Core.Managers.BlockManager.Render(Attributes);
                    if (response != null)
                    {
                        if (item.Attributes.Where(a => a.Name == "data-block-type").FirstOrDefault().Value == "Logo" && page != null)
                        {
                            dynamic contentJSON = JsonConvert.DeserializeObject <dynamic>(page.ContentJSON.ToString());
                            BuildLogoBlock(contentJSON, response, item, isGlobalBlockCall);
                        }
                        else
                        {
                            item.InnerHtml = response.Markup;
                        }

                        if (item.Attributes.Where(a => a.Name == "data-block-type").FirstOrDefault().Value.ToLower() == "global")
                        {
                            HtmlDocument globalhtml = new HtmlDocument();
                            if (item.ChildNodes != null && item.ChildNodes.Count > 0 && item.ChildNodes[0].Attributes != null && item.ChildNodes[0].Attributes.Where(a => a.Name == "data-block-type").FirstOrDefault() != null && item.ChildNodes[0].Attributes.Where(a => a.Name == "data-block-type").FirstOrDefault().Value.ToLower() == "global")
                            {
                                globalhtml.LoadHtml(item.ChildNodes[0].InnerHtml);
                            }
                            else
                            {
                                globalhtml.LoadHtml(item.InnerHtml);
                            }

                            InjectBlocks(page, globalhtml, true, true);
                            item.InnerHtml = globalhtml.DocumentNode.OuterHtml;
                        }
                        else
                        {
                            HtmlDocument localhtml = new HtmlDocument();
                            localhtml.LoadHtml(item.InnerHtml);
                            if (localhtml.DocumentNode.ChildNodes.Count > 0)
                            {
                                item.InnerHtml = localhtml.DocumentNode.ChildNodes[0].InnerHtml;
                            }
                            else
                            {
                                item.InnerHtml = localhtml.DocumentNode.InnerHtml;
                            }
                        }

                        if (response.Scripts != null)
                        {
                            foreach (string script in response.Scripts)
                            {
                                if (!string.IsNullOrEmpty(script))
                                {
                                    WebForms.RegisterClientScriptInclude(Page, script, Page.ResolveUrl(script));
                                }
                            }
                        }

                        if (response.Styles != null)
                        {
                            foreach (string style in response.Styles)
                            {
                                if (!string.IsNullOrEmpty(style))
                                {
                                    WebForms.LinkCSS(Page, style, Page.ResolveUrl(style));
                                }
                            }
                        }

                        if (!string.IsNullOrEmpty(response.Script))
                        {
                            WebForms.RegisterClientScriptBlock(Page, "BlocksScript" + item.Attributes.Where(a => a.Name == "data-block-type").FirstOrDefault().Value, response.Script, true);
                        }

                        if (!string.IsNullOrEmpty(response.Style))
                        {
                            WebForms.RegisterClientScriptBlock(Page, "BlocksStyle" + item.Attributes.Where(a => a.Name == "data-block-type").FirstOrDefault().Value, "<style type=\"text/css\">" + response.Style + "</style>", false);
                        }
                    }
                }
            }
        }