diff --git a/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx b/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx index 70ed9ff41d..7092809213 100644 --- a/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx +++ b/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx @@ -1,5 +1,5 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SkinCustomizer.ascx.cs" Inherits="umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule.SkinCustomizer" %> - +<%@ Import Namespace="umbraco.cms.businesslogic.packager.repositories" %>
> @@ -17,7 +17,28 @@
>
- + + +
    + + +
  • + + <%# ((Skin)Container.DataItem).Text %> + + <%# ((Skin)Container.DataItem).Text %> + +
    + + +
  • +
    + + +
+ +
+

... or customize current skin

diff --git a/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.cs b/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.cs index c9f849df4f..8268274d3c 100644 --- a/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.cs +++ b/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.cs @@ -19,6 +19,15 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule private List sDependencies = new List(); + private cms.businesslogic.packager.repositories.Repository repo; + private string repoGuid = "65194810-1f85-11dd-bd0b-0800200c9a66"; + + public SkinCustomizer() + { + repo = cms.businesslogic.packager.repositories.Repository.getByGuid(repoGuid); + } + + protected void Page_Load(object sender, EventArgs e) { @@ -53,11 +62,24 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule } else { - install.steps.Skinning.loadStarterKitDesigns ctrl = - (install.steps.Skinning.loadStarterKitDesigns)new UserControl().LoadControl(SystemDirectories.Install + "/steps/Skinning/loadStarterKitDesigns.ascx"); - ctrl.StarterKitGuid = (Guid)g; + if (repo.HasConnection()) + { + try + { + rep_starterKitDesigns.DataSource = repo.Webservice.Skins(g.ToString()); + rep_starterKitDesigns.DataBind(); + } + catch (Exception ex) + { + BusinessLogic.Log.Add(BusinessLogic.LogTypes.Debug, -1, ex.ToString()); - ph_skins.Controls.Add(ctrl); + //ShowConnectionError(); + } + } + else + { + //ShowConnectionError(); + } } @@ -170,9 +192,37 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule return value; } - protected void bt_ChangeSkin_Click(object sender, EventArgs e) + protected void SelectStarterKitDesign(object sender, EventArgs e) { - + Guid kitGuid = new Guid(((Button)sender).CommandArgument); + + cms.businesslogic.packager.Installer installer = new cms.businesslogic.packager.Installer(); + + if (repo.HasConnection()) + { + cms.businesslogic.packager.Installer p = new cms.businesslogic.packager.Installer(); + + string tempFile = p.Import(repo.fetch(kitGuid.ToString())); + p.LoadConfig(tempFile); + int pID = p.CreateManifest(tempFile, kitGuid.ToString(), repoGuid); + + p.InstallFiles(pID, tempFile); + p.InstallBusinessLogic(pID, tempFile); + p.InstallCleanUp(pID, tempFile); + + library.RefreshContent(); + + if (cms.businesslogic.skinning.Skinning.GetAllSkins().Count > 0) + { + cms.businesslogic.skinning.Skinning.ActivateAsCurrentSkin(cms.businesslogic.skinning.Skinning.GetAllSkins()[0]); + } + + + } + else + { + //ShowConnectionError(); + } } } } \ No newline at end of file diff --git a/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.designer.cs b/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.designer.cs index eb9bed0f2c..65d0c7583f 100644 --- a/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.designer.cs +++ b/umbraco/presentation/umbraco/LiveEditing/Modules/SkinModule/SkinCustomizer.ascx.designer.cs @@ -67,13 +67,13 @@ namespace umbraco.presentation.umbraco.LiveEditing.Modules.SkinModule { protected global::System.Web.UI.WebControls.Literal ltChangeSkinStyle; /// - /// ph_skins control. + /// rep_starterKitDesigns control. /// /// /// Auto-generated field. /// To modify move field declaration from designer file to code-behind file. /// - protected global::System.Web.UI.WebControls.PlaceHolder ph_skins; + protected global::System.Web.UI.WebControls.Repeater rep_starterKitDesigns; /// /// pCustomizeSkin control.