message_as_html.naml

<override_macro name="message_as_html" requires="message">
    <n.if.either condition1="[n.is_deleted/]" condition2="[n.is_deactivated/]">
        <then>
            <b><t>CONTENTS DELETED</t></b>
            <div class="weak-color"><t>The author has deleted this message.</t></div>
        </then>
        <else>
            <n.set_var. name="output">
                <n.as_html_list.process_message_html />
            </n.set_var.>
            
            <n.if.is_imported_mail>
                <then>
                    <n.set_var. name="output">
                        <n.remove_unsubscription_link.var name="output" />
                    </n.set_var.>                
                    
                    <n.comment>
                        PART 1: Copy the attachment links to a variable
                    </n.comment>
                    <n.set_var. name="attachments">                
                        <n.regex. text="[n.var name='output'/]" pattern="[n.attachments_regex/]">
                            <n.if.find>
                                <then.found/>
                            </n.if.find>
                        </n.regex.>                
                    </n.set_var.>          
                   
                    <n.regex. text="[n.var name='attachments'/]" pattern="[n.href_regex/]">
                        <n.loop.>                   
                            <n.set_var. name="thumb_url">                                   
                                 <n.regex. text="[n.current_element/]" pattern="[n.href_regex_wIMG/]">
                                     <n.if.find>
                                         <then >
                                             src= <n.regex_replace_all text ="[n.current_element/]" pattern="href=" replacement =''/>
                                height="250px" \>

                                         </then>
                                         <else>
                                             src="http://forum.sudsol.org/images/icon_attachment.gif"
                                         </else>
                                     </n.if.find>
                                 </n.regex.> 
                            </n.set_var.>  

                            <n.set_var. name="attachments">                
                                <n.regex_replace_first text ="[n.var name='attachments'/]" pattern="[n.img_regex/]" replacement ="[n.var name='thumb_url'/]"/>  
                            </n.set_var.>
                        
                            
                        </n.loop.>
                    </n.regex.>  
 
                    
                    <n.comment>
                        PART 2: Rebuild the "output" variable by placing the attachments at the top.
                        At the end, we remove the old attachments so that we don't show duplicate links.
                    </n.comment>
                    <n.set_var. name="output">
                        <div id ="attachments">
                        <n.var name='attachments' />
                        </div>
                        <br/>
                        <n.regex_replace_all text ="[n.var name='output'/]" pattern="[n.attachments_regex/]" replacement ='' />
                    </n.set_var.>                                           
                    
                </then>                    
            </n.if.is_imported_mail>
            <n.var name="output" />
        </else>
    </n.if.either>
</override_macro>

<macro name="attachments_regex">
    <![CDATA[<!--start-attachments-->.*<!--end-attachments-->]]>
</macro>
<macro name="img_regex">
    <![CDATA[src="([^"]*).(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG)" >]]>
</macro>
<macro name="href_regex">
    <![CDATA[href="([^"]*)"]]>
</macro>
<macro name="href_regex_wIMG">
    <![CDATA[href="([^"]*).(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG)"]]>
</macro>