private static void ProcessLegacySkin(string skinFolder, string skinType) { string skinName = Path.GetFileName(skinFolder); if (skinName != "_default") { SkinPackageInfo skin = new SkinPackageInfo(); skin.SkinName = skinName; skin.SkinType = skinType; PackageInfo package = CreateSkinPackage(skin); SkinPackageWriter skinWriter = new SkinPackageWriter(skin, package); skinWriter.GetFiles(false); package.Manifest = skinWriter.WriteManifest(true); CommonLibrary.Services.Installer.Packages.PackageController.SavePackage(package); skin.PackageID = package.PackageID; skin.SkinPackageID = SkinController.AddSkinPackage(skin); foreach (InstallFile skinFile in skinWriter.Files.Values) { if (skinFile.Type == InstallFileType.Ascx) { if (skinType == "Skin") { SkinController.AddSkin(skin.SkinPackageID, Path.Combine("[G]" + SkinController.RootSkin, Path.Combine(skin.SkinName, skinFile.FullName))); } else { SkinController.AddSkin(skin.SkinPackageID, Path.Combine("[G]" + SkinController.RootContainer, Path.Combine(skin.SkinName, skinFile.FullName))); } } } } }
protected void ctlSkin_ItemAdded(object sender, PropertyEditorEventArgs e) { if (!string.IsNullOrEmpty(e.StringValue)) { SkinPackageInfo skin = SkinController.GetSkinByPackageID(PackageID); SkinController.AddSkin(skin.SkinPackageID, e.StringValue); } BindSkin(); }
private static void ProcessLegacySkin(string skinFolder, string skinType) { string skinName = Path.GetFileName(skinFolder); if (skinName != "_default") { var skin = new SkinPackageInfo(); skin.SkinName = skinName; skin.SkinType = skinType; //Create a Package PackageInfo package = CreateSkinPackage(skin); //Create a SkinPackageWriter var skinWriter = new SkinPackageWriter(skin, package); skinWriter.GetFiles(false); //Save the manifest package.Manifest = skinWriter.WriteManifest(true); //Save Package PackageController.Instance.SaveExtensionPackage(package); //Update Skin Package with new PackageID skin.PackageID = package.PackageID; //Save Skin Package skin.SkinPackageID = SkinController.AddSkinPackage(skin); foreach (InstallFile skinFile in skinWriter.Files.Values) { if (skinFile.Type == InstallFileType.Ascx) { if (skinType == "Skin") { SkinController.AddSkin(skin.SkinPackageID, Path.Combine("[G]" + SkinController.RootSkin, Path.Combine(skin.SkinName, skinFile.FullName))); } else { SkinController.AddSkin(skin.SkinPackageID, Path.Combine("[G]" + SkinController.RootContainer, Path.Combine(skin.SkinName, skinFile.FullName))); } } } } }
/// ----------------------------------------------------------------------------- /// <summary> /// The Install method installs the skin component /// </summary> public override void Install() { bool bAdd = Null.NullBoolean; try { //Attempt to get the Skin Package TempSkinPackage = SkinController.GetSkinPackage(SkinPackage.PortalID, SkinPackage.SkinName, SkinType); if (TempSkinPackage == null) { bAdd = true; SkinPackage.PackageID = Package.PackageID; } else { SkinPackage.SkinPackageID = TempSkinPackage.SkinPackageID; if (TempSkinPackage.PackageID != Package.PackageID) { Completed = false; Log.AddFailure(Util.SKIN_Installed); return; } else { SkinPackage.PackageID = TempSkinPackage.PackageID; } } SkinPackage.SkinType = SkinType; if (bAdd) { //Add new skin package SkinPackage.SkinPackageID = SkinController.AddSkinPackage(SkinPackage); } else { //Update skin package SkinController.UpdateSkinPackage(SkinPackage); } Log.AddInfo(string.Format(Util.SKIN_Registered, SkinPackage.SkinName)); //install (copy the files) by calling the base class base.Install(); //process the list of skin files if (SkinFiles.Count > 0) { Log.StartJob(Util.SKIN_BeginProcessing); string strMessage = Null.NullString; var NewSkin = new SkinFileProcessor(RootPath, SkinRoot, SkinPackage.SkinName); foreach (string skinFile in SkinFiles) { strMessage += NewSkin.ProcessFile(skinFile, SkinParser.Portable); skinFile.Replace(Globals.HostMapPath + "\\", "[G]"); switch (Path.GetExtension(skinFile)) { case ".htm": SkinController.AddSkin(SkinPackage.SkinPackageID, skinFile.Replace("htm", "ascx")); break; case ".html": SkinController.AddSkin(SkinPackage.SkinPackageID, skinFile.Replace("html", "ascx")); break; case ".ascx": SkinController.AddSkin(SkinPackage.SkinPackageID, skinFile); break; } } Array arrMessage = strMessage.Split(new[] { "<br />" }, StringSplitOptions.None); foreach (string strRow in arrMessage) { Log.AddInfo(HtmlUtils.StripTags(strRow, true)); } Log.EndJob(Util.SKIN_EndProcessing); } Completed = true; } catch (Exception ex) { Log.AddFailure(ex); } }