Advertisement
Guest User

Untitled

a guest
Mar 30th, 2015
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. function
  2. Add-WebPartToPage($web, $page, $xmlReader, $zoneId, $zoneIndex, $marker)
  3. {
  4. $wpManager = $web.GetLimitedWebPartManager($page.Url, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared);
  5.  
  6. $errorMsg = "";
  7. $wpGuid = [System.Guid]::NewGuid().ToString();
  8. $wpKey = "g_" + $wpGuid.Replace("-","_");
  9.  
  10. $wpInstance = $wpManager.ImportWebPart($xmlReader, [ref]$errorMsg);
  11.  
  12. if([string]::IsNullOrEmpty($errorMsg))
  13. {
  14. $wpInstance.ID = $wpKey;
  15. $wpManager.AddWebPart($wpInstance, $zoneId, $zoneIndex);
  16.  
  17. $oldContent = $page["WikiField"];
  18. $wpContent = '<div class="ms-rtestate-read ms-rte-wpbox" contenteditable="false"><div class="ms-rtestate-notify ms-rtestate-read {0}" id="div_{0}" unselectable="on"></div><div id="vid_{0}" unselectable="on" style="display: none;"></div></div>' -f $wpGuid;
  19. $newContent = $oldContent.Replace($marker, $wpContent);
  20. $page["WikiField"] = $newContent;
  21.  
  22. $page.Update();
  23. }
  24. else
  25. {
  26. Write-Host Error: $errorMsg;
  27. }
  28. }
  29.  
  30. function
  31. Delete-WebPartFromPage($web, $page, $wpName)
  32. {
  33. $wpManager = $web.GetLimitedWebPartManager($page.Url, [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared);
  34. $webParts = $wpManager.WebParts
  35. foreach($wp in $($webParts))
  36. {
  37. if ($wp.Title.StartsWith($wpName))
  38. {
  39. $wpManager.DeleteWebPart($wp);
  40. }
  41. }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement