home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / iis4_03.cab / iimimehd.asp < prev    next >
Text File  |  1997-11-12  |  6KB  |  289 lines

  1. <%@ LANGUAGE=VBScript %>
  2. <% Option Explicit %>
  3. <% Response.Expires = 0 %>
  4.  
  5. <% if Session("FONTSIZE") = "" then %>
  6.     <!--#include file="iito.inc"-->
  7. <% else %>
  8.  
  9. <% 
  10. Const L_NOTIMPLEMENTED_ERRORMESSAGE = "This feature is not yet implemented."
  11. Const L_FILETYPES_TEXT = "File Types"
  12. Const L_REGTYPES_TEXT = "Registered file types:"
  13. Const L_NEWTYPE_TEXT = "New Type..."
  14. Const L_REMOVE_TEXT = "Remove"
  15. Const L_EDIT_TEXT = "Edit..."
  16. Const L_EXT_TEXT = "Extension"
  17. Const L_CONENTTYPE_TEXT = "Content Type (MIME)"
  18. Const L_SELECTITEM_TEXT="Select a mime type to delete."
  19.  
  20. function heading(width,thestring)
  21.     Dim i
  22.     width=width - len(thestring)
  23.     for i=width to 0 step -1
  24.         thestring=thestring & " "
  25.     Next
  26.     heading=thestring
  27. end function
  28. %>
  29.  
  30. <HTML>
  31. <HEAD>
  32. <TITLE></TITLE>
  33. </HEAD>
  34.  
  35. <BODY BGCOLOR="#CCCCCC" LINK="#000000" VLINK="#000000" TOPMARGIN=10 TEXT="#000000" onLoad="loadList();loadHelp();">
  36. <FORM name="hiddenform">
  37.     <INPUT TYPE="hidden" NAME="index" VALUE=-1>
  38. </FORM>
  39. <FORM NAME="userform">
  40.  
  41. <P>
  42. <TABLE BORDER=0 BGCOLOR="#CCCCCC" WIDTH=99%  CELLPADDING=0 CELLSPACING = 0>
  43.     <TR><TD><FONT FACE="HELV,ARIAL" SIZE=1>
  44.     <%= L_REGTYPES_TEXT %>
  45.     </TD></TR>
  46. </TABLE>
  47.  
  48. </FORM>
  49.  
  50.  
  51. <TABLE BORDER = 1 BORDERCOLOR="#CCCCCC" BORDERCOLORDARK="#CCCCCC" BORDERCOLORLIGHT="#CCCCCC"  CELLPADDING = 2 CELLSPACING = 0>
  52. <TR>
  53. <TD WIDTH = 75 BORDERCOLOR="#CCCCCC" BORDERCOLORDARK="#FFFFFF" BORDERCOLORLIGHT="#000000"><FONT SIZE=1 FACE='HELV'>
  54.     <A HREF = "javascript:sortList('ext');">
  55.         <%= heading(18,L_EXT_TEXT) %>
  56.     </A>
  57. </TD>
  58. <TD WIDTH = 160 BORDERCOLOR="#CCCCCC" BORDERCOLORDARK="#FFFFFF" BORDERCOLORLIGHT="#000000"><FONT SIZE=1 FACE='HELV'>
  59.     <A HREF = "javascript:sortList('app');">
  60.         <%= heading(36,L_CONENTTYPE_TEXT) %>
  61.     </A>
  62. </TD>
  63. </TR>
  64. </TABLE>
  65.  
  66.  
  67. <SCRIPT LANGUAGE="JavaScript">
  68.  
  69.     function loadList(){
  70.         parent.list.location.href = "iimimels.asp";
  71.     }
  72.     
  73.     function loadHelp(){
  74.         top.title.Global.helpFileName="iipxrdir";
  75.     }
  76.     
  77.     function setLastSel(id){
  78.         for (var i=0; i < cachedList.length; i++) {
  79.             if (cachedList[i].id == id){
  80.                 document.hiddenform.index.value = i;
  81.                 return;
  82.             }
  83.         }
  84.         
  85.     }    
  86.     
  87.     function sortList(sortby)
  88.         {
  89.         i=eval(document.hiddenform.index.value);
  90.         if ( i != -1)
  91.         {        
  92.             lastsel = cachedList[i].id
  93.         }
  94.         
  95.         if (sortby != listFunc.sortby)
  96.             {
  97.             listFunc.sortby = sortby;
  98.             listFunc.sortAsc = true;
  99.             }
  100.         else
  101.             {
  102.             listFunc.sortAsc = !listFunc.sortAsc;
  103.             }
  104.  
  105.         var num = parseFloat(cachedList[sortby]);
  106.         if (isNaN(num))
  107.             {
  108.             cachedList.sort(sortOrder);
  109.             }
  110.         else
  111.             { 
  112.             cachedList.sort(numOrder);
  113.             }
  114.             
  115.         if (!listFunc.sortAsc)
  116.             {
  117.             cachedList.reverse();
  118.             }
  119.             
  120.         if ( i != -1)
  121.         {            
  122.             setLastSel(lastsel);            
  123.         }
  124.         loadList();
  125.         }
  126.  
  127.     function sortOrder(a,b)
  128.         {
  129.         if (a[listFunc.sortby] < b[listFunc.sortby])
  130.             {
  131.             return -1;
  132.             }
  133.         else
  134.             {
  135.             if (a[listFunc.sortby] > b[listFunc.sortby])
  136.                 {
  137.                 return 1;
  138.                 }
  139.             else
  140.                 {
  141.                 return 0;
  142.                 }
  143.             }
  144.         }
  145.  
  146.  
  147.  
  148.     function moveItem(dir){
  149.     
  150.     }
  151.  
  152.     function addItem(){
  153.         i = cachedList.length
  154.         listFunc.noupdate = true;        
  155.         cachedList[i] = new listObj(i,"", "");
  156.         cachedList[i].newitem = true;
  157.         cachedList[i].updated = true;
  158.         document.hiddenform.index.value = i;
  159.         loadList();
  160.     }
  161.  
  162.     function delItem(){
  163.     
  164.         if (document.hiddenform.index.value != -1){
  165.             listFunc.noupdate = true;
  166.             i = eval(document.hiddenform.index.value);
  167.             cachedList[i].deleted = true;
  168.             cachedList[i].updated = true;
  169.             
  170.             <% 'run through the list to find the Next non-deleted item %>
  171.             for (var j = (i-1); j >=0; j--) {
  172.                 if (!cachedList[j].deleted){
  173.                     break            
  174.                 }
  175.             }    
  176.             document.hiddenform.index.value = j;
  177.             loadList();
  178.         }
  179.         else{
  180.             alert("<%= L_SELECTITEM_TEXT %>");    
  181.         }
  182.         
  183.     }
  184.     
  185.     function crop(thestring,size)
  186.         {
  187.         <% if Session("FONTSIZE") = "LARGE" then %>
  188.             size = size-10;
  189.         <% end if %>
  190.         if (thestring.length > size)
  191.             {
  192.             thestring = thestring.substring(0,size) + "...";
  193.             }
  194.         return thestring;
  195.         }        
  196.  
  197.     function buildListForm(){
  198.         numrows = 0;
  199.         for (var i = 0; i < cachedList.length; i++) {
  200.             if ((!cachedList[i].deleted) && ((cachedList[i].ext + cachedList[i].app) != "")){
  201.                 numrows = numrows + 1;
  202.             }
  203.         }
  204.         qstr = "numrows="+numrows;
  205.         qstr = qstr+"&cols=ext&cols=app"
  206.  
  207.         parent.parent.hlist.location.href = "iihdn.asp?"+qstr;
  208.         <% 'the list values will be grabbed by the hiddenlistform script... %>
  209.     }
  210.  
  211.  
  212.     function SetListVals(){
  213.         listForm = parent.parent.hlist.document.hiddenlistform;    
  214.         j = 0;
  215.         for (var i = 0; i < cachedList.length; i++) {
  216.             if ((!cachedList[i].deleted) && ((cachedList[i].ext + cachedList[i].app) != "")){
  217.                 listForm.elements[j++].value = cachedList[i].ext;
  218.                 listForm.elements[j++].value = cachedList[i].app;
  219.                 cachedList[i].updated = false;
  220.             }
  221.         }
  222.     }
  223.  
  224.  
  225.     function listFuncs(){
  226.         this.sortList = sortList;
  227.         this.sortby = "ext";
  228.         this.sortAsc = true;
  229.         this.addItem = addItem;
  230.         this.delItem = delItem;
  231.         this.writeList = buildListForm;
  232.         this.SetListVals = SetListVals;
  233.         openedby = top.opener.location.href;
  234.         if (openedby.indexOf("comp") > -1){    
  235.             top.poptools.toolFunc.mainframe = top.opener.top.opener.top;
  236.         }
  237.         this.noupdate = false;
  238.     }
  239.     
  240.     listFunc = new listFuncs();
  241.  
  242.     function listObj(i,e,a){
  243.         this.id = i;
  244.         this.ext = e;
  245.         this.app=a;
  246.         this.deleted = false;
  247.         this.newitem = false;
  248.         this.updated = false;
  249.     }
  250.     
  251.  
  252.  
  253. cachedList = new Array();
  254.  
  255. <%
  256. On Error Resume Next
  257.  
  258. Dim path, currentobj, aMimeMap, Map, i, mapsize, mext, mtype
  259.  
  260. path = Session("dpath")
  261. Session("path") = path
  262. Session("SpecObj") = path & "/MimeMap"
  263. if Session("vtype") = "comp" then
  264.     Set currentobj=GetObject(path & "/MimeMap")
  265. else
  266.     Set currentobj=GetObject(path)
  267. end if 
  268. Session("SpecProps")=""
  269.  
  270. i = 0
  271. aMimeMap = currentobj.GetEx("MimeMap")
  272.  
  273. for each Map in aMimeMap
  274.     mext = Map.Extension
  275.     mtype = Map.MimeType
  276.     if mext <> "" and mtype <> "" then
  277.     %>cachedList[<%= i %>] = new listObj(<%= i %>,"<%= mext %>","<%= mtype %>");<%
  278.     i = i+1
  279.     end if
  280. Next
  281. %>
  282. </SCRIPT>
  283.  
  284.  
  285.  
  286. </BODY>
  287. </HTML>
  288.  
  289. <% end if %>