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
>
<
telerik:RadAutoCompleteBox
runat
=
"server"
ID
=
"ProvinciaId"
AllowCustomText
=
"false"
MaxLength
=
"80"
EmptyMessage
=
"Provincia di nascita"
CssClass
=
"span3"
DataSourceID
=
"SqlDataSource1"
DataValueField
=
"ProvinciaId"
DataTextField
=
"ProvinciaName"
Filter
=
"StartsWith"
IsCaseSensitive
=
"false"
DropDownHeight
=
"250"
TextSettings-SelectionMode
=
"Single"
TokensSettings-AllowTokenEditing
=
"false"
AllowCustomEntry
=
"false"
InputType
=
"Text"
EnableClientFiltering
=
"true"
/>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:EvaConnection %>"
ProviderName="System.Data.SqlClient" SelectCommand="SELECT [ProvinciaId], [ProvinciaName] FROM [EVA_Province] ORDER BY [ProvinciaName] ASC">
</
asp:SqlDataSource
>