Annotation of FreeBSD/tinderbox/webui/module/module.php, revision 1.1

1.1     ! as          1: <?php
        !             2: #-
        !             3: # Copyright (c) 2005 Oliver Lehmann <oliver@FreeBSD.org>
        !             4: # All rights reserved.
        !             5: #
        !             6: # Redistribution and use in source and binary forms, with or without
        !             7: # modification, are permitted provided that the following conditions
        !             8: # are met:
        !             9: # 1. Redistributions of source code must retain the above copyright
        !            10: #    notice, this list of conditions and the following disclaimer
        !            11: # 2. Redistributions in binary form must reproduce the above copyright
        !            12: #    notice, this list of conditions and the following disclaimer in the
        !            13: #    documentation and/or other materials provided with the distribution.
        !            14: #
        !            15: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
        !            16: # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            17: # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            18: # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
        !            19: # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            20: # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            21: # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            22: # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            23: # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            24: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            25: # SUCH DAMAGE.
        !            26: #
        !            27: # $MCom: portstools/tinderbox/webui/module/module.php,v 1.4 2005/12/26 22:41:41 marcus Exp $
        !            28: #
        !            29: 
        !            30: require_once 'core/functions.php';
        !            31: require_once 'core/TinderboxDS.php';
        !            32: 
        !            33: class module {
        !            34: 
        !            35:        function module() {
        !            36:                $this->TinderboxDS = new TinderboxDS();
        !            37:        }
        !            38: 
        !            39:        function template_parse( $template ) {
        !            40:                global $templatesdir;
        !            41:                global $templatesuri;
        !            42:                global $tinderbox_name;
        !            43:                global $tinderbox_title;
        !            44:                global $display_login;
        !            45: 
        !            46:                $this->template_assign( 'templatesuri',    $templatesuri    );
        !            47:                $this->template_assign( 'tinderbox_name',  $tinderbox_name  );
        !            48:                $this->template_assign( 'tinderbox_title', $tinderbox_title );
        !            49:                $this->template_assign( 'display_login',   $display_login   );
        !            50:                $this->template_assign( 'errors',          $this->TinderboxDS->getErrors() );
        !            51: 
        !            52:                foreach( $this->TEMPLATE_VARS as $varname => $varcontent ) {
        !            53:                        $varcontent = var_export( $varcontent, true );
        !            54:                        eval( '$'.$varname.' = '.$varcontent.';' );
        !            55:                }
        !            56:                ob_start();
        !            57:                require $templatesdir.'/'.$template;
        !            58:                $parsed = ob_get_contents();
        !            59:                ob_end_clean();
        !            60: 
        !            61:                $this->template_cleanup();
        !            62: 
        !            63:                return $parsed;
        !            64:        }
        !            65: 
        !            66:        function template_assign( $varname, $varcontent ) {
        !            67:                $this->TEMPLATE_VARS[$varname] = $varcontent;
        !            68:        }
        !            69: 
        !            70:        function template_cleanup() {
        !            71:                return $this->TEMPLATE_VARS = array();
        !            72:        }
        !            73: }
        !            74: ?>