Skip to content
Snippets Groups Projects
casts.php 2.10 KiB
<?php

	/**
	 * Manage casts in a database
	 *
	 * $Id: casts.php,v 1.16 2007/09/25 16:08:05 ioguix Exp $
	 */

	// Include application functions
	include_once('./libraries/lib.inc.php');
	
	$action = (isset($_REQUEST['action'])) ? $_REQUEST['action'] : '';
	if (!isset($msg)) $msg = '';

	/**
	 * Show default list of casts in the database
	 */
	function doDefault($msg = '') {
		global $data, $misc, $database;
		global $lang;

		function renderCastContext($val) {
			global $lang;
			switch ($val) {
				case 'e': return $lang['strno'];
				case 'a': return $lang['strinassignment'];
				default: return $lang['stryes'];
			}
		}
		
		$misc->printTrail('database');
		$misc->printTabs('database','casts');
		$misc->printMsg($msg);
		
		$casts = $data->getCasts();

		$columns = array(
			'source_type' => array(
				'title' => $lang['strsourcetype'],
				'field' => field('castsource'),
			),
			'target_type' => array(
				'title' => $lang['strtargettype'],
				'field' => field('casttarget'),
			),
			'function' => array(
				'title' => $lang['strfunction'],
				'field' => field('castfunc'),
				'params'=> array('null' => $lang['strbinarycompat']),
			),
			'implicit' => array(
				'title' => $lang['strimplicit'],
				'field' => field('castcontext'),
				'type'  => 'callback',
				'params'=> array('function' => 'renderCastContext', 'align' => 'center'),
			),
			'comment' => array(
				'title' => $lang['strcomment'],
				'field' => field('castcomment'),
			),
		);

		$actions = array();
		
		$misc->printTable($casts, $columns, $actions, 'casts-casts', $lang['strnocasts']);
	}

	/**
	 * Generate XML for the browser tree.
	 */