/// <summary> /// Return an specified site accoding to URL /// </summary> /// <param name="siteURL"></param> /// <returns></returns> public SPWeb GetSite(string portalURL, string siteURL) { SPWeb ResultSite = null; SPGlobalAdmin gAdm = new SPGlobalAdmin(); SPVirtualServer vSrv = gAdm.OpenVirtualServer(new Uri(portalURL)); foreach (SPSite site in vSrv.Sites) { if (site.Url.ToLower() == siteURL.ToLower()) { ResultSite = site.RootWeb; break; } } return(ResultSite); }
/// <summary> /// Prepare child sites of sharepoint portal /// </summary> /// <param name="sharePointSiteURL"></param> protected void PreparePortalSites(string sharePointSiteURL) { using (SPGlobalAdmin gAdm = new SPGlobalAdmin()) { SPVirtualServer vSrv = gAdm.OpenVirtualServer(new Uri(sharePointSiteURL)); for (int i = 0; i < vSrv.Sites.Count; i++) { using (SPSite Site = vSrv.Sites[i]) { using (SPWeb web = Site.OpenWeb()) { m_SitesQueue.Enqueue(web.Url.ToString()); } } } GC.Collect(); GC.WaitForPendingFinalizers(); } }
public void TestDeleteSPSite() { string result = result = RunBuild(String.Format(CultureInfo.InvariantCulture, _xmlProjectTemplate, _newSPSiteUrl, "true")); SPGlobalAdmin globalAdmin = new SPGlobalAdmin(); System.Uri uri = new System.Uri(_newSPSiteServerUrl); SPVirtualServer vs = globalAdmin.OpenVirtualServer(uri); bool siteWasDeleted = true; foreach (SPSite site in vs.Sites) { if (site.RootWeb.Title.Equals(_newSPSiteTitle)) { siteWasDeleted = false; } } Assertion.Assert("The site was not deleted.", siteWasDeleted); }
public void DeleteWebPartsPackage(string url, string packageName) { try { WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); StringWriter errors = new StringWriter(); SPGlobalAdmin adm = new SPGlobalAdmin(); int result = adm.RemoveWPPack(packageName, 0, "http://" + url, errors); if (result > 1) { throw new Exception("Error uninstalling web parts package: " + errors.ToString()); } wic.Undo(); } catch (Exception ex) { throw new Exception("Could not uninstall web parts package", ex); } }
public void InstallWebPartsPackage(string url, string fileName) { try { WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); string tempPath = Path.GetTempPath(); // unzip uploaded files if required string expandedFile = fileName; if (Path.GetExtension(fileName).ToLower() == ".zip") { // unpack file expandedFile = FileUtils.UnzipFiles(fileName, tempPath)[0]; // delete zip archive FileUtils.DeleteFile(fileName); } StringWriter errors = new StringWriter(); SPGlobalAdmin adm = new SPGlobalAdmin(); int result = adm.AddWPPack(expandedFile, null, 0, "http://" + url, false, true, errors); if (result > 1) { throw new Exception("Error installing web parts package: " + errors.ToString()); } // delete expanded file FileUtils.DeleteFile(expandedFile); wic.Undo(); } catch (Exception ex) { throw new Exception("Could not install web parts package", ex); } }
/// <summary> /// Get portal website /// </summary> /// <returns></returns> public SPWeb GetPortalSite(string portalUrl) { SPWeb PortalWeb = null; using (SPGlobalAdmin gAdm = new SPGlobalAdmin()) { SPVirtualServer vSrv = gAdm.OpenVirtualServer(new Uri(portalUrl)); for (int i = 0; i < vSrv.Sites.Count; i++) { using (SPSite site = vSrv.Sites[i]) { if (site.RootWeb.WebTemplate == "SPS") { PortalWeb = site.RootWeb; break; } } } } return(PortalWeb); }
public void TestCreateSPSiteInvalidUrlWithoutFailOnError() { string[] parameters = new string[] { "false", "foo", _newSPSiteAbbreviation, _newSPSiteTitle, _newSPSiteDescription, _newSPSiteTemplate, _newSPSiteManagedPath, _newSPSiteOwnerLogin, _newSPSiteOwnerName, _newSPSiteOwnerEmail, _newSPSiteContactLogin, _newSPSiteContactName, _newSPSiteContactEmail, }; string result = result = RunBuild(String.Format( CultureInfo.InvariantCulture, _xmlProjectTemplate, parameters)); SPGlobalAdmin globalAdmin = new SPGlobalAdmin(); System.Uri uri = new System.Uri(_newSPSiteServerUrl); SPVirtualServer vs = globalAdmin.OpenVirtualServer(uri); bool siteWasCreated = false; foreach (SPSite site in vs.Sites) { if (site.RootWeb.Title.Equals(_newSPSiteTitle)) { siteWasCreated = true; } } Assertion.Assert("The site was not created.", !siteWasCreated); }
public void DeleteWebPartsPackage(string url, string packageName) { try { WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); StringWriter errors = new StringWriter(); SPGlobalAdmin adm = new SPGlobalAdmin(); int result = adm.RemoveWPPack(packageName, 0, "http://" + url, errors); if (result > 1) throw new Exception("Error uninstalling web parts package: " + errors.ToString()); wic.Undo(); } catch (Exception ex) { throw new Exception("Could not uninstall web parts package", ex); } }
public void InstallWebPartsPackage(string url, string fileName) { try { WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); string tempPath = Path.GetTempPath(); // unzip uploaded files if required string expandedFile = fileName; if (Path.GetExtension(fileName).ToLower() == ".zip") { // unpack file expandedFile = FileUtils.UnzipFiles(fileName, tempPath)[0]; // delete zip archive FileUtils.DeleteFile(fileName); } StringWriter errors = new StringWriter(); SPGlobalAdmin adm = new SPGlobalAdmin(); int result = adm.AddWPPack(expandedFile, null, 0, "http://" + url, false, true, errors); if (result > 1) throw new Exception("Error installing web parts package: " + errors.ToString()); // delete expanded file FileUtils.DeleteFile(expandedFile); wic.Undo(); } catch (Exception ex) { throw new Exception("Could not install web parts package", ex); } }
public string[] GetInstalledWebParts(string url) { try { WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); SPGlobalAdmin adm = new SPGlobalAdmin(); string lines = adm.EnumWPPacks(null, "http://" + url, false); List<string> list = new List<string>(); if(!String.IsNullOrEmpty(lines)) { string line = null; StringReader reader = new StringReader(lines); while ((line = reader.ReadLine()) != null) { line = line.Trim(); int commaIdx = line.IndexOf(","); if (!String.IsNullOrEmpty(line) && commaIdx != -1) list.Add(line.Substring(0, commaIdx)); } } wic.Undo(); return list.ToArray(); } catch (Exception ex) { throw new Exception("Error reading web parts packages", ex); } }
public void UnextendVirtualServer(string url, bool deleteContent) { try { WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate(); Uri uri = new Uri("http://" + url); SPWebApplication app = SPWebApplication.Lookup(uri); if (app == null) return; SPGlobalAdmin adm = new SPGlobalAdmin(); adm.UnextendVirtualServer(uri, false); //typeof(SPWebApplication).InvokeMember("UnprovisionIisWebSitesAsAdministrator", // BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.InvokeMethod, // null, null, new object[] { false, new string[] { url }, app.ApplicationPool }); //app.Unprovision(); app.Delete(); wic.Undo(); } catch (Exception ex) { throw new Exception("Could not uninstall SharePoint from the web site", ex); } }
public void TestCreateSPSiteInvalidUrlWithoutFailOnError() { string[] parameters = new string[]{"false", "foo", _newSPSiteAbbreviation, _newSPSiteTitle, _newSPSiteDescription, _newSPSiteTemplate, _newSPSiteManagedPath, _newSPSiteOwnerLogin, _newSPSiteOwnerName, _newSPSiteOwnerEmail, _newSPSiteContactLogin, _newSPSiteContactName, _newSPSiteContactEmail,}; string result = result = RunBuild(String.Format( CultureInfo.InvariantCulture, _xmlProjectTemplate, parameters)); SPGlobalAdmin globalAdmin = new SPGlobalAdmin(); System.Uri uri = new System.Uri(_newSPSiteServerUrl); SPVirtualServer vs = globalAdmin.OpenVirtualServer(uri); bool siteWasCreated = false; foreach (SPSite site in vs.Sites) { if (site.RootWeb.Title.Equals(_newSPSiteTitle)) { siteWasCreated = true; } } Assertion.Assert("The site was not created.", !siteWasCreated); }