packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/includes/template-wrapper.php
author Dan Fuhry <dan@enanocms.org>
Sat, 23 Feb 2013 14:26:05 -0500
changeset 8 f68fdcc18df9
parent 4 2212b2ded8bf
permissions -rw-r--r--
Started on the database

<?php

function display_template($tpl, $assign = array())
{
	$smarty = new Smarty();
	
	$smarty->setTemplateDir(ACCOUNTS . 'includes/templates/');
	$smarty->setCompileDir(ACCOUNTS . 'includes/templates/compiled/');
	$smarty->setConfigDir(ACCOUNTS . 'includes/templates/');
	$smarty->setCacheDir(ACCOUNTS . 'includes/templates/cache/');
	
	$smarty->assign('session', $_SESSION);
	
	$smarty->assign('user', isset($_SERVER['REMOTE_USER']) ? $_SERVER['REMOTE_USER'] : false);
	if ( isset($_SERVER['REMOTE_USER']) )
		$smarty->assign('userinfo', $ui = ldap_get_user($_SERVER['REMOTE_USER']));
	
	$smarty->assign('is_admin', IS_ADMIN);
	
	if ( $ui === false )
		redirect('/logout');
	
	$smarty->assign('msgcodes', array(
			'error' => E_ERROR
			, 'warning' => E_WARNING
			, 'notice' => E_NOTICE
		));
	
	global $ssh_key_lengths;
	$smarty->assign('ssh_key_lengths', $ssh_key_lengths);
	
	foreach ( $assign as $key => $value )
	{
		$smarty->assign($key, $value);
	}
	
	$smarty->display("$tpl.tpl");
}

function parse_template($tpl, $assign = array())
{
	$smarty = new Smarty();
	
	$smarty->setTemplateDir(ACCOUNTS . 'includes/templates/');
	$smarty->setCompileDir(ACCOUNTS . 'includes/templates/compiled/');
	$smarty->setConfigDir(ACCOUNTS . 'includes/templates/');
	$smarty->setCacheDir(ACCOUNTS . 'includes/templates/cache/');
	
	foreach ( $assign as $key => $value )
	{
		$smarty->assign($key, $value);
	}
	
	return $smarty->fetch("$tpl.tpl");
}

function smarty_function_clear_messages($params)
{
	$_SESSION['messages'] = array();
}