precedentemente cancellata .
(di default inizia con STS_....).
/*
* 24-01-2007 Ripristina la vista Explorer View
* in SharePoint 2003
* ATTENZIONE: agisce direttamente sul DB
*/
-- POSIZIONARSI SUL DB DI SHARE POINT
DECLARE @viewId uniqueidentifier
DECLARE @listId uniqueidentifier
DECLARE @tp_WebPartTypeId uniqueidentifier
SET @viewId = newid()
/*
* INSERIRE QUI IL GUID DELLA LISTA DA MODIFICARE
* es: http://sp.local/_layouts/1033/listedit.aspx?List={2CB36B3A-F75A-48C3-A5DC-A0D51E13879F}
*/
SET @listId = '{2CB36B3A-F75A-48C3-A5DC-A0D51E13879F}'
IF @listId is not null
BEGIN
-- seleziona una vista qualsiasi con xxx/Forms
-- e la copia con i valori corretti
INSERT INTO [Docs]([Id], [SiteId], [DirName], [LeafName], [WebId], [ListId], [DoclibRowId],
[Type], [Size], [MetaInfoSize], [Version], [UIVersion],
[Dirty], [CacheParseId], [DocFlags], [ThicketFlag],
[CharSet], [TimeCreated], [TimeLastModified],
[NextToLastTimeModified], [MetaInfoTimeLastModified],
[TimeLastWritten],
[SetupPath],
[CheckoutUserId], [CheckoutDate], [CheckoutExpires],
[CheckoutSize], [VersionCreatedSinceSTCheckout],
[VirusVendorID], [VirusStatus],
[VirusInfo], [MetaInfo], [Content],
[CheckoutContent])
SELECT TOP 1 @viewId AS Id, SiteId, DirName, 'WebFldr.aspx' AS LeafName, WebId, ListId, null AS DoclibRowId,
0 AS Type, 6746 AS [Size], null AS MetaInfoSize, 1 AS Version, 1 AS UIVersion,
0 AS Dirty, null AS CacheParseId, 12 AS DocFlags, 0 AS ThicketFlag,
null AS CharSet, getdate() AS TimeCreated, getdate() AS TimeLastModified,
null AS NextToLastTimeModified, getdate() AS MetaInfoTimeLastModified,
getdate() AS TimeLastWritten,
'1033\STS\Lists\doclib\WebFldr.aspx' AS SetupPath,
null AS CheckoutUserId, null AS CheckoutDate, null AS CheckoutExpires,
null AS CheckoutSize, 0 AS VersionCreatedSinceSTCheckout,
null AS VirusVendorID, null AS VirusStatus,
null AS VirusInfo, null AS MetaInfo, null AS Content,
null AS CheckoutContent
FROM Docs
WHERE [ListId] = @listId and [DirName] like '%/Forms' --and leafName = 'DispForm.aspx'
-- recupera tp_WebPartTypeId
-- [tp_WebPartTypeId] ?!?!? molto probabilmente il guid della dll che gestisce l'explorer view
SELECT TOP 1 @tp_WebPartTypeId = tp_WebPartTypeId
FROM WebParts
WHERE (tp_DisplayName = 'Explorer View') AND (tp_BaseViewID = 3)
-- a questo punto inserisco un riferimento alla lista anche nella WebParts
-- http://msdn2.microsoft.com/en-us/library/ms998719.aspx
INSERT INTO [WebParts]([tp_SiteId], [tp_ID], [tp_ListId], [tp_Type], [tp_Flags],
[tp_BaseViewID], [tp_DisplayName], [tp_Version],
[tp_PageUrlID], [tp_PartOrder], [tp_ZoneID],
[tp_IsIncluded], [tp_FrameState], [tp_View],
[tp_WebPartTypeId],
[tp_AllUsersProperties], [tp_PerUserProperties],
[tp_Cache], [tp_UserID], [tp_Source],
[tp_CreationTime], [tp_Size])
SELECT top 1 [tp_SiteId], newid() AS [tp_ID], [tp_ListId], 1 as [tp_Type], 33 as [tp_Flags],
3 AS [tp_BaseViewID], 'Explorer View' AS [tp_DisplayName], 1 AS [tp_Version],
@viewId AS [tp_PageUrlID], 1 AS [tp_PartOrder], 'Main' AS [tp_ZoneID],
1 AS [tp_IsIncluded], 0 AS [tp_FrameState], null AS [tp_View],
@tp_WebPartTypeId AS [tp_WebPartTypeId],
null AS [tp_AllUsersProperties], null AS [tp_PerUserProperties],
null AS [tp_Cache], null AS [tp_UserID], null AS [tp_Source],
getdate() AS [tp_CreationTime], 116 AS [tp_Size]
FROM [WebParts]
WHERE [tp_ListId] = @listId
END