Example #1
0
 /**
  * @return void
  * @param array  $arr - hash^2 of values
  * @param string $block_name - block name
  * @param Template $tpl - link to TPL object ($app->tpl OR $parser->tpl) that will be used for parsing
  * @desc parse dynamic list data
  */
 function __dynamicListHandler($arr, $block_name, &$tpl)
 {
     global $app;
     $this->buffer = 'dynamic_view';
     $list_name = $block_name;
     $row_name = $block_name . '_row';
     $element_name = $block_name . '_element';
     $caption_row_name = $block_name . '_caption_row';
     $caption_element_name = $block_name . '_caption_element';
     $add = $this->__getAddVariables();
     // make captions line
     if (arrayIsOk($this->list_columns)) {
         foreach ($this->list_columns as $key => $value) {
             if (arrayIsOk($value)) {
                 foreach ($value as $key2 => $value2) {
                     $cap_arr[$key2] = $value2;
                 }
                 $cap_arr['ELEMENT_NAME'] = $key;
             } else {
                 $cap_arr = array('ELEMENT' => $value, 'ELEMENT_NAME' => $key);
             }
             $tpl->parseVariable($cap_arr, $caption_element_name);
         }
         $tpl->setCurrentBlock($caption_row_name);
         if (arrayIsOk($this->list_columns_add_variables)) {
             $tpl->setVariable($this->list_columns_add_variables);
             unset($this->list_columns_add_variables);
         }
         $tpl->parseCurrentBlock();
     }
     if (arrayIsOk($this->fields)) {
         $i = 1;
         foreach ($arr as $row) {
             foreach ($row as $key => $value) {
                 // make decoration
                 if ($this->list_decoration1 != '' && $this->list_decoration2 != '') {
                     if ($i % 2 == 1) {
                         $tpl->setVariable('decoration', $this->list_decoration1);
                     } else {
                         $tpl->setVariable('decoration', $this->list_decoration2);
                     }
                 }
                 if ($this->fields[$key] != '') {
                     // DATA field
                     if ($this->fields[$key] != 'hidden' && $key != 'id') {
                         $this->setElement($key, $this->fields[$key]);
                         $value = $this->makeElementView($value, $row['id']);
                         $insert_array = array('ELEMENT' => $value, 'ID' => $row['id']);
                         $tpl->parseVariable($insert_array, $element_name);
                     }
                 } else {
                     // not DATA field
                     if ($key != 'id') {
                         $tpl->parseVariable(array('ELEMENT' => $value), $element_name);
                     }
                 }
             }
             $row = array_merge($row, $add);
             $tpl->parseVariable($row, $row_name);
             $i++;
         }
     } else {
         $i = 1;
         foreach ($arr as $row) {
             foreach ($row as $key => $value) {
                 // make decoration
                 if ($this->list_decoration1 != '' && $this->list_decoration2 != '') {
                     if ($i % 2 == 1) {
                         $tpl->setVariable('decoration', $this->list_decoration1);
                     } else {
                         $tpl->setVariable('decoration', $this->list_decoration2);
                     }
                 }
                 $tpl->parseVariable(array('ELEMENT' => $value), $element_name);
             }
             $row = array_merge($row, $add);
             $tpl->parseVariable($row, $row_name);
             $i++;
         }
     }
     $tpl->setCurrentBlock($list_name);
     if (isset($this->caption_variables)) {
         $tpl->setVariable($this->caption_variables);
     }
     // Paging
     if ($app->paging) {
         $tpl->setVariable(array('PAGING' => $this->makePaging()));
     }
     $tpl->parseCurrentBlock();
     $this->__clearAddVariables();
     $this->__clearListDecoration();
     $this->buffer = '';
 }
Example #2
0
if ($granted) {
    try {
        $sql->beginTransaction();
        $statement = "INSERT INTO visits (link) VALUES(:link)";
        $query = $sql->prepare($statement);
        $query->execute(array('link' => currentPage()));
        $sql->commit();
    } catch (Exception $e) {
        $sql->rollBack();
    }
    $variables = new Template($sql);
    $query = $sql->prepare("SELECT * FROM ini WHERE lang = :lang OR lang = 'ALL';");
    $query->execute(array(':lang' => 'FR'));
    $results = $query->fetchAll();
    foreach ($results as $result) {
        $variables->setVariable($result['key'], $result['value']);
    }
    $i = 0;
    $keys = array_keys($_GET);
    foreach ($_GET as $var) {
        $variables->setVariable($keys[$i], $var);
        $i++;
    }
    $variables->setVariable('lang', 'FR');
    ?>
<html>
    <head>
        <?php 
    $variables->getHtml('./view/head.php');
    ?>
    </head>
Example #3
0
<?php

//使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
//接口中定义的所有方法都必须是public,这是接口的特性。
//声明一个'iTemplate'接口。
interface iTemplate
{
    public function setVariable($name, $var);
    public function getHtml();
}
class Template implements iTemplate
{
    private $vars = array();
    // $var = {"1"=>"hh", "2"=>"jj"};
    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
    public function getHtml()
    {
        foreach ($this->vars as $name => $value) {
            print_r($value);
        }
        echo "<br>";
        print_r($name);
        //"2"
    }
}
$foo = new Template();
$foo->setVariable("{2,3,4}", "{'jj','kk','ii'}");
$foo->getHtml();
Example #4
0
{
    private $vars = array();
    public function setVariable($name, $var)
    {
        $this->vars[$name] = $var;
    }
    public function getHtml($template)
    {
        foreach ($this->vars as $name => $value) {
            $template = str_replace('{' . $name . '}', $value, $template);
        }
        return $template;
    }
}
$oTemplate = new Template();
$oTemplate->setVariable('emailid', 'welcomeEmail');
$oTemplate->setVariable('firstname', 'welcomeEmail');
echo "\n\n";
echo $oTemplate->getHtml('*****@*****.**');
echo "\n\n";
echo $oTemplate->getHtml('Dhananjay');
echo "\n\n";
die('to check abstract class');
// This will not work
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
    private $vars = array();
    public function setVariable($name, $var)
    {
Example #5
0
session_start();
define('DB_NAME', 'dream');
define('DB_USER', 'da');
define('DB_PASSWORD', 'dream-admin2015');
include_once './include/DBF.php';
include_once './include/functions.php';
include_once './controller/template.php';
include_once './controller/menu.php';
$variables = new Template();
$myDB = new DBFactory();
$sql = $myDB->getMysqlConnexionWithPDO();
$query = $sql->prepare("SELECT * FROM ini WHERE lang = :lang OR lang = 'ALL';");
$query->execute(array(':lang' => 'FR'));
$results = $query->fetchAll();
foreach ($results as $result) {
    $variables->setVariable($result['key'], $result['value']);
}
$variables->setVariable('tab_title', 'Panneau d\'administration');
$variables->setVariable('header', '<h1>Panneau d\'administration</h1>');
$user = '******';
$logged = false;
$role = 0;
if (notNull($_SESSION) && notNull($_SESSION['logged'])) {
    $logged = $_SESSION['logged'] != 'NOT_LOGGED';
    $role = $_SESSION['role'];
    $user = $_SESSION['user'];
}
if ($logged && $role >= 3) {
    ?>
<!DOCTYPE html>
<html>