<?php
class tsk_template {
public $folder = 'templates/';
public $ending = '.tpl.htm';
public $loggedIn = false;
public $top = '';
public $btm = '';
public $main = '';
private $sdata = array();
private $templates = array();
function top($var) {
}
function btm($var) {
}
function setDefault() {
$this->top('overall_top');
$this->btm('overall_btm');
}
function main($var) {
}
function loginout() {
if($this->loggedIn == false) {
$this->top = preg_replace("#<!-- Logged_In START -->.*?<!-- Logged_In END -->#is", '', $this->top);
$this->main = preg_replace("#<!-- Logged_In START -->.*?<!-- Logged_In END -->#is", '', $this->main);
$this->btm = preg_replace("#<!-- Logged_In START -->.*?<!-- Logged_In END -->#is", '', $this->btm);
}
else{
$this->top = preg_replace("#<!-- Logged_Out START -->.*?<!-- Logged_Out END -->#is", '', $this->top);
$this->main = preg_replace("#<!-- Logged_Out START -->.*?<!-- Logged_Out END -->#is", '', $this->main);
$this->btm = preg_replace("#<!-- Logged_Out START -->.*?<!-- Logged_Out END -->#is", '', $this->btm);
}
}
function OnlyLogout($redirect = 'index.php') {
if($this->loggedIn == true) {
header('Location: '. $redirect);
return 0;
}
else
return 1;
}
function OnlyLogin($redirect = 'index.php?side=registrer') {
if($this->loggedIn == false) {
header('Location: '. $redirect);
return 0;
}
else
return 1;
}
function output() {
echo $this->top ."\n". $this->main ."\n". $this->btm;
}
function format() {
$this->top = preg_replace('/\{(.*?):(.*?)\}/e', '$this->replace(${1}, ${2})', $this->top);
$this->main = preg_replace('/\{(.*?):(.*?)\}/e', '$this->replace(${1}, ${2})', $this->main);
$this->btm = preg_replace('/\{(.*?):(.*?)\}/e', '$this->replace(${1}, ${2})', $this->btm);
}
function loop($array, $name, $content) {
$temp = '';
$var = '';
preg_match("#<!-- START ". $name ." -->(.*?)<!-- END ". $name ." -->#is", $content, $var);
foreach ($array as $array2) {
$this->temp = $var[1];
foreach ($array2 as $n => $v) {
$this->temp = str_replace('{DATA:'. $n .'}', $v, $this->temp);
}
$temp .= $this->temp;
}
$content = preg_replace("#<!-- START ". $name ." -->.*?<!-- END ". $name ." -->#is", $temp, $content);
return $content;
}
function setData($array) {
foreach($array as $n => $v)
$this->data[$n] = $v;
}
}
function setSData($array) {
foreach($array as $n => $v)
$this->sdata[$n] = $v;
}
}
function replace($array, $var)
{
switch($array)
{
case 'GET':
return $_GET[$var];
case 'POST':
return $_POST[$var];
case 'DATA':
return $this->data[$var];
case 'SDATA':
return $this->sdata[$var];
case 'TPL':
return $this->templates[$var];
case 'FORM':
}
return '';
}
function loadTPL($name, $file) {
}
function createLeftBar($type = 'offline') {
$leftBar = new leftBar($type);
$leftBar->run();
$this->templates['leftBar'] = $leftBar->get();
}
function createFormElement($var) {
if($var[1] == 'select') {
if($var[3] == 'loop'){
$t = '<select name="'. $var[2] .'" style="width:'. $var[6] .'px" id="'. $var[2] .'">';
for($i = $var[4]; $i <= $var[5]; $i++) {
$t .= '<option value="'. $i .'"';
if($i == $_POST[$var[2]] || (!$_POST && $i == $var[7]))
$t .= ' selected';
$t .= '>'. $i .'</option>'."\n";
}
$t .= '</select>';
return $t;
}
// {FORM:select,school_type,data,school_types,40}
elseif($var[3] == 'data') {
$t = '<select name="'. $var[2] .'" style="width:'. $var[5] .'px" id="'. $var[2] .'">';
foreach($this->data[$var[4]] as $n => $v )
{
$t .= '<option value="'. $n .'"';
if($n == $_POST[$var[2
]] || (!$_POST && isset($var[6
])))
$t .= ' selected';
$t .= '>'. $v .'</option>'."\n";
}
$t .= '</select>';
return $t;
}
}
elseif($var[1] == 'text') {
$t = '<input type="text" name="'. $var[2] .'" id="'. $var[2] .'" value="';
$t .= (!$_POST[$var[2]]) ? $var[3] : $_POST[$var[2]];
$t .= '">';
return $t;
}
elseif($var[1] == 'checkbox') {
$t = '<input type="checkbox" name="'. $var[2] .'" id="'. $var[2] .'" value="'. $var[3] .'"';
if($_POST[$var[2
]] == $var[3
] || isset($var[4
]))
$t .= ' checked';
$t .= ' style="width:auto;">';
return $t;
}
return '';
}
function debug() {
$this->btm = '<b>Session:</b><pre>'. print_r($_SESSION, true) . '
</pre><hr><b>Get:</b><pre>'. print_r($_GET, true) . '
</pre><hr><b>Post:</b><pre>'. print_r($_POST, true) . '
</pre><hr><b>Data:</b><pre>'. print_r($this->data, true) . '
</pre><hr><b>Templates:</b><pre>'. print_r($this->templates, true) . '
</pre><hr>'. $this->btm;
}
function eregs($ereg, $str, $min = 1, $max = 100){
// Enter other valid characters below
if(ereg("^[". $ereg ."]$", $str)) {
return 3;
else return 2;
}
else return 1;
}
function checkHack($valid, $against) {
foreach($against as $n => $v)
$this->hackAttempt();
}
function hackAttempt() {
die('<h1>Hacking forsøk</h1>Din IP er lagret. Hvis dette ikke var et ment hacke-forsøk; ignorer denne meldingen og prøv igjen.');
}
}
?>