-
Notifications
You must be signed in to change notification settings - Fork 0
/
casts.php
103 lines (83 loc) · 2.1 KB
/
casts.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?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.
*/
function doTree() {
global $misc, $data;
$casts = $data->getCasts();
$proto = concat(field('castsource'), ' AS ', field('casttarget'));
$attrs = array(
'text' => $proto,
'icon' => 'Cast'
);
$misc->printTree($casts, $attrs, 'casts');
exit;
}
if ($action == 'tree') doTree();
$misc->printHeader($lang['strcasts']);
$misc->printBody();
switch ($action) {
case 'tree':
doTree();
break;
default:
doDefault();
break;
}
$misc->printFooter();
?>