Login   Register  
PHP Classes
elePHPant
Icontem

File: test_ngenie.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of sergey cheeba  >  nGenie  >  test_ngenie.php  >  Download  
File: test_ngenie.php
Role: Example script
Content type: text/plain
Description: ngenie class example
Class: nGenie
Template engine with block iteration support
Author: By
Last change:
Date: 2004-11-12 07:30
Size: 1,380 bytes
 

Contents

Class file image Download
<?
    
include_once("ngenie.lib.php");
    
    
$doc = new nGenie();
    
    
$lines file("test_ngenie.dat");
    foreach (
$lines as $line) {
        
$line trim($line);
        if (
preg_match("/\[([a-z_]+)\]/i"$line$matches)) {
            
$current_section $matches[1];
        } else {
            
$data[$current_section][] = $line;
        }
    }
    
//print_r($data);
    
    
$doc->start("test_ngenie.tpl");
    
    if (
count($data["Authors"])) {
        
$authors_block = new block("authors_block");
        foreach (
$data["Authors"] as $key => $author_name) {
            
$author = new block("author");
            
$author->set_param("AUTHOR_NAME"$author_name);
            
$authors_block->set_block("AUTHOR"$author);
        }
        
$doc->set_block("AUTHORS"$authors_block);
    }
    
    if (
count($data["Colors"])) {
        
$color_table_block = new block("color_table_block");
        foreach (
$data["Colors"] as $key => $color_line) {
            list(
$color_name$color) = split("="$color_line);
            
$color_cell = new block("color_cell_block");
            
$color_cell->set_param("COLOR"$color);
            
$color_cell->set_param("COLOR_NAME"$color_name);
            
$color_table_block->set_block("COLOR_CELL"$color_cell);
        }
        
$doc->set_block("COLOR_TABLE"$color_table_block);
    }
    
    
$doc->output();
?>