Получить обрезанный список документов из библиотеки документов (профессиональная версия) - PullRequest
0 голосов
/ 13 марта 2011

Итак, я создаю модуль, в котором я должен добавить возможность комментирования во встроенную функцию библиотеки документов.Я пытаюсь найти, откуда я беру документы.Я также хочу урезать список безопасности.Я действительно надеюсь, что есть API, и мне не нужно создавать ручное решение, которое нарушает обновление библиотеки документов ...

Любая помощь в том, где можно получить эту информацию?

1 Ответ

0 голосов
/ 14 марта 2011

Вы можете использовать элемент управления DNN File Picker или изменить его логику.

Исходный код, доступный в Codeplex, содержит примеры получения папок для пользователя и пример получения файлов для папки (для пользователя):

http://dotnetnuke.codeplex.com/SourceControl/changeset/view/58672#612642

Private Sub LoadFolders()
    cboFolders.Items.Clear()

    'Add Personal Folder
    If UsePersonalFolder Then
        Dim userFolder As String = FileSystemUtils.GetUserFolderPath(UserController.GetCurrentUserInfo().UserID)
        Dim userFolderItem As ListItem = cboFolders.Items.FindByValue(userFolder)
        If userFolderItem IsNot Nothing Then
            userFolderItem.Text = Utilities.GetLocalizedString("MyFolder")
        Else
            'Add Dummy Folder
            cboFolders.Items.Add(New ListItem(Utilities.GetLocalizedString("MyFolder"), userFolder))
        End If
    Else
        Dim folders As ArrayList = FileSystemUtils.GetFoldersByUser(PortalId, ShowSecure, ShowDatabase, Permissions)
        For Each folder As FolderInfo In folders
            Dim folderItem As New ListItem
            If folder.FolderPath = Null.NullString Then
                folderItem.Text = Utilities.GetLocalizedString("PortalRoot")
            Else
                folderItem.Text = folder.DisplayPath
            End If
            folderItem.Value = folder.FolderPath
            cboFolders.Items.Add(folderItem)
        Next
    End If

End Sub

и

Private Function GetFileList(ByVal NoneSpecified As Boolean, ByVal Folder As String) As ArrayList
    Dim fileList As ArrayList

    If IsHost Then
        fileList = Globals.GetFileList(Null.NullInteger, FileFilter, NoneSpecified, cboFolders.SelectedItem.Value)
    Else
        fileList = Globals.GetFileList(PortalId, FileFilter, NoneSpecified, cboFolders.SelectedItem.Value)
    End If

    Return fileList
End Function
...