lookup.inc
4.43 KB
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<?php
/**
* $Id$
*
* Contains database helper functions.
*
* KnowledgeTree Open Source Edition
* Document Management Made Simple
* Copyright (C) 2004 - 2008 The Jam Warehouse Software (Pty) Limited
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 3 as published by the
* Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* You can contact The Jam Warehouse Software (Pty) Limited, Unit 1, Tramber Place,
* Blake Street, Observatory, 7925 South Africa. or email info@knowledgetree.com.
*
* The interactive user interfaces in modified source and object code versions
* of this program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU General Public License version 3.
*
* In accordance with Section 7(b) of the GNU General Public License version 3,
* these Appropriate Legal Notices must retain the display of the "Powered by
* KnowledgeTree" logo and retain the original copyright notice. If the display of the
* logo is not reasonably feasible for technical reasons, the Appropriate Legal Notices
* must display the words "Powered by KnowledgeTree" and retain the original
* copyright notice.
* Contributor( s): ______________________________________
*/
/**
* Performs an id field lookup on the specified table.
*
* @param string the name of table to perform the id lookup.
* @param string the db field to return.
* @param mixed the value to perform the lookup for
* @return int the id of the row in the db with $fieldName=$fieldValue
*/
function lookupID($tableName, $fieldName, $fieldValue){
return lookupField($tableName, "id", $fieldName, $fieldValue);
}
/**
* Performs an name field lookup on the specified table.
*
* @param string the name of table to perform the id lookup.
* @param integer the id value to perform the lookup with
* @return int the id of the row in the db with $fieldName=$fieldValue
*/
function lookupName($tableName, $idFieldValue){
return lookupField($tableName, "name", "id", $idFieldValue);
}
function lookupStatusID($statusName) {
global $default;
return lookupID($default->status_table, "name", $statusName);
}
/**
* Retrieves the groups that the user is a member of
*
* @param int the user to lookup groups for
* @return array the groupsIDs the user is a member of
*/
function lookupGroupIDs($userID) {
global $default;
$groupIDs = array();
$sql = $default->db;
$sql->query("select group_id from $default->users_groups_table where user_id = '$userID'");
while($sql->next_record()) {
$groupIDs[] = $sql->f("group_id");
}
return $groupIDs;
}
/**
* Performs a generic one field lookup on a table
*
* @param string the name of the table to perform the lookup on
* @param string the field to return
* @param string the field to discriminate against(?!)
* @param string the field value to return rows for
*/
function lookupField($tableName, $selectFieldName, $whereFieldName, $whereFieldValue) {
global $default;
$sql = $default->db;
$query = "select $selectFieldName from $tableName where $whereFieldName = ?" ;
$aParams = array($whereFieldValue);
if ($sql->query(array($query, $aParams))) {
if ($sql->next_record()) {
return $sql->f($selectFieldName);
} else {
return false;
}
} else {
$_SESSION["errorMessage"] = "lookup query failed ($query).";
return false;
}
}
/**
* Converts an array to a string
*
* @param array the array to convert
* @return string stringified array
*/
function arrayToString($array) {
ob_start();
print_r($array);
$arrToStr = ob_get_contents();
ob_end_clean();
return $arrToStr;
}
/**
* Converts an array to a comma separated string
*
* @param array the array to convert
* @return string a comma separated string of the array values
*/
function arrayToCss($array) {
$css = "";
foreach ($array as $key=>$value) {
$css = $css . $value . ",";
}
// trim the last comma
$css = substr("$css", 0, -1);
return $css;
}
?>