or

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;using Telerik.Web.UI.Widgets;namespace Cep.Print{ public class FileProvider : Telerik.Web.UI.Widgets.FileBrowserContentProvider { //constructor must be present when overriding a base content provider class //you can leave it empty public FileProvider(HttpContext context, string[] searchPatterns, string[] viewPaths, string[] uploadPaths, string[] deletePaths, string selectedUrl, string selectedItemTag) : base(context, searchPatterns, viewPaths, uploadPaths, deletePaths, selectedUrl, selectedItemTag) { } private void GetRecoursiveDirectory() { //directories } public override Telerik.Web.UI.Widgets.DirectoryItem ResolveRootDirectoryAsTree(string path) { //try authentication with permitted user #region Login //CONTROLLO CHE SIA DA EFFETTUARE IL LOGIN UTENTE string LoginDaEffettuare = System.Configuration.ConfigurationManager.AppSettings["EffettuaLoginUtente"].ToString(); bool bLogin = false; if (!String.IsNullOrEmpty(LoginDaEffettuare)) if (LoginDaEffettuare.CompareTo("1") == 0) bLogin = true; //EFFETTUO IL LOGIN UTENTE SE NECESSARIO CEP.Authorization.SpecialAuthentication Special = new CEP.Authorization.SpecialAuthentication(); if (bLogin) { string userName = System.Configuration.ConfigurationManager.AppSettings["NomeUtente"].ToString(); string domain = System.Configuration.ConfigurationManager.AppSettings["Dominio"].ToString(); string password = System.Configuration.ConfigurationManager.AppSettings["Psw"].ToString(); if (!Special.impersonateValidUser(userName, domain, password)) { String errore = "PERMESSO DI ACCESSO AL DOMINIO " + domain + " NEGATO!"; return null; } } else { } #endregion DirectoryInfo info = new DirectoryInfo(path); List<Telerik.Web.UI.Widgets.FileItem> files = new List<Telerik.Web.UI.Widgets.FileItem>(); foreach (FileInfo filetmp in info.GetFiles()) files.Add(new Telerik.Web.UI.Widgets.FileItem(filetmp.Name, filetmp.Extension, filetmp.Length, filetmp.FullName, filetmp.FullName, filetmp.FullName, Telerik.Web.UI.Widgets.PathPermissions.Delete | Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload)); List<Telerik.Web.UI.Widgets.DirectoryItem> directories = new List<Telerik.Web.UI.Widgets.DirectoryItem>(); foreach (DirectoryInfo dirtmp in info.GetDirectories()) { Telerik.Web.UI.Widgets.DirectoryItem itmtmp = new Telerik.Web.UI.Widgets.DirectoryItem(dirtmp.Name, dirtmp.FullName, dirtmp.FullName, dirtmp.Name, Telerik.Web.UI.Widgets.PathPermissions.Delete | Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload, null, null); directories.Add(itmtmp); } Telerik.Web.UI.Widgets.DirectoryItem itm = new Telerik.Web.UI.Widgets.DirectoryItem(path, path, path, path, Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload | Telerik.Web.UI.Widgets.PathPermissions.Delete, files.ToArray(), directories.ToArray()); return itm; //return null; //throw new NotImplementedException(); } public override Telerik.Web.UI.Widgets.DirectoryItem ResolveDirectory(string path) { //try authentication with permitted user #region Login //CONTROLLO CHE SIA DA EFFETTUARE IL LOGIN UTENTE string LoginDaEffettuare = System.Configuration.ConfigurationManager.AppSettings["EffettuaLoginUtente"].ToString(); bool bLogin = false; if (!String.IsNullOrEmpty(LoginDaEffettuare)) if (LoginDaEffettuare.CompareTo("1") == 0) bLogin = true; //EFFETTUO IL LOGIN UTENTE SE NECESSARIO CEP.Authorization.SpecialAuthentication Special = new CEP.Authorization.SpecialAuthentication(); if (bLogin) { string userName = System.Configuration.ConfigurationManager.AppSettings["NomeUtente"].ToString(); string domain = System.Configuration.ConfigurationManager.AppSettings["Dominio"].ToString(); string password = System.Configuration.ConfigurationManager.AppSettings["Psw"].ToString(); if (!Special.impersonateValidUser(userName, domain, password)) { String errore = "PERMESSO DI ACCESSO AL DOMINIO " + domain + " NEGATO!"; return null; } } else { } #endregion DirectoryInfo info = new DirectoryInfo(path); List<Telerik.Web.UI.Widgets.FileItem> files = new List<Telerik.Web.UI.Widgets.FileItem>(); foreach (FileInfo filetmp in info.GetFiles()) files.Add(new Telerik.Web.UI.Widgets.FileItem(filetmp.Name, filetmp.Extension, filetmp.Length, filetmp.FullName, filetmp.FullName, filetmp.FullName, Telerik.Web.UI.Widgets.PathPermissions.Delete | Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload)); List<Telerik.Web.UI.Widgets.DirectoryItem> directories = new List<Telerik.Web.UI.Widgets.DirectoryItem>(); foreach (DirectoryInfo dirtmp in info.GetDirectories()) directories.Add(new Telerik.Web.UI.Widgets.DirectoryItem(dirtmp.Name, dirtmp.FullName, dirtmp.FullName, dirtmp.FullName, Telerik.Web.UI.Widgets.PathPermissions.Delete | Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload, null, null)); Telerik.Web.UI.Widgets.DirectoryItem itm = new Telerik.Web.UI.Widgets.DirectoryItem(path, path, path, path, Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload | Telerik.Web.UI.Widgets.PathPermissions.Delete, files.ToArray(), directories.ToArray()); return itm; //return null; //return base.ResolveDirectory(path); //throw new NotImplementedException(); } public override FileItem GetFileItem(string path) { //try authentication with permitted user #region Login //CONTROLLO CHE SIA DA EFFETTUARE IL LOGIN UTENTE string LoginDaEffettuare = System.Configuration.ConfigurationManager.AppSettings["EffettuaLoginUtente"].ToString(); bool bLogin = false; if (!String.IsNullOrEmpty(LoginDaEffettuare)) if (LoginDaEffettuare.CompareTo("1") == 0) bLogin = true; //EFFETTUO IL LOGIN UTENTE SE NECESSARIO CEP.Authorization.SpecialAuthentication Special = new CEP.Authorization.SpecialAuthentication(); if (bLogin) { string userName = System.Configuration.ConfigurationManager.AppSettings["NomeUtente"].ToString(); string domain = System.Configuration.ConfigurationManager.AppSettings["Dominio"].ToString(); string password = System.Configuration.ConfigurationManager.AppSettings["Psw"].ToString(); if (!Special.impersonateValidUser(userName, domain, password)) { String errore = "PERMESSO DI ACCESSO AL DOMINIO " + domain + " NEGATO!"; return null; } } else { } #endregion if (File.Exists(path)) { FileInfo file = new FileInfo(path); FileItem tim = new FileItem(file.Name, file.Extension, file.Length, "", file.FullName, "", PathPermissions.Delete | PathPermissions.Read | PathPermissions.Upload); return tim; } return null; } public override string GetFileName(string url) { //return null; throw new NotImplementedException(); } public override string GetPath(string url) { throw new NotImplementedException(); } public override System.IO.Stream GetFile(string url) { throw new NotImplementedException(); } public override string StoreBitmap(System.Drawing.Bitmap bitmap, string url, System.Drawing.Imaging.ImageFormat format) { throw new NotImplementedException(); } public override string StoreFile(Telerik.Web.UI.UploadedFile file, string path, string name, params string[] arguments) { throw new NotImplementedException(); } public override string DeleteFile(string path) { throw new NotImplementedException(); } public override string DeleteDirectory(string path) { throw new NotImplementedException(); } public override string CreateDirectory(string path, string name) { throw new NotImplementedException(); } public override string MoveFile(string path, string newPath) { return base.MoveFile(path, newPath); } public override string MoveDirectory(string path, string newPath) { return base.MoveDirectory(path, newPath); } public override string CopyFile(string path, string newPath) { return base.CopyFile(path, newPath); } public override string CopyDirectory(string path, string newPath) { return base.CopyDirectory(path, newPath); } public override DirectoryItem[] ResolveRootDirectoryAsList(string path) { //try authentication with permitted user #region Login //CONTROLLO CHE SIA DA EFFETTUARE IL LOGIN UTENTE string LoginDaEffettuare = System.Configuration.ConfigurationManager.AppSettings["EffettuaLoginUtente"].ToString(); bool bLogin = false; if (!String.IsNullOrEmpty(LoginDaEffettuare)) if (LoginDaEffettuare.CompareTo("1") == 0) bLogin = true; //EFFETTUO IL LOGIN UTENTE SE NECESSARIO CEP.Authorization.SpecialAuthentication Special = new CEP.Authorization.SpecialAuthentication(); if (bLogin) { string userName = System.Configuration.ConfigurationManager.AppSettings["NomeUtente"].ToString(); string domain = System.Configuration.ConfigurationManager.AppSettings["Dominio"].ToString(); string password = System.Configuration.ConfigurationManager.AppSettings["Psw"].ToString(); if (!Special.impersonateValidUser(userName, domain, password)) { String errore = "PERMESSO DI ACCESSO AL DOMINIO " + domain + " NEGATO!"; return null; } } else { } #endregion List<DirectoryItem> listitm = new List<DirectoryItem>(); DirectoryInfo info = new DirectoryInfo(path); List<Telerik.Web.UI.Widgets.FileItem> files = new List<Telerik.Web.UI.Widgets.FileItem>(); foreach (FileInfo filetmp in info.GetFiles()) files.Add(new Telerik.Web.UI.Widgets.FileItem(filetmp.Name, filetmp.Extension, filetmp.Length, filetmp.FullName, filetmp.FullName, filetmp.FullName, Telerik.Web.UI.Widgets.PathPermissions.Delete | Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload)); List<Telerik.Web.UI.Widgets.DirectoryItem> directories = new List<Telerik.Web.UI.Widgets.DirectoryItem>(); foreach (DirectoryInfo dirtmp in info.GetDirectories()) directories.Add(new Telerik.Web.UI.Widgets.DirectoryItem(dirtmp.Name, dirtmp.FullName, dirtmp.FullName, dirtmp.FullName, Telerik.Web.UI.Widgets.PathPermissions.Delete | Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload, null, null)); Telerik.Web.UI.Widgets.DirectoryItem itm = new Telerik.Web.UI.Widgets.DirectoryItem(path, path, path, path, Telerik.Web.UI.Widgets.PathPermissions.Read | Telerik.Web.UI.Widgets.PathPermissions.Upload | Telerik.Web.UI.Widgets.PathPermissions.Delete, files.ToArray(), directories.ToArray()); listitm.Add(itm); return listitm.ToArray(); } // ############################################################################## // !!! IMPORTANT !!! // The compilator will not complain if these methods are not overridden, but it is highly recommended to override them public override bool CheckDeletePermissions(string folderPath) { return base.CheckDeletePermissions(folderPath); } public override bool CheckWritePermissions(string folderPath) { return base.CheckWritePermissions(folderPath); } //Introduced in the 2010.2.826 version of the control public override bool CheckReadPermissions(string folderPath) { return base.CheckReadPermissions(folderPath); } // ############################################################################## }} public partial class WebForm2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { FileExplorer1.Configuration.ContentProviderTypeName = typeof(FileProvider).AssemblyQualifiedName; string PercorsoTerminal = System.Configuration.ConfigurationManager.AppSettings["PathStampeTerminal"].ToString(); String consulente = (String)Session[Const.SessionCodiceConsulente]; PercorsoTerminal = PercorsoTerminal + "\\" + consulente + "\\SIOGERE"; string initialPath = PercorsoTerminal; FileExplorer1.Configuration.SearchPatterns = new string[] { "*.*" }; FileExplorer1.Configuration.ViewPaths = new String[] { initialPath }; FileExplorer1.Configuration.UploadPaths = new String[] { initialPath }; FileExplorer1.Configuration.DeletePaths = new String[] { initialPath }; } }}<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <div> <div class="leftPane" style="width: 1000px;"> <telerik:RadFileExplorer runat="server" ID="FileExplorer1" Width="100%" Height="350px" OnClientFolderChange="" CssClass="rfeFocus" AllowPaging="true" PageSize="10" ExplorerMode="Default" DisplayUpFolderItem="True" EnableAsyncUpload="True" EnableCopy="True" > <Configuration EnableAsyncUpload="true" AllowMultipleSelection="true"></Configuration> </telerik:RadFileExplorer> </div> <div style="float: left;"> <fieldset style="width: 230px; height: 220px"> <legend>Preview</legend> </fieldset> </div> </div></asp:Content>