packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/includes/template-wrapper.php
author Dan Fuhry <dan@fuhry.us>
Sat, 16 Feb 2013 20:47:45 -0500
changeset 7 faf6f7941e8f
parent 4 2212b2ded8bf
permissions -rw-r--r--
Enhancements to User CP - handle attribute deletion/mod more gracefully

<?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();
}