Subversion Repositories DevTools

Rev

Rev 64 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%
'=============================================================
'//
'//                                             TemplateManager
'//
'// version:            0.0.1
'//     last modified:  01-Feb-2004 11:00 by Sasha Vukovic
'=============================================================
%>
<%
' Template Requirement:
'  - Each element path must be unique
'  - Element names can only contain characters [A-Z] [0-9]
'  - Each element must finish with "_END" appended to the element name
'
'
' Template Sample:
' <!-- StyleWinXP -->
'       <!-- PreTabsCode -->
'       <table width="10"  border="0" cellspacing="0" cellpadding="0">
'               <tr>
'       <!-- PreTabsCode_END -->                
'       <!-- TabSelected -->
'                       <td background="images/bg_tab.gif"><img src="images/p_tab_l.gif" width="3" height="24"></td>
'                       <td align="center" nowrap background="images/bg_tab.gif" class="menu_txt">&nbsp;&nbsp;&nbsp;&nbsp;%TEXT%&nbsp;&nbsp;&nbsp;&nbsp;</td>
'                       <td align="right" background="images/bg_tab.gif"><img src="images/p_tab_r.gif" width="3" height="24"></td>
'                       <td><img src="images/spacer.gif" width="5" height="10"></td>
'       <!-- TabSelected_END -->
' <!-- StyleWinXP_END -->
%>
<%
Class TemplateManager
        
        Public mTemplateDoc
        
        
        Public Property Let TemplateDoc( sTemplate ) 
                mTemplateDoc = sTemplate
                
        End Property 
        
        
        
        '-----------------------------------------------------------------------------------------------------------------
        Public Function getElementValue ( ByVal sStyleId )
                ' StyleId can also be path. e.g. StyleWinXP/PreTabsCode
                Dim PosStart, PosEnd, PosCurr, arrElementPath, element
                
                ' Remove first slash "/" if present
                If InStr( sStyleId, "/" ) = 1 Then sStyleId = Right ( sStyleId, Len( sStyleId ) - 1 )
                
                
                arrElementPath = Split( sStyleId, "/" )
                PosCurr = 1
                For Each element in arrElementPath
                        PosStart = InStr( InStr( PosCurr, mTemplateDoc, element ), mTemplateDoc, ">" ) + 1 
                        PosCurr = PosStart
                        sStyleId = element
                Next
                
                PosEnd   = InStrRev( mTemplateDoc, "<!--", InStr( PosStart, mTemplateDoc, sStyleId &"_END" ) )
                
                getElementValue = Mid ( mTemplateDoc, PosStart, PosEnd - PosStart )
                
        End Function
        '-----------------------------------------------------------------------------------------------------------------
        Private Sub Class_Initialize()
                '// Perform action on creation of object. e.g. Set myObj = New ThisClassName
        End Sub
        '-----------------------------------------------------------------------------------------------------------------
        Private Sub Class_Terminate()
                '// Perform action on object disposal. e.g. Set myObj = Nothing
        End Sub
        '-----------------------------------------------------------------------------------------------------------------
End Class
%>