home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 March / CHIPCD_3_98.iso / software / testsoft / exchange / webdata / usa / lib / getrend.inc < prev    next >
Text File  |  1997-08-25  |  26KB  |  571 lines

  1. <!--#include file="render.inc"-->
  2. <!--#include file="store.inc"-->
  3. <%
  4. '!--Microsoft Outlook Web Access-->
  5. '!--GetRend.inc - GetRenderer functions-->
  6. '!--Copyright (c) Microsoft Corporation 1993-1997. All rights reserved.-->
  7.  
  8.  
  9. '=======================
  10. ' GetMessagesRenderer
  11. '
  12. ' Returns: rendering object for folder contents
  13. '=======================
  14. Public Function GetMessagesRenderer(ByRef fNew)
  15.     On Error Resume Next
  16.  
  17.     Set GetMessagesRenderer = Nothing
  18.     
  19.     Set objRenderer = GetTableRenderer(bstrRenderFolder, fNew)
  20.  
  21.     If (Not objRenderer Is Nothing) Then
  22.         If fNew Then
  23.  
  24.             bstrImgSrc = "<IMG SRC=" + bstrVirtRoot
  25.             'priority
  26.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_IMPORTANCE, Null)
  27.             objRenderer.HeadingRowPrefix = "<tr bgcolor=#c0c0c0>"
  28.             objRenderer.HeadingRowSuffix = "</tr>"
  29.     
  30.  
  31.             Set objPatterns = objFormat.Patterns
  32.             bstrHTML =  bstrImgSrc + "/images/low.gif WIDTH=13 HEIGHT=16 BORDER=0>"
  33.             objPatterns.Add 0, bstrHTML
  34.             objPatterns.Add 1, ""
  35.         
  36.             bstrHTML =  bstrImgSrc + "/images/urgent.gif WIDTH=13 HEIGHT=16 BORDER=0>"
  37.             objPatterns.Add 2, bstrHTML
  38.  
  39.  
  40.             'message class
  41.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_MESSAGE_CLASS, Null)
  42.  
  43.  
  44.             Set objPatterns = objFormat.Patterns
  45.         
  46.             bstrHTML =  bstrImgSrc + "/images/envelope.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  47.             objPatterns.Add "IPM.Note", bstrHTML
  48.         
  49.             bstrHTML =  bstrImgSrc + "/images/encrypt.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  50.             objPatterns.Add "IPM.Note.Secure", bstrHTML
  51.  
  52.             bstrHTML =  bstrImgSrc + "/images/digi_sig.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  53.             objPatterns.Add "IPM.Note.Secure.Sign", bstrHTML
  54.  
  55.             bstrHTML =  bstrImgSrc + "/images/oof.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  56.             objPatterns.Add "IPM.Note.Rules.OofTemplate.Microsoft", bstrHTML
  57.         
  58.             bstrHTML =  bstrImgSrc + "/images/post.gif WIDTH=16 HEIGHT=15 BORDER=0>"
  59.             objPatterns.Add "IPM.Post", bstrHTML
  60.         
  61.             bstrHTML =  bstrImgSrc + "/images/freedoc.gif WIDTH=16 HEIGHT=15 BORDER=0>"
  62.             objPatterns.Add "IPM.Document.*", bstrHTML
  63.         
  64.             bstrHTML =  bstrImgSrc + "/images/mtgreq.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  65.             objPatterns.Add "IPM.Schedule.Meeting.Request", bstrHTML
  66.             
  67.             bstrHTML =  bstrImgSrc + "/images/mtgcancl.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  68.             objPatterns.Add "IPM.Schedule.Meeting.Canceled", bstrHTML
  69.         
  70.             bstrHTML =  bstrImgSrc + "/images/mtgaccpt.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  71.             objPatterns.Add "IPM.Schedule.Meeting.Resp.Tent", bstrHTML
  72.         
  73.             bstrHTML =  bstrImgSrc + "/images/mtgaccpt.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  74.             objPatterns.Add "IPM.Schedule.Meeting.Resp.Pos", bstrHTML
  75.         
  76.             bstrHTML =  bstrImgSrc + "/images/mtgdecln.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  77.             objPatterns.Add "IPM.Schedule.Meeting.Resp.Neg", bstrHTML
  78.         
  79.             bstrHTML =  bstrImgSrc + "/images/ipnrn.gif WIDTH=16 HEIGHT=11 BORDER=0>"
  80.             objPatterns.Add "*IPNRN", bstrHTML
  81.                 
  82.             bstrHTML =  bstrImgSrc + "/images/ipnnrn.gif WIDTH=16 HEIGHT=11 BORDER=0>"
  83.             objPatterns.Add "*IPNNRN", bstrHTML
  84.                 
  85.             bstrHTML =  bstrImgSrc + "/images/ndr.gif WIDTH=16 HEIGHT=11 BORDER=0>"
  86.             objPatterns.Add "*NDR", bstrHTML
  87.         
  88.             bstrHTML =  bstrImgSrc + "/images/dr.gif WIDTH=16 HEIGHT=11 BORDER=0>"
  89.             objPatterns.Add "*DR", bstrHTML
  90.  
  91.             bstrHTML =  bstrImgSrc + "/images/envelope.gif WIDTH=16 HEIGHT=16 BORDER=0>"
  92.             objPatterns.Add "*", bstrHTML
  93.  
  94.             'attachments
  95.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_HASATTACH, Null)
  96.         
  97.             Set objPatterns = objFormat.Patterns
  98.             objPatterns.Add 0, ""
  99.             bstrHTML =  bstrImgSrc + "/images/papclip.gif WIDTH=10 HEIGHT=14 BORDER=0>"
  100.             objPatterns.Add 1, bstrHTML
  101.  
  102.             'message flag (Outlook property)
  103.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_FLAG_STATUS, Null)
  104.             Set objPatterns = objFormat.Patterns
  105.             objPatterns.Add 0, ""
  106.             bstrHTML =  bstrImgSrc + "/images/flagcomp.gif WIDTH=12 HEIGHT=12 BORDER=0>"
  107.             objPatterns.Add 1, bstrHTML
  108.             bstrHTML =  bstrImgSrc + "/images/flagmark.gif WIDTH=12 HEIGHT=12 BORDER=0>"
  109.             objPatterns.Add 2, bstrHTML
  110.  
  111.             'from
  112.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_SENT_REPRESENTING_NAME, Null)
  113.             objFormat.Patterns.Add "*", "<FONT SIZE=2 " + bstrFace + ">%value%</FONT>"
  114.  
  115.             'subject
  116.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_SUBJECT, Null)
  117.             objFormat.Patterns.Add "*", "<FONT SIZE=2 " + bstrFace + ">%value%</FONT>"
  118.  
  119.             'date
  120.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_MESSAGE_DELIVERY_TIME, Null)
  121.             objFormat.Patterns.Add "*", "<FONT SIZE=2 " + bstrFace + ">%value%</FONT>"
  122.  
  123.             'size
  124.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_MESSAGE_SIZE, Null)
  125.             objFormat.Patterns.Add "*", "<FONT SIZE=2 " + bstrFace + ">%kvalue%"+L_Kilobytes_Text+"</FONT>"
  126.  
  127.             'read receipt requested
  128.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_READ_RECEIPT_REQUESTED, Null)
  129.             Set objPatterns = objFormat.Patterns
  130.             objPatterns.Add 0, L_NO_Text
  131.             objPatterns.Add 1, L_YES_Text
  132.  
  133.             'sensitivity
  134.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_SENSITIVITY, Null)
  135.             Set objPatterns = objFormat.Patterns
  136.             objPatterns.Add 0, L_Normal_Text
  137.             objPatterns.Add 1, L_Personal_Text
  138.             objPatterns.Add 2, L_Priv_Text
  139.             objPatterns.Add 3, L_Confidential_Text
  140.  
  141.             'delete button (based on the prop PR_ROWID)
  142.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_ROWID, Null)
  143.             objFormat.Patterns.Add "*", "<INPUT name=%value% value=%obj% type=checkbox>"
  144.  
  145.             If (Session(bstrAuthenticated)) Then
  146.                 bstrHTML = "<A HREF='JavaScript:parent.openNewWindow(""" + bstrVirtRoot + "/forms/%classpath%frmRoot.asp?index=%rowid%&obj=%obj%&command=open"", ""%obj%"", 640, 500)'>%value%</A>"
  147.             Else
  148.                 bstrHTML = "<A HREF='JavaScript:parent.openNewWindow(""" + bstrVirtRoot + "/forms/%classpath%frmRoot.asp?index=%rowid%&obj=%obj%&acs=anon&command=open"", ""%obj%"", 640, 500)'>%value%</A>"
  149.             End If
  150.     
  151.             objRenderer.LinkPattern = bstrHTML
  152.             Set objPatterns = Nothing
  153.  
  154.             If Err.Number <> 0 Then
  155.                 ReportError1 L_errFailSetDefaultPatterns_ErrorMessage
  156.             End If
  157.             
  158.             If (Session(bstrAuthenticated)) Then
  159.                 Set objViews = objRenderer.Views
  160.                 If (Err.Number <> 0) Then
  161.                     ReportError1 L_errFailGetViews_ErrorMessage
  162.                 Else
  163.                     nViews = objViews.Count
  164.                     For iView = 1 To nViews
  165.                         Set objView = objViews.Item(iView)
  166.                         'Add the checkbox column.
  167.                         ' 4 is the column width
  168.                         Set objColumn = objView.Columns.Add("<IMG SRC=../images/mark.gif HEIGHT=13 WIDTH=13>", ActMsgPR_ROWID, 13, AMHTML_Column_CenterJustify Or AMHTML_Column_NotSortable Or AMHTML_Column_Bitmap, objView.Categories)
  169.                     Next
  170.                 End If
  171.             End If
  172.         
  173.         End If 'fNew
  174.  
  175.     End If  'Not objRender Is Nothing
  176.  
  177.     Set GetMessagesRenderer = objRenderer
  178. End Function
  179.  
  180. '=======================
  181. ' GetPrivateHierarchyRenderer
  182. '
  183. ' Returns: rendering object for folder contents
  184. '=======================
  185. Public Function GetPrivateHierarchyRenderer(ByRef fNew)
  186.     On Error Resume Next
  187.  
  188.     Set GetPrivateHierarchyRenderer = Nothing
  189.     
  190.     Set objRenderer = GetTableRenderer(bstrRenderHierarchy, fNew)
  191.  
  192.     If (Not objRenderer Is Nothing) Then
  193.         If Not Session("fPrivateFormats") Then
  194.             objRenderer.TablePrefix = "<table border=0 cellspacing=0 cellpadding=1 WIDTH=""100%"">" & Chr(13) & Chr(10)
  195.         
  196.             OpenPrivateStore
  197.             Set objStore = Session(bstrObjPrivateStore)
  198.             If (Not objStore Is Nothing) Then
  199.                 szRootID = objStore.Fields.Item(ActMsgPR_IPM_SUBTREE_ENTRYID).Value
  200.  
  201.                 ' Add formats needed for hierarchy renderer.
  202.                 ' Use named formats so as not to clash with formats defined for like properties
  203.                 ' in the content frame.
  204.  
  205.                 ' ...entry ID (specifically for parent link)
  206.                 Set objFormat = objRenderer.Formats.Item("folderhierarchy_Parent")
  207.                 If objFormat Is Nothing Then
  208.                     Set objFormat = objRenderer.Formats.Add(0, "folderhierarchy_Parent")
  209.                 End If
  210.                 ' Link for any other folder
  211.                 
  212.                 szHTML = "<TD BGCOLOR=#c0c0c0 COLSPAN=2><A HREF='Javascript:parent.SetNewFolderPick(""%parentobj%"")'>" + _
  213.                 "<IMG width=15 height=13 hspace=1 SRC='../images/upone.gif' BORDER=0 ALT='" + _
  214.                 L_UpOneFolder_Text + "'></a><FONT size=2  " + bstrFace + " color=000000><b>" + FOLDERS + "</b></font>"
  215.  
  216.                 objFormat.Patterns.Add "*", szHTML
  217.                 objFormat.Patterns.Add szRootID, "<TD BGCOLOR=c0c0c0 COLSPAN=2> </TD>"
  218.  
  219.                 ' ...entry ID again (used to render icon in the hierarchy pane)
  220.                 ' special folder search key props are not available on the private store object
  221.                 Set objFormat = Nothing
  222.                 Set objFormat = objRenderer.Formats.Item("folderhierarchy_Icon")
  223.                 If objFormat Is Nothing Then
  224.                     Set objFormat = objRenderer.Formats.Add(0, "folderhierarchy_Icon")
  225.                 End If
  226.                 szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/folder.gif' ALT='" + _
  227.                  L_Folder_Text + "' WIDTH=16 HEIGHT=16>"
  228.                 objFormat.Patterns.Add "*", szHTML
  229.                 szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/mailbox.gif' ALT='" + _ 
  230.                  L_Mailbox_Text + "' WIDTH=16 HEIGHT=16>"
  231.                 objFormat.Patterns.Add szRootID, szHTML
  232.                 szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/inbox.gif' ALT='" + _
  233.                  L_Inbox_Text + "' WIDTH=16 HEIGHT=16>"
  234.                 objFormat.Patterns.Add objOMSession.Inbox.ID, szHTML
  235.                 szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/outbox.gif' ALT='" + _
  236.                  L_Outbox_Text + "' WIDTH=16 HEIGHT=16>"
  237.                 objFormat.Patterns.Add objStore.Fields.Item(ActMsgPR_IPM_OUTBOX_ENTRYID).Value, szHTML
  238.                 szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/deleted.gif' ALT='" + _
  239.                  L_DeletedItems_Text + "' WIDTH=16 HEIGHT=16>"
  240.                 objFormat.Patterns.Add objStore.Fields.Item(ActMsgPR_IPM_WASTEBASKET_ENTRYID).Value, szHTML
  241.                 szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/sent_itm.gif' ALT='" + _
  242.                  L_SentItems_Text + "' WIDTH=16 HEIGHT=16>"
  243.                 objFormat.Patterns.Add objStore.Fields.Item(ActMsgPR_IPM_SENTMAIL_ENTRYID).Value, szHTML
  244.                 szHTML = "<img border=0 hspace=0 src='../images/calendar.gif' alt='" +_
  245.                 L_Calendar_Text +"' width=16 height=16>"
  246.                 objFormat.Patterns.Add objOMSession.GetDefaultFolder(0).ID, szHTML
  247.  
  248.  
  249.                 ' ...display name - provides URL wrapper for hierarchy pane
  250.                 Set objFormat = Nothing
  251.                 Set objFormat = objRenderer.Formats.Item("folderhierarchy_Link")
  252.                 If objFormat Is Nothing Then
  253.                     Set objFormat = objRenderer.Formats.Add(0, "folderhierarchy_Link")
  254.                 End If
  255.                 ' link format
  256.                 objFormat.Patterns.Add "*", "<A HREF='Javascript:parent.SetNewFolderPick(""%obj%"")'>%value%</A></font>"
  257.                 Set objFormat = objRenderer.Formats.Add(ActMsgPR_DISPLAY_NAME, Null)
  258.                 ' special case if it's the root
  259.                 objFormat.Patterns.Add objStore.RootFolder.Name, L_Mailbox_Text
  260.  
  261.                 Set objFormat = Nothing
  262.                 Session("fPrivateFormats") = True
  263.             End If
  264.          End If
  265.     End If
  266.  
  267.     Set GetPrivateHierarchyRenderer = objRenderer
  268. End Function
  269.  
  270. '=======================
  271. ' GetPublicHierarchyRenderer
  272. '
  273. ' Returns: rendering object for folder contents
  274. '=======================
  275. Public Function GetPublicHierarchyRenderer(ByRef fNew)
  276.     On Error Resume Next
  277.  
  278.     Set GetPublicHierarchyRenderer = Nothing
  279.     
  280.     Set objRenderer = GetTableRenderer(bstrRenderHierarchy, fNew)
  281.  
  282.     If Not Session("fPublicFormats") Then
  283.         objRenderer.TablePrefix = "<table border=0 cellspacing=0 cellpadding=1 WIDTH=""100%"">" & Chr(13) & Chr(10)
  284.         objRenderer.HeadingRowPrefix = "<tr bgcolor=#c0c0c0 valign=""top"">" & Chr(13) & Chr(10)
  285.  
  286.         OpenPublicStore
  287.         Set objStore = Session(bstrObjPublicStore)
  288.         If (Not objStore Is Nothing) Then
  289.  
  290.             ' Save away the public store for internal use
  291.             objRenderer.CurrentStore = objStore
  292.  
  293.             If Session(bstrAuthenticated) Then
  294.                 szRootID = objStore.Fields.Item(ActMsgPR_IPM_PUBLIC_FOLDERS_ENTRYID).Value
  295.             Else
  296.                 ' add special handling for each folder in the list of published folders
  297.                 Set objRenderApp = Application(bstrRenderApp)
  298.                 aPublishedFolders = objRenderApp.ConfigParameter("Published Public Folders")
  299.  
  300.                 If (Err.Number <> 0) Then
  301.                     ReportError1 L_errFailGetAnonPubFolders_ErrorMessage
  302.                 End If
  303.             End If
  304.  
  305.             ' Add formats needed for hierarchy renderer.
  306.             ' Use named formats so as not to clash with formats defined for like properties
  307.             ' in the content frame.
  308.  
  309.             ' ...entry ID (specifically for parent link)
  310.             Set objFormat = objRenderer.Formats.Item("folderhierarchy_Parent")
  311.             If objFormat Is Nothing Then
  312.                 Set objFormat = objRenderer.Formats.Add(0, "folderhierarchy_Parent")
  313.             End If
  314.  
  315.             If Session(bstrAuthenticated) Then
  316.                 objFormat.Patterns.Add szRootID, "<TD BGCOLOR=c0c0c0 COLSPAN=2> </TD>"
  317.             Else
  318.                 szHTML = "<TD BGCOLOR=c0c0c0 COLSPAN=2><FONT size=2  " + bstrFace + " color=000000>" + _
  319.                 "<A HREF='Javascript:parent.SetNewFolderPick("""")'><IMG BORDER=0 hspace=0 SRC='../images/upone.gif' ALT='" + _
  320.                 L_Folders_Text + "' WIDTH=15 HEIGHT=13></A><B>" + FOLDERS + "</B></font></TD>" 
  321.  
  322.                 If Not IsEmpty(aPublishedFolders) Then              
  323.                     For iFolder = LBound(aPublishedFolders) to UBound(aPublishedFolders)
  324.                         objFormat.Patterns.Add aPublishedFolders(iFolder), szHTML
  325.                     Next
  326.                 End If
  327.             End If
  328.             ' Link for any other folder
  329.  
  330.             szHTML = "<TD BGCOLOR=c0c0c0 COLSPAN=2><A HREF='Javascript:parent.SetNewFolderPick(""%parentobj%"")'>" + _
  331.             "<IMG width=15 height=13 hspace=1 SRC='../images/upone.gif' BORDER=0 ALT='" + _
  332.             L_UpOneFolder_Text + "'></a><FONT size=2  " + bstrFace + " color=000000><b>" + FOLDERS + "</b></font></TD>"
  333.  
  334.             objFormat.Patterns.Add "*", szHTML
  335.  
  336.             ' ...entry ID again (used to render icon in the hierarchy pane)
  337.             ' special folder search key props are not available on the private store object
  338.  
  339.             Set objFormat = Nothing
  340.             Set objFormat = objRenderer.Formats.Item("folderhierarchy_Icon")
  341.             If objFormat Is Nothing Then
  342.                 Set objFormat = objRenderer.Formats.Add(0, "folderhierarchy_Icon")
  343.             End If
  344.  
  345.             szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/folder.gif' ALT='" + _
  346.             FOLDER + "' WIDTH=16 HEIGHT=16>"
  347.             objFormat.Patterns.Add "*", szHTML
  348.  
  349.             If Session(bstrAuthenticated) Then
  350.                 szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/mailbox.gif' ALT='" + _
  351.                 L_PublicFolders_Text + "' WIDTH=16 HEIGHT=16>"
  352.                 objFormat.Patterns.Add szRootID, szHTML
  353.             Else
  354.                 If Not IsEmpty(aPublishedFolders) Then
  355.                     For iFolder = LBound(aPublishedFolders) to UBound(aPublishedFolders)
  356.                         szHTML = "<IMG BORDER=0 hspace=0 SRC='../images/mailbox.gif' ALT='" + _
  357.                         L_PublicFolders_Text + "' WIDTH=16 HEIGHT=16>"
  358.                         objFormat.Patterns.Add aPublishedFolders(iFolder), szHTML
  359.                     Next
  360.                 End If
  361.             End If
  362.             
  363.             ' ...display name - provides URL wrapper for hierarchy pane
  364.             ' this is just for the current folder, so destroy any previous stuff
  365.             Set objFormat = Nothing
  366.             Set objFormat = objRenderer.Formats.Item("folderhierarchy_Link")
  367.             If objFormat Is Nothing Then
  368.                 Set objFormat = objRenderer.Formats.Add(0, "folderhierarchy_Link")
  369.             End If
  370.             ' anything else gets a link
  371.             objFormat.Patterns.Add "*", "<A HREF='Javascript:parent.SetNewFolderPick(""%obj%"")'>%value%</A>"
  372.             Set objFormat = objRenderer.Formats.Add(ActMsgPR_DISPLAY_NAME, Null)
  373.             ' special case if it's the root
  374.             objFormat.Patterns.Add objStore.RootFolder.Name, L_Mailbox_Text
  375.  
  376.             Set objFormat = Nothing
  377.             Session("fPublicFormats") = True
  378.         End If
  379.     End If
  380.     Set GetPublicHierarchyRenderer = objRenderer
  381. End Function
  382.  
  383. '=======================
  384. ' GetAddressContainerRenderer
  385. '
  386. ' Returns: rendering object for address container contents,
  387. ' such as the results of a Find User query
  388. '=======================
  389. Public Function GetAddressContainerRenderer
  390.     On Error Resume Next
  391.  
  392.     Set objRenderer = GetTableRenderer(bstrRenderAddressContainer, fNew)
  393.  
  394.     if (Not objRenderer Is Nothing) Then
  395.         If fNew Then
  396.             ' set up HTML wrappers
  397.             objRenderer.LinkPattern = "<A HREF=" & Chr(34) & "JavaScript:openNewWindow('details.asp?obj=%obj%','detailsWindow', 640, 350)" & Chr(34) & ">" & "%value%" & "</A>" 
  398.             objRenderer.TablePrefix = "<TABLE valign=top bgcolor=ffffff BORDER=0 CELLSPACING=0 CELLPADDING=5><TR></TR>"
  399.             objRenderer.RowPrefix = "<tr>"
  400.             objRenderer.RowSuffix = "</tr>"
  401.             objRenderer.CellPattern = "<font  " + bstrFace + " color=000000 size=2>%value%</font>"
  402.             objRenderer.HeadingRowPrefix = "<tr bgcolor=c0c0c0>"
  403.             objRenderer.HeadingRowSuffix = "</tr>"
  404.             objRenderer.HeadingCellPattern = "<font  " + bstrFace + " color=000000 size=2>%s</font>"
  405.  
  406.  
  407.             ' set up default view
  408.             Set objView = objRenderer.Views.Add("Default AB", 9)
  409.  
  410.            ' list columns - order is significant!
  411.             ' 32 bit of column flags says don't sort by this column
  412.  
  413.             Set objColumn = objView.Columns.Add(L_DetailsName_Text, ActMsgPR_DISPLAY_NAME, 25, 0, 0)
  414.             ' ...business phone number
  415.             Set objColumn = objView.Columns.Add(L_DetailsPhone_Text, ActMsgPR_BUSINESS_TELEPHONE_NUMBER, 18, 32, 1)
  416.             ' ...alias (short unique name)
  417.             Set objColumn = objView.Columns.Add(L_DetailsAlias_Text, ActMsgPR_ACCOUNT, 10, 32, 2)
  418.             ' ...departmane name  NOTE (BUG?) this field does NOT show up in capone find user results, though it does in the GAL view
  419.             Set objColumn = objView.Columns.Add(L_DetailsDepartment_Text, ActMsgPR_DEPARTMENT_NAME, 14, 32, 3)
  420.             ' ...office location
  421.             Set objColumn = objView.Columns.Add(L_DetailsOffice_Text, ActMsgPR_OFFICE_LOCATION, 14, 32, 4)
  422.  
  423.  
  424.             ' Assume the new view is the last one
  425.             objRenderer.CurrentView = objRenderer.Views.Count
  426.         End If
  427.     End If
  428.  
  429.     Set GetAddressContainerRenderer = objRenderer
  430. End Function
  431.  
  432. '=======================
  433. ' GetCalendarRenderer
  434. '
  435. ' Returns: rendering object for calendar
  436. '=======================
  437. Public Function GetCalendarRenderer
  438.     On Error Resume Next
  439.  
  440.     Set objRenderer = GetTableRenderer(bstrRenderCalendar, fNew)
  441.  
  442.     If fNew Then
  443.         Set GetCalendarRenderer = Nothing
  444.     Else
  445.         Set GetCalendarRenderer = objRenderer
  446.     End If
  447. End Function
  448.  
  449. '=======================
  450. ' GetFirstCalendarRenderer
  451. '
  452. ' Returns: rendering object for calendar
  453. '=======================
  454. Public Function GetFirstCalendarRenderer(ByRef fNew)
  455.     On Error Resume Next
  456.  
  457.     Set GetFirstCalendarRenderer = Nothing
  458.     
  459.     Set objRenderer = GetTableRenderer(bstrRenderCalendar, fNew)
  460.  
  461.     Set GetFirstCalendarRenderer = objRenderer
  462. End Function
  463.  
  464. Sub SetCalendarRendererFormats(objRenderer)
  465.     On Error Resume Next
  466.  
  467.  '   If fNew Then
  468.         bstrImgSrc = "<IMG SRC=" + bstrVirtRoot
  469.     
  470.         'priority
  471.         Set objFormat = objRenderer.Formats.Add(ActMsgPR_IMPORTANCE, Null)
  472.         Set objPatterns = objFormat.Patterns
  473.         bstrHTML =  bstrImgSrc + "/images/low.gif WIDTH=13 HEIGHT=16 BORDER=0>"
  474.         objPatterns.Add 0, bstrHTML
  475.         objPatterns.Add 1, ""
  476.         bstrHTML =  bstrImgSrc + "/images/urgent.gif WIDTH=13 HEIGHT=16 BORDER=0>"
  477.         objPatterns.Add 2, bstrHTML
  478.  
  479.         'sensitivity
  480.         '$$REVIEW new gifs for personal or confidential?
  481.         '$$REVIEW image sizes?
  482.         Set objFormat = objRenderer.Formats.Add(ActMsgPR_SENSITIVITY, Null)
  483.         Set objPatterns = objFormat.Patterns
  484.         bstrHTML = bstrImgSrc + "/images/private.gif WIDTH=13 HEIGHT=13 BORDER=0>"
  485.         objPatterns.Add 1, bstrHTML   ' personal
  486.         objPatterns.Add 2, bstrHTML   ' private
  487.         objPatterns.Add 3, bstrHTML   ' confidential
  488.         objPatterns.Add "*", ""          ' normal
  489.  
  490.         'recurring
  491.         '$$REVIEW image sizes?
  492.         Set objFormat = objRenderer.Formats.Add(AmPidTag_IsRecurring, Null)
  493.         Set objPatterns = objFormat.Patterns
  494.         objPatterns.Add 0, ""
  495.         bstrHTML = bstrImgSrc + "/images/recur.gif WIDTH=13 HEIGHT=13 BORDER=0>"
  496.         objPatterns.Add "*", bstrHTML
  497.  
  498.         'meeting status
  499.         '$$REVIEW image sizes?
  500.         Set objFormat = objRenderer.Formats.Add(AmPidTag_ApptStateFlags, Null)
  501.         Set objPatterns = objFormat.Patterns
  502.         objPatterns.Add 0, ""
  503.         bstrHTML = bstrImgSrc + "/images/meeting.gif WIDTH=12 HEIGHT=13 BORDER=0>"
  504.         objPatterns.Add "*", bstrHTML
  505.  
  506.         'location
  507.         Set objFormat = objRenderer.Formats.Add(AmPidTag_Location, Null)
  508.         Set objPatterns = objFormat.Patterns
  509.         objPatterns.Add "",  ""
  510.         objPatterns.Add "*", "(%value%)"
  511.  
  512.         objRenderer.TablePrefix = "<table columns=%columns% border=0 cellpadding=0 cellspacing=1 WIDTH=100% HEIGHT=100% >" & Chr(10)
  513.         objRenderer.TableSuffix = "</table>" & Chr(10)
  514.         objRenderer.RowPrefix = "<tr>" & Chr(10)
  515.         objRenderer.RowSuffix = "</tr>" & Chr(10)
  516.         objRenderer.CellPattern = "<font size=2>%value%</font>"
  517.  
  518.         If (Session(bstrAuthenticated)) Then
  519.             bstrHTML = "<A HREF='JavaScript:parent.openNewWindow(""" + bstrVirtRoot + "/forms/ipm/schedule/meeting/request/frmRoot.asp?command=read&obj=%obj%"", ""%obj%"", 640, 500)'>%value%</A>"
  520.         Else
  521.             bstrHTML = "<A HREF='JavaScript:parent.openNewWindow(""" + bstrVirtRoot + "/forms/ipm/schedule/meeting/request/frmRoot.asp?command=read&obj=%obj%&acs=anon"", ""%obj%"", 640, 500)'>%value%</A>"
  522.         End If
  523.         objRenderer.LinkPattern = bstrHTML
  524.  
  525.         objRenderer.RowsPerPage = &HFFFFFFFF
  526.  
  527.         Set objPatterns = Nothing
  528.  
  529.         'copy options from AM session
  530.         objRenderer.TimeZone                = objOMSession.GetOption("TimeZone")
  531.         objRenderer.FirstDayOfWeek            = objOMSession.GetOption("FirstDayOfWeek")
  532.         objRenderer.Is24HourClock            = objOMSession.GetOption("Is24HourClock")
  533.         objRenderer.BusinessDayStartTime    = objOMSession.GetOption("BusinessDayStartTime")
  534.         objRenderer.BusinessDayEndTime        = objOMSession.GetOption("BusinessDayEndTime")
  535.         objRenderer.BusinessDays            = objOMSession.GetOption("WorkingDays")
  536.  
  537.         If Err.Number <> 0 Then
  538.             ReportError1 L_errFailSetDefaultPatterns_ErrorMessage
  539.         End If
  540. '    End If 'fNew
  541.  
  542. End Sub
  543.  
  544.  
  545. '=======================
  546. ' ApplyCheckBoxColumn
  547. '=======================
  548. Sub ApplyCheckBoxColumn(objRenderer)
  549.     On Error Resume Next
  550.  
  551.     If (Session(bstrAuthenticated)) Then
  552.         Set objViews = objRenderer.Views
  553.         If Err.Number <> 0 Then
  554.             ReportError1 L_errFailGetViews_ErrorMessage
  555.  
  556.         Else
  557.             nViews = objViews.Count
  558.             For iView = 1 To nViews
  559.                 Set objView = objViews.Item(iView)
  560.                 If objView.Source = AMHTML_View_Folder Then
  561.                     'Add column header for checkbox
  562.                     ' 4 is the column width
  563.                     Set objColumn = objView.Columns.Add("<IMG SRC=../images/mark.gif HEIGHT=13 WIDTH=13>", ActMsgPR_ROWID, 13, AMHTML_Column_CenterJustify Or AMHTML_Column_NotSortable Or AMHTML_Column_Bitmap, objView.Categories)
  564.                 End If
  565.             Next
  566.         End If
  567.     End If
  568. End Sub
  569.  
  570. %>
  571.