/Demo/Customized.aspx

http://izwebfilemanager.googlecode.com/ · ASP.NET · 172 lines · 153 code · 19 blank · 0 comment · 5 complexity · 546d1a96e65349ab99342e80106bf13e MD5 · raw file

  1. <%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="~/MasterPage.master" %>
  2. <%@ Register Assembly="IZ.WebFileManager" Namespace="IZ.WebFileManager" TagPrefix="iz" %>
  3. <script runat="server">
  4. protected void FileManager1_ExecuteCommand (object sender, ExecuteCommandEventArgs e) {
  5. e.ClientScript = "alert('Use ExecuteCommand event to handle your custom command.\\nCommandName=" + e.CommandName + "\\nItem=" + e.Items [0].AbsolutePath + "')";
  6. }
  7. protected void CheckBox1_CheckedChanged (object sender, EventArgs e) {
  8. FileManager1.ReadOnly = ((CheckBox) sender).Checked;
  9. }
  10. protected void CheckBox2_CheckedChanged (object sender, EventArgs e) {
  11. FileManager1.AllowUpload = ((CheckBox) sender).Checked;
  12. }
  13. protected void CheckBox3_CheckedChanged (object sender, EventArgs e) {
  14. FileManager1.AllowDelete = ((CheckBox) sender).Checked;
  15. }
  16. protected void CheckBox4_CheckedChanged (object sender, EventArgs e) {
  17. FileManager1.AllowOverwrite = ((CheckBox) sender).Checked;
  18. }
  19. protected void CheckBox5_CheckedChanged (object sender, EventArgs e) {
  20. FileManager1.UseLinkToOpenItem = ((CheckBox) sender).Checked;
  21. }
  22. protected void CheckBox6_CheckedChanged (object sender, EventArgs e) {
  23. FileManager1.ShowHiddenFilesAndFolders = ((CheckBox) sender).Checked;
  24. }
  25. protected void CheckBox7_CheckedChanged (object sender, EventArgs e) {
  26. FileManager1.DownloadOnDoubleClick = ((CheckBox) sender).Checked;
  27. }
  28. protected void FileManager1_ToolbarCommand (object sender, CommandEventArgs e) {
  29. if (e.CommandName == "CreateZip") {
  30. string zipFile = System.IO.Path.Combine (FileManager1.CurrentDirectory.PhysicalPath, "ZIP_" + DateTime.Now.ToString ("yyyyMMddHHmmss") + ".zip");
  31. //Create an empty zip file
  32. byte [] emptyzip = new byte [] { 80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
  33. using (System.IO.FileStream fs = System.IO.File.Create (zipFile)) {
  34. fs.Write (emptyzip, 0, emptyzip.Length);
  35. fs.Flush ();
  36. fs.Close ();
  37. }
  38. string [] selectedItems = new string [FileManager1.SelectedItems.Length];
  39. for (int i = 0; i < FileManager1.SelectedItems.Length; i++) {
  40. selectedItems [i] = System.IO.Path.GetFileName (FileManager1.SelectedItems [i].PhysicalPath);
  41. }
  42. //Copy a folder and its contents into the newly created zip file
  43. Shell32.ShellClass sc = new Shell32.ShellClass ();
  44. Shell32.Folder DestFlder = sc.NameSpace (zipFile);
  45. Shell32.Folder SrcFlder = sc.NameSpace (FileManager1.CurrentDirectory.PhysicalPath);
  46. Shell32.FolderItems items = SrcFlder.Items ();
  47. foreach (Shell32.FolderItem item in items) {
  48. if (Array.LastIndexOf<string> (selectedItems, item.Name) >= 0)
  49. DestFlder.CopyHere (item, 20);
  50. }
  51. //Ziping a file using the Windows Shell API creates another thread where the zipping is executed.
  52. //This means that it is possible that this console app would end before the zipping thread
  53. //starts to execute which would cause the zip to never occur and you will end up with just
  54. //an empty zip file. So wait a second and give the zipping thread time to get started
  55. System.Threading.Thread.Sleep (1000);
  56. }
  57. else {
  58. throw new InvalidOperationException ();
  59. }
  60. }
  61. </script>
  62. <asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
  63. <script type="text/javascript">
  64. function OpenItem(path) {
  65. alert('Use ClientOpenItemFunction property to handle Open command\npath='+path);
  66. }
  67. </script>
  68. <div style="margin-top: 8px; margin-bottom: 8px;">
  69. Use your custom File Types, Commands & New Document Templates<br />
  70. <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox1_CheckedChanged"
  71. Text="ReadOnly" />&nbsp;&nbsp;<asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True"
  72. Checked="True" OnCheckedChanged="CheckBox2_CheckedChanged" Text="AllowUpload" />&nbsp;<asp:CheckBox
  73. ID="CheckBox3" runat="server" AutoPostBack="True" Checked="True" OnCheckedChanged="CheckBox3_CheckedChanged"
  74. Text="AllowDelete" />
  75. <asp:CheckBox ID="CheckBox4" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox4_CheckedChanged"
  76. Text="AllowOverwrite" />
  77. <asp:CheckBox ID="CheckBox5" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox5_CheckedChanged"
  78. Text="UseLinkToOpenItem" />
  79. <asp:CheckBox ID="CheckBox6" runat="server" AutoPostBack="True" Checked="true" OnCheckedChanged="CheckBox6_CheckedChanged"
  80. Text="ShowHiddenFolders" />
  81. <asp:CheckBox ID="CheckBox7" runat="server" AutoPostBack="True" OnCheckedChanged="CheckBox7_CheckedChanged"
  82. Text="DownloadOnDoubleClick" /></div>
  83. <div>
  84. <iz:FileManager ID="FileManager1" runat="server" Height="400px" Width="600" OnExecuteCommand="FileManager1_ExecuteCommand"
  85. ClientOpenItemFunction="OpenItem" OnToolbarCommand="FileManager1_ToolbarCommand"
  86. HiddenFilesAndFoldersPrefix="_" ShowHiddenFilesAndFolders="true" HiddenFiles="config, ini">
  87. <RootDirectories>
  88. <iz:RootDirectory DirectoryPath="~/Files/My Documents" Text="My Documents" />
  89. </RootDirectories>
  90. <CustomToolbarButtons>
  91. <iz:CustomToolbarButton Text="Create Zip" CommandName="CreateZip" ImageUrl="images/16x16/zip.gif" />
  92. <iz:CustomToolbarButton Text="Say Hello!" PerformPostBack="false" OnClientClick="alert('Hello!')"
  93. ImageUrl="images/16x16/smile.gif" />
  94. </CustomToolbarButtons>
  95. <ToolbarOptions ShowRefreshButton="false" />
  96. <Templates>
  97. <iz:NewDocumentTemplate Name="HTML Page" NewFileName="New HTML File" MasterFileUrl="Templates/HTMLPage.htm" />
  98. <iz:NewDocumentTemplate Name="JScript File" NewFileName="JScript" MasterFileUrl="Templates/JScript.js" />
  99. <iz:NewDocumentTemplate Name="Style Sheet" NewFileName="StyleSheet" MasterFileUrl="Templates/StyleSheet.css" />
  100. </Templates>
  101. <FileTypes>
  102. <iz:FileType Extensions="zip, rar, iso" Name="Archive" SmallImageUrl="images/16x16/compressed.gif"
  103. LargeImageUrl="images/32x32/compressed.gif">
  104. </iz:FileType>
  105. <iz:FileType Extensions="doc, rtf" Name="Microsoft Word Document" SmallImageUrl="images/16x16/word.gif"
  106. LargeImageUrl="images/32x32/word.gif">
  107. </iz:FileType>
  108. <iz:FileType Extensions="xls, csv" Name="Microsoft Excel Worksheet" SmallImageUrl="images/16x16/excel.gif"
  109. LargeImageUrl="images/32x32/excel.gif">
  110. </iz:FileType>
  111. <iz:FileType Extensions="ppt, pps" Name="Microsoft PowerPoint Presentation" SmallImageUrl="images/16x16/PowerPoint.gif"
  112. LargeImageUrl="images/32x32/PowerPoint.gif">
  113. </iz:FileType>
  114. <iz:FileType Extensions="gif, jpg, png" Name="Image" SmallImageUrl="images/16x16/image.gif"
  115. LargeImageUrl="images/32x32/image.gif">
  116. </iz:FileType>
  117. <iz:FileType SmallImageUrl="images/16x16/media.gif" Name="Windows Media File" Extensions="mp3,wma,vmv,avi,divx"
  118. LargeImageUrl="images/32x32/media.gif">
  119. </iz:FileType>
  120. <iz:FileType Extensions="txt" Name="Text Document">
  121. <Commands>
  122. <iz:FileManagerCommand Name="Edit" CommandName="EditText" SmallImageUrl="images/16x16/edit.gif" />
  123. </Commands>
  124. </iz:FileType>
  125. <iz:FileType Extensions="xml, xsl, xsd" Name="XML Document" LargeImageUrl="images/32x32/xml.gif"
  126. SmallImageUrl="images/16x16/xml.gif">
  127. <Commands>
  128. <iz:FileManagerCommand Name="Edit" CommandName="EditText" SmallImageUrl="images/16x16/edit.gif" />
  129. </Commands>
  130. </iz:FileType>
  131. <iz:FileType Extensions="css" Name="Cascading Style Sheet" LargeImageUrl="images/32x32/styleSheet.gif"
  132. SmallImageUrl="images/16x16/styleSheet.gif">
  133. <Commands>
  134. <iz:FileManagerCommand Name="Edit" CommandName="EditText" SmallImageUrl="images/16x16/edit.gif" />
  135. </Commands>
  136. </iz:FileType>
  137. <iz:FileType Extensions="js, vbs" Name="Script File" LargeImageUrl="images/32x32/script.gif"
  138. SmallImageUrl="images/16x16/script.gif">
  139. <Commands>
  140. <iz:FileManagerCommand Name="Edit" CommandName="EditText" SmallImageUrl="images/16x16/edit.gif" />
  141. </Commands>
  142. </iz:FileType>
  143. <iz:FileType Extensions="htm, html" Name="HTML Document" LargeImageUrl="images/32x32/html.gif"
  144. SmallImageUrl="images/16x16/html.gif">
  145. <Commands>
  146. <iz:FileManagerCommand Name="Edit with WYSWYG editor" CommandName="WYSWYG" />
  147. <iz:FileManagerCommand Name="Edit" CommandName="EditText" SmallImageUrl="images/16x16/edit.gif" />
  148. </Commands>
  149. </iz:FileType>
  150. </FileTypes>
  151. </iz:FileManager>
  152. </div>
  153. </asp:Content>