private void cmdCustom_Click(object sender, EventArgs e) { var settings = ModuleContext.OpenContentSettings(); TemplateManifest template = settings.Template; string templateFolder = template.ManifestFolderUri.UrlFolder; string templateDir = Server.MapPath(templateFolder); string moduleDir = Server.MapPath(ModuleTemplateDirectory); if (!Directory.Exists(moduleDir)) { Directory.CreateDirectory(moduleDir); } foreach (var item in Directory.GetFiles(moduleDir)) { File.Delete(item); } foreach (var item in Directory.GetFiles(templateDir)) { File.Copy(item, moduleDir + Path.GetFileName(item)); } ModuleController mc = new ModuleController(); var newtemplate = new FileUri(ModuleTemplateDirectory, "schema.json"); mc.UpdateModuleSetting(ModuleId, "template", newtemplate.FilePath); ModuleContext.Settings["template"] = newtemplate.FilePath; settings = ModuleContext.OpenContentSettings(); InitEditor(settings.Template); }
private string GenerateOutputDetail(Page page, TemplateManifest templateManifest, TemplateFiles files, JToken dataJson, string settingsJson) { // detail template var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataJson != null) { var mf = new ModelFactorySingle(_renderinfo.Data, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current); mf.Detail = true; object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController.GetFastHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaTitle)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //page.Title MetaTitle = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaTitle, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaDescription)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageDescription(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model)); MetaDescription = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMeta)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageMeta(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model)); MetaOther = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model); } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } else { return(""); } } else { return(""); } }
private string ExecuteTemplate(Page page, TemplateManifest templateManifest, TemplateFiles files, FileUri templateUri, object model) { var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; string output; Stopwatch stopwatch = null; if (LogContext.IsLogActive) { var logKey = "Render template"; LogContext.Log(_module.ViewModule.ModuleID, logKey, "template", templateUri.FilePath); LogContext.Log(_module.ViewModule.ModuleID, logKey, "model", model); stopwatch = new Stopwatch(); stopwatch.Start(); } if (templateUri.Extension != ".hbs") { output = ExecuteRazor(templateUri, model); } else { HandlebarsEngine hbEngine = new HandlebarsEngine(); output = hbEngine.Execute(page, files, templateVirtualFolder, model); } if (stopwatch != null) { stopwatch.Stop(); var logKey = "Render template"; LogContext.Log(_module.ViewModule.ModuleID, logKey, "render time (ms)", stopwatch.ElapsedMilliseconds); stopwatch.Stop(); } return(output); }
private string GenerateListOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, IEnumerable <IDataItem> dataList, string settingsJson) { if (!string.IsNullOrEmpty(files.Template)) { FileUri templateUri = CheckFiles(templateManifest, files); if (dataList != null) { ModelFactoryMultiple mf = new ModelFactoryMultiple(dataList, settingsJson, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module); object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (!App.Services.CreateGlobalSettingsRepository(_module.PortalId).GetLegacyHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } } return(""); }
private string GenerateListOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, IEnumerable <IDataItem> dataList, string settingsJson) { var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataList != null) { ModelFactoryMultiple mf = new ModelFactoryMultiple(dataList, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current); object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController.GetFastHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } } return(""); }
private FileUri CheckFiles(TemplateManifest templateManifest, TemplateFiles files) { if (files == null) { throw new Exception("Manifest.json missing or incomplete"); } var templateUri = new FileUri(templateManifest.ManifestFolderUri, files.Template); if (!templateUri.FileExists) { throw new Exception("Template " + templateUri.UrlFilePath + " don't exist"); } if (files.PartialTemplates != null) { foreach (var partial in files.PartialTemplates) { var partialTemplateUri = new FileUri(templateManifest.ManifestFolderUri, partial.Value.Template); if (!partialTemplateUri.FileExists) { throw new Exception("PartialTemplate " + partialTemplateUri.UrlFilePath + " don't exist"); } } } return(templateUri); }
public static void Take(TemplateManifest manifestObject) { _driver = new CoreDriver(Config.ChromeBrowserUserProfilePath); var chromeInstance = _driver.Driver; InitializeBrowser(chromeInstance); var elementQueries = new List <BlockElement>(); foreach (var block in manifestObject.blocks) { foreach (var item in block.items) { var blockItem = new BlockElement { Element = chromeInstance.FindElement(By.CssSelector(item.query)), FileName = item.thumbnail }; elementQueries.Add(blockItem); } } TakeScreenShots(chromeInstance, elementQueries); CloseBrowser(); }
private void InitEditor(TemplateManifest template) { LoadFiles(template); var scriptFile = new FileUri(template.ManifestFolderUri.UrlFolder, scriptList.SelectedValue); DisplayFile(scriptFile); }
public HttpResponseMessage Post(string entity, [FromBody] JObject value) { // Add try { bool index = false; OpenContentSettings settings = ActiveModule.OpenContentSettings(); ModuleInfo module = ActiveModule; if (settings.ModuleId > 0) { ModuleController mc = new ModuleController(); module = mc.GetModule(settings.ModuleId, settings.TabId, false); } var manifest = settings.Template.Manifest; TemplateManifest templateManifest = settings.Template; index = settings.Template.Manifest.Index; string editRole = manifest.GetEditRole(); bool listMode = templateManifest != null && templateManifest.IsListTemplate; int createdByUserid = -1; var ds = DataSourceManager.GetDataSource(manifest.DataSource); var dsContext = new DataSourceContext() { ModuleId = module.ModuleID, TemplateFolder = settings.TemplateDir.FolderPath, Index = index, UserId = UserInfo.UserID, PortalId = module.PortalID, Config = manifest.DataSourceConfig }; if (!OpenContentUtils.HasEditPermissions(PortalSettings, ActiveModule, editRole, createdByUserid)) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } //var indexConfig = OpenContentUtils.GetIndexConfig(settings.Template.Key.TemplateDir); ds.Add(dsContext, value.Properties().First().Value as JObject); //if (json["form"]["ModuleTitle"] != null && json["form"]["ModuleTitle"].Type == JTokenType.String) //{ // string moduleTitle = json["form"]["ModuleTitle"].ToString(); // OpenContentUtils.UpdateModuleTitle(ActiveModule, moduleTitle); //} //else if (json["form"]["ModuleTitle"] != null && json["form"]["ModuleTitle"].Type == JTokenType.Object) //{ // if (json["form"]["ModuleTitle"][DnnUtils.GetCurrentCultureCode()] != null) // { // string moduleTitle = json["form"]["ModuleTitle"][DnnUtils.GetCurrentCultureCode()].ToString(); // OpenContentUtils.UpdateModuleTitle(ActiveModule, moduleTitle); // } //} return(Request.CreateResponse(HttpStatusCode.OK, "")); } catch (Exception exc) { Log.Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
private string GenerateOutputDetail(Page page, TemplateManifest templateManifest, TemplateFiles files, JToken dataJson, string settingsJson) { // detail template if (!string.IsNullOrEmpty(files.Template)) { FileUri templateUri = CheckFiles(templateManifest, files); if (dataJson != null) { var mf = new ModelFactorySingle(_renderinfo.Data, settingsJson, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module); mf.Detail = true; object model; if (templateUri.Extension != ".hbs") // razor { model = mf.GetModelAsDynamic(); } else // handlebars { if (!App.Services.CreateGlobalSettingsRepository(PortalSettings.Current.PortalId).GetLegacyHandlebars()) { model = mf.GetModelAsDictionary(); } else { model = mf.GetModelAsDynamic(); } } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaTitle)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //page.Title MetaTitle = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaTitle, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaDescription)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageDescription(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model)); MetaDescription = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMeta)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); //PageUtils.SetPageMeta(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model)); MetaOther = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model); } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } else { return(""); } } else { return(""); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { TemplateManifest template = ModuleContext.OpenContentSettings().Template; InitEditor(template); } }
public HttpResponseMessage Get(string entity) { try { OpenContentSettings settings = ActiveModule.OpenContentSettings(); ModuleInfo module = ActiveModule; if (settings.ModuleId > 0) { ModuleController mc = new ModuleController(); module = mc.GetModule(settings.ModuleId, settings.TabId, false); } var manifest = settings.Manifest; TemplateManifest templateManifest = settings.Template; if (manifest.AdditionalDataExists(entity)) { var dataManifest = manifest.AdditionalData[entity]; //string scope = AdditionalDataUtils.GetScope(dataManifest, PortalSettings.PortalId, ActiveModule.TabID, module.ModuleID, ActiveModule.TabModuleID); //var templateFolder = string.IsNullOrEmpty(dataManifest.TemplateFolder) ? settings.TemplateDir : settings.TemplateDir.ParentFolder.Append(dataManifest.TemplateFolder); //var fb = new FormBuilder(templateFolder); //JObject json = fb.BuildForm(entity); var res = new JObject(); int createdByUserid = -1; var ds = DataSourceManager.GetDataSource(manifest.DataSource); var dsContext = new DataSourceContext() { PortalId = PortalSettings.PortalId, TabId = ActiveModule.TabID, ModuleId = module.ModuleID, TabModuleId = ActiveModule.TabModuleID, UserId = UserInfo.UserID, TemplateFolder = settings.TemplateDir.FolderPath, Config = manifest.DataSourceConfig, //Options = reqOptions }; var dsItem = ds.GetData(dsContext, dataManifest.ScopeType, dataManifest.StorageKey ?? entity); if (dsItem != null) { var json = dsItem.Data; createdByUserid = dsItem.CreatedByUserId; JsonUtils.IdJson(json); res[entity] = json; } return(Request.CreateResponse(HttpStatusCode.OK, res)); } else { return(Get(entity, 0, 100, null, null)); } } catch (Exception exc) { Log.Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { TemplateManifest template = ModuleContext.OpenContentSettings().Template; InitEditor(template); } JavaScript.RequestRegistration(CommonJs.DnnPlugins); }
protected void cmdSaveDefault_Click(object sender, EventArgs e) { if (sourceList.SelectedValue == DATATYPE_DATA) { var module = OpenContentModuleConfig.Create(this.ModuleConfiguration, PortalSettings); TemplateManifest template = module.Settings.Template; if (template != null) { var dataFilename = template.MainTemplateUri().PhysicalFullDirectory + "\\data.json"; if (template.IsListTemplate) { string itemId = Request.QueryString["id"]; if (!string.IsNullOrEmpty(itemId)) { File.WriteAllText(dataFilename, txtSource.Text); } else { JArray lst = null; if (!string.IsNullOrEmpty(txtSource.Text)) { lst = JArray.Parse(txtSource.Text); if (lst.Count > 0) { File.WriteAllText(dataFilename, lst[0].ToString()); } } } } else { File.WriteAllText(dataFilename, txtSource.Text); } } } else if (sourceList.SelectedValue == DATATYPE_SETTINGS) { var module = OpenContentModuleConfig.Create(this.ModuleConfiguration, PortalSettings); TemplateManifest template = module.Settings.Template; var settingsFilename = template.MainTemplateUri().PhysicalFullDirectory + "\\" + template.Key.ShortKey + "-data.json"; File.WriteAllText(settingsFilename, txtSource.Text); } else if (sourceList.SelectedValue == DATATYPE_FILTER) { var module = OpenContentModuleConfig.Create(this.ModuleConfiguration, PortalSettings); TemplateManifest template = module.Settings.Template; var settingsFilename = template.MainTemplateUri().PhysicalFullDirectory + "\\" + "filter-data.json"; File.WriteAllText(settingsFilename, txtSource.Text); } else { //SaveAdditionalData(sourceList.SelectedValue); } }
public HttpResponseMessage Add(UpdateRequest req) { try { ModuleController mc = new ModuleController(); var requestModule = mc.GetModule(req.ModuleId, req.TabId, false); bool index = false; OpenContentSettings settings = requestModule.OpenContentSettings(); ModuleInfo module = requestModule; if (settings.ModuleId > 0) { module = mc.GetModule(settings.ModuleId, settings.TabId, false); } var manifest = settings.Template.Manifest; TemplateManifest templateManifest = settings.Template; index = settings.Template.Manifest.Index; string editRole = manifest.GetEditRole(); bool listMode = templateManifest != null && templateManifest.IsListTemplate; int createdByUserid = -1; OpenContentController ctrl = new OpenContentController(); if (listMode) { if (!OpenContentUtils.HasEditPermissions(PortalSettings, module, editRole, createdByUserid)) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var indexConfig = OpenContentUtils.GetIndexConfig(settings.Template.Key.TemplateDir); OpenContentInfo content = new OpenContentInfo() { ModuleId = module.ModuleID, Title = ActiveModule.ModuleTitle, Json = req.json.ToString(), JsonAsJToken = req.json, CreatedByUserId = UserInfo.UserID, CreatedOnDate = DateTime.Now, LastModifiedByUserId = UserInfo.UserID, LastModifiedOnDate = DateTime.Now, Html = "", }; ctrl.AddContent(content, index, indexConfig); return(Request.CreateResponse(HttpStatusCode.OK, "")); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "It's not a list mode module")); } } catch (Exception exc) { Log.Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
private static ListItem NewListItem(string text, string value, string group, TemplateManifest template) { var li = new ListItem(text, value); li.Attributes["DataGroupField"] = group; var scriptFile = new FileUri(template.ManifestFolderUri.UrlFolder, value); if (!scriptFile.FileExists) { li.Attributes["CssClass"] = "fileNotExist"; } return(li); }
protected ModelFactoryBase(string settingsJson, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleConfig module, int portalId, string cultureCode) { this._settingsJson = settingsJson; this._manifest = manifest; this._templateFiles = templateFiles; this._module = module; this._cultureCode = cultureCode; this._portalId = portalId; this._templateManifest = templateManifest; this._collection = templateManifest.Collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
private void InitEditor(TemplateManifest template) { LoadFiles(template); var scriptFile = new FileUri(template.ManifestFolderUri.UrlFolder, scriptList.SelectedValue); DisplayFile(scriptFile); /* * if (template.MainTemplateUri().FilePath.StartsWith(ModuleTemplateDirectory)) * { * cmdCustom.Visible = false; * } */ }
protected ModelFactoryBase(OpenContentModuleConfig module, string collection) { OpenContentSettings settings = module.Settings; this._settingsJson = settings.Data; this._manifest = settings.Template.Manifest; this._templateFiles = settings.Template?.Main; this._module = module; this._portalId = module.PortalId; this._templateManifest = settings.Template; this._collection = collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
private void BindTemplates(TemplateManifest template, FileUri otherModuleTemplate) { ddlTemplate.Items.Clear(); ddlTemplate.Items.AddRange(OpenContentUtils.ListOfTemplatesFiles(ModuleContext.PortalSettings, ModuleContext.ModuleId, template, App.Config.Opencontent, otherModuleTemplate).ToArray()); if (ddlTemplate.Items.Count == 0) { rblUseTemplate.Items[0].Enabled = false; rblUseTemplate.SelectedIndex = 1; rblUseTemplate_SelectedIndexChanged(null, null); rblFrom.Items[0].Enabled = false; rblFrom.SelectedIndex = 1; rblFrom_SelectedIndexChanged(null, null); } ActivateDetailPage(); }
} // alpaca options.json format public ModelFactory(JToken dataJson, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, ModuleInfo module, PortalSettings portalSettings, int mainTabId, int mainModuleId) { this.dataJson = dataJson; this.settingsJson = settingsJson; this.PhysicalTemplateFolder = physicalTemplateFolder; this.Manifest = manifest; this.TemplateFiles = templateFiles; this.Module = module; this.PortalSettings = portalSettings; this.PortalId = portalSettings.PortalId; this.TemplateManifest = templateManifest; this.MainTabId = mainTabId > 0 ? mainTabId : module.TabID; this.MainTabId = DnnUtils.GetTabByCurrentCulture(this.PortalId, this.MainTabId, GetCurrentCultureCode()); this.MainModuleId = mainModuleId > 0 ? mainModuleId : module.ModuleID; }
public ModelFactory(IEnumerable <IDataItem> dataList, string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, ModuleInfo module, int portalId, string cultureCode, int mainTabId, int mainModuleId) { this.DataList = dataList; this.settingsJson = settingsJson; this.PhysicalTemplateFolder = physicalTemplateFolder; this.Manifest = manifest; this.TemplateFiles = templateFiles; this.Module = module; this.PortalId = portalId; this.CultureCode = cultureCode; this.TemplateManifest = templateManifest; this.MainTabId = mainTabId > 0 ? mainTabId : module.TabID; this.MainTabId = DnnUtils.GetTabByCurrentCulture(this.PortalId, this.MainTabId, GetCurrentCultureCode()); this.MainModuleId = mainModuleId > 0 ? mainModuleId : module.ModuleID; }
public HttpResponseMessage EditData(string key) { try { OpenContentSettings settings = ActiveModule.OpenContentSettings(); ModuleInfo module = ActiveModule; if (settings.ModuleId > 0) { ModuleController mc = new ModuleController(); module = mc.GetModule(settings.ModuleId, settings.TabId, false); } var manifest = settings.Manifest; TemplateManifest templateManifest = settings.Template; var dataManifest = manifest.GetAdditionalData(key); var templateFolder = string.IsNullOrEmpty(dataManifest.TemplateFolder) ? settings.TemplateDir : settings.TemplateDir.ParentFolder.Append(dataManifest.TemplateFolder); int createdByUserid = -1; var ds = DataSourceManager.GetDataSource(manifest.DataSource); var dsContext = new DataSourceContext() { PortalId = PortalSettings.PortalId, TabId = ActiveModule.TabID, ModuleId = module.ModuleID, TabModuleId = ActiveModule.TabModuleID, UserId = UserInfo.UserID, TemplateFolder = settings.TemplateDir.FolderPath, Config = manifest.DataSourceConfig, //Options = reqOptions }; var dsItem = ds.GetData(dsContext, dataManifest.ScopeType, dataManifest.StorageKey ?? key); var json = ds.GetDataAlpaca(dsContext, true, true, true, key); if (dsItem != null) { json["data"] = dsItem.Data; var versions = ds.GetDataVersions(dsContext, dsItem); if (versions != null) { json["versions"] = versions; } createdByUserid = dsItem.CreatedByUserId; } return(Request.CreateResponse(HttpStatusCode.OK, json)); } catch (Exception exc) { Log.Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
public ModelFactory(IEnumerable <IDataItem> dataList, ModuleInfo module, PortalSettings portalSettings, int mainTabId) { OpenContentSettings settings = module.OpenContentSettings(); this.DataList = dataList; this.settingsJson = settings.Data; this.PhysicalTemplateFolder = settings.Template.ManifestFolderUri.PhysicalFullDirectory + "\\"; this.Manifest = settings.Template.Manifest; this.TemplateFiles = settings.Template != null ? settings.Template.Main : null; this.Module = module; this.PortalSettings = portalSettings; this.PortalId = portalSettings.PortalId; this.TemplateManifest = settings.Template; this.MainTabId = mainTabId > 0 ? mainTabId : module.TabID; this.MainTabId = DnnUtils.GetTabByCurrentCulture(this.PortalId, this.MainTabId, GetCurrentCultureCode()); this.MainModuleId = settings.ModuleId > 0 ? settings.ModuleId : module.ModuleID; }
private void LoadFiles() { TemplateManifest template = ModuleContext.OpenContentSettings().Template; sourceList.Items.Clear(); sourceList.Items.Add(new ListItem(DATATYPE_DATA, DATATYPE_DATA)); sourceList.Items.Add(new ListItem(DATATYPE_SETTINGS, DATATYPE_SETTINGS)); sourceList.Items.Add(new ListItem(DATATYPE_FILTER, DATATYPE_FILTER)); if (template?.Manifest != null && template.Manifest.AdditionalDataDefined()) { foreach (var addData in template.Manifest.AdditionalDataDefinition) { string title = string.IsNullOrEmpty(addData.Value.Title) ? addData.Key : addData.Value.Title; sourceList.Items.Add(new ListItem(title, addData.Key)); } } }
public ModelFactoryBase(OpenContentModuleInfo module, PortalSettings portalSettings, string collection) { OpenContentSettings settings = module.Settings; this._settingsJson = settings.Data; this._physicalTemplateFolder = settings.Template.ManifestFolderUri.PhysicalFullDirectory + "\\"; this._manifest = settings.Template.Manifest; this._templateFiles = settings.Template?.Main; this._module = module; this._portalSettings = portalSettings; this._portalId = portalSettings.PortalId; this._templateManifest = settings.Template; this._collection = collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
public ModelFactoryBase(string settingsJson, string physicalTemplateFolder, Manifest.Manifest manifest, TemplateManifest templateManifest, TemplateFiles templateFiles, OpenContentModuleInfo module, PortalSettings portalSettings) { this._settingsJson = settingsJson; this._physicalTemplateFolder = physicalTemplateFolder; this._manifest = manifest; this._templateFiles = templateFiles; this._module = module; this._portalSettings = portalSettings; this._portalId = portalSettings.PortalId; this._templateManifest = templateManifest; this._collection = templateManifest == null ? AppConfig.DEFAULT_COLLECTION : templateManifest.Collection; this._detailTabId = DnnUtils.GetTabByCurrentCulture(this._portalId, module.GetDetailTabId(), GetCurrentCultureCode()); _ds = DataSourceManager.GetDataSource(_manifest.DataSource); _dsContext = OpenContentUtils.CreateDataContext(_module); }
private string GenerateOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, JToken dataJson, string settingsJson) { // detail template if (dataJson != null) { //todo check view permissions } var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataJson != null) { int mainTabId = _settings.DetailTabId > 0 ? _settings.DetailTabId : _settings.TabId; ModelFactory mf = new ModelFactory(_renderinfo.Data, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current, mainTabId, _settings.ModuleId); dynamic model = mf.GetModelAsDynamic(); if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaTitle)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); page.Title = hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaTitle, model); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMetaDescription)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); PageUtils.SetPageDescription(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMetaDescription, model)); } if (!string.IsNullOrEmpty(_renderinfo.Template.Manifest.DetailMeta)) { HandlebarsEngine hbEngine = new HandlebarsEngine(); PageUtils.SetPageMeta(page, hbEngine.Execute(_renderinfo.Template.Manifest.DetailMeta, model)); } return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } else { return(""); } } else { return(""); } }
private void LoadFiles() { TemplateManifest template = ModuleContext.OpenContentSettings().Template; sourceList.Items.Clear(); sourceList.Items.Add(new ListItem(cData, cData)); sourceList.Items.Add(new ListItem(cSettings, cSettings)); sourceList.Items.Add(new ListItem(cFilter, cFilter)); if (template != null && template.Manifest != null && template.Manifest.AdditionalDataDefined()) { foreach (var addData in template.Manifest.AdditionalDataDefinition) { string title = string.IsNullOrEmpty(addData.Value.Title) ? addData.Key : addData.Value.Title; sourceList.Items.Add(new ListItem(title, addData.Key)); } } }
private string GenerateListOutput(Page page, TemplateManifest templateManifest, TemplateFiles files, IEnumerable <IDataItem> dataList, string settingsJson) { var templateVirtualFolder = templateManifest.ManifestFolderUri.UrlFolder; if (!string.IsNullOrEmpty(files.Template)) { string physicalTemplateFolder = HostingEnvironment.MapPath(templateVirtualFolder); FileUri templateUri = CheckFiles(templateManifest, files); if (dataList != null) { int mainTabId = _settings.DetailTabId > 0 ? _settings.DetailTabId : _settings.TabId; ModelFactory mf = new ModelFactory(dataList, settingsJson, physicalTemplateFolder, _renderinfo.Template.Manifest, _renderinfo.Template, files, _module, PortalSettings.Current, mainTabId, _settings.ModuleId); dynamic model = mf.GetModelAsDynamic(); return(ExecuteTemplate(page, templateManifest, files, templateUri, model)); } } return(""); }