1 |
<?php |
2 |
// --- RA: |
3 |
|
4 |
function make_autodate_widget($name, $value, $fieldname, $errortext, $params) { |
5 |
} |
6 |
function validate_autodate_widget($name, $value, $fieldname, $params, $sql, $errortext) { |
7 |
global $record_id; |
8 |
parse_str($params); |
9 |
if ($orig) $orig = $record_id ? true : false; |
10 |
if (!$orig) insertvalue($fieldname, "NOW()", &$sql); |
11 |
return true; |
12 |
} |
13 |
|
14 |
function make_myselect_widget($name, $value, $fieldname, $errortext, $params) { |
15 |
global $conn; |
16 |
parse_str($params); |
17 |
$tmp = array(); |
18 |
if ($table && $id && $caption) { |
19 |
$id2 = ereg_replace("^.*\.([^\.]+)$", "\\1", $id); |
20 |
$caption2 = ereg_replace("^.*\.([^\.]+)$", '\\1', $caption); |
21 |
$sql = "SELECT $id".($id==$id2?"":" AS $id2").", $caption".($caption==$caption2?"":" AS $caption2")." FROM $table"; |
22 |
if ($conditions) $sql .= " WHERE ($conditions)"; |
23 |
$sql .= " ORDER BY $caption"; |
24 |
while (ereg('\{([^\},]+)(,([^\}]+))?\}', $sql, $regs)) { |
25 |
if (!$regs[1]) break; |
26 |
$varname = $varprefix.$regs[1]; global $$varname; |
27 |
$val = $$varname; |
28 |
if (!$val) $val = $regs[3]; |
29 |
$sql = ereg_replace('\{'.$regs[1].'(,[^\}]+)?\}', $val, $sql); |
30 |
} |
31 |
$res = dbi_exec($conn, $sql); |
32 |
$empty = array(); |
33 |
$non_empty = array(); |
34 |
for ($i = 0; $i < dbi_numrows($res); $i++) { |
35 |
$ret = dbi_fetch_array($res, $i); |
36 |
list($val, $cap) = array($ret[$id2], $ret[$caption2]); |
37 |
$val = urlencode($val); |
38 |
$cap = urlencode($cap); |
39 |
if ($cap) $non_empty[$val] = $cap; |
40 |
else if ($defcap) $empty[$val] = $defcap; |
41 |
} |
42 |
while (list($val, $var) = each($empty)) |
43 |
array_push($tmp, "map[$val]=$var"); |
44 |
while (list($val, $var) = each($non_empty)) |
45 |
array_push($tmp, "map[$val]=$var"); |
46 |
} |
47 |
return make_select_widget($name, $value, eregi_replace("[^A-Za-z0-9]", "_", $fieldname), |
48 |
$errortext, $params."&".implode("&", $tmp)); |
49 |
} |
50 |
function validate_myselect_widget($name, $value, $fieldname, $params, $sql, $errortext) { |
51 |
$fname = eregi_replace("[^A-Za-z0-9]", "_", $fieldname); |
52 |
return validate_select_widget($name, $value, $fname, $params, &$sql, $errortext); |
53 |
} |
54 |
|
55 |
$scanned = array(); |
56 |
function load_level($id, $caption, $table, $level, $n, &$ret) { |
57 |
global $conn, $scanned; |
58 |
$indent = ""; |
59 |
for ($i = 0; $i < $n; $i++) |
60 |
for ($j = 0; $j < 6; $j++) $indent .= " "; |
61 |
$indent .= "+ "; |
62 |
$res = dbi_exec($conn, "SELECT $id, $caption FROM $table WHERE ($id LIKE '$level%') AND ($id <> '$level') ORDER BY $caption"); |
63 |
for ($i = 0; $i < dbi_numrows($res); $i++) { |
64 |
$row = dbi_fetch_array($res, $i); |
65 |
list($val, $cap) = $row; |
66 |
if ($scanned[$val]) continue; |
67 |
$scanned[$val] = true; |
68 |
$val = urlencode($val); |
69 |
$cap = urlencode($indent.$cap); |
70 |
array_push($ret, "map[$val]=$cap"); |
71 |
load_level($id, $caption, $table, $val, $n + 1, $ret); |
72 |
} |
73 |
} |
74 |
function make_mylevel_widget($name, $value, $fieldname, $errortext, $params) { |
75 |
global $conn, $scanned; |
76 |
parse_str($params); |
77 |
$scanned = array(); |
78 |
$tmp = array(); |
79 |
if ($table && $id && $caption) { |
80 |
$res = dbi_exec($conn, "SELECT $id, $caption FROM $table ORDER BY $caption"); |
81 |
for ($i = 0; $i < dbi_numrows($res); $i++) { |
82 |
$ret = dbi_fetch_array($res, $i); |
83 |
list($val, $cap) = array($ret[$id], $ret[$caption]); |
84 |
if ($scanned[$val]) continue; |
85 |
$scanned[$val] = true; |
86 |
$val = urlencode($val); |
87 |
$cap = urlencode($cap); |
88 |
array_push($tmp, "map[$val]=$cap"); |
89 |
load_level($id, $caption, $table, $val, 1, $tmp); |
90 |
} |
91 |
} |
92 |
return make_select_widget($name, $value, eregi_replace("[^A-Za-z0-9]", "_", $fieldname), |
93 |
$errortext, $params."&".implode("&", $tmp)); |
94 |
} |
95 |
function validate_mylevel_widget($name, $value, $fieldname, $params, $sql, $errortext) { |
96 |
$fname = eregi_replace("[^A-Za-z0-9]", "_", $fieldname); |
97 |
return validate_select_widget($name, $value, $fname, $params, &$sql, $errortext); |
98 |
} |
99 |
|
100 |
function make_mydata_widget($name, $value, $fieldname, $errortext, $params) { |
101 |
global $conn, $record_id; |
102 |
parse_str($params); |
103 |
$fieldname = explode(",", $fieldname); |
104 |
if (!is_array($value)) $value = array($value); |
105 |
if (!$query) { |
106 |
echo "Property error: need SQL query!\n"; |
107 |
return; |
108 |
} |
109 |
$mainfield = explode(",", $mainfield); |
110 |
if (count($mainfield) != 2) { |
111 |
echo "Property error: need the main field with its ID!\n"; |
112 |
return; |
113 |
} |
114 |
$flds2 = explode(",", $flds); |
115 |
if (count($flds2) < 1) { |
116 |
echo "Property error: need at least one field!\n"; |
117 |
return; |
118 |
} |
119 |
$flds = array(); |
120 |
for ($i = 0; $i < count($flds2); $i++) { |
121 |
list($nm, $tp) = explode("/", $flds2[$i]); |
122 |
if (!$tp) $tp = "text"; |
123 |
$flds[$nm] = $tp; |
124 |
} |
125 |
$star = $required ? "<FONT CLASS=\"requiredstar\"> *</FONT>" : ""; |
126 |
echo "<TR>"; |
127 |
echo "<TD CLASS=\"widgetlabel\" VALIGN=\"top\">$name$star</TD>"; |
128 |
echo "<TD><TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"1\">"; |
129 |
while (ereg('\{([^\},]+)(,([^\}]+))?\}', $query, $regs)) { |
130 |
if (!$regs[1]) break; |
131 |
$varname = $varprefix.$regs[1]; |
132 |
global $$varname; |
133 |
$val = $$varname; |
134 |
if (!$val) $val = $regs[3]; |
135 |
$query = ereg_replace('\{'.$regs[1].'(,[^\}]+)?\}', $val, $query); |
136 |
} |
137 |
$ids = array(); |
138 |
if ($query) { |
139 |
$res = dbi_exec($conn, $query); |
140 |
for ($i = 0; $i < dbi_numrows($res); $i++) { |
141 |
$ret = dbi_fetch_array($res, $i); |
142 |
echo "<TR"; |
143 |
if ($ret["id"] && 0) # FIXME: |
144 |
echo ' STYLE="font-weight:bold"'; |
145 |
echo ">"; |
146 |
echo "<TD>".$ret[$mainfield[1]]."</TD>"; |
147 |
reset($flds); |
148 |
while (list($k, $v) = each($flds)) { |
149 |
$foo = $ret[$k]; |
150 |
if ($map[$foo] && $v == "select") |
151 |
$foo = $map[$foo]; |
152 |
echo "<TD> ".$foo."</TD>"; |
153 |
} |
154 |
echo "</TR>"; |
155 |
if ($ret["id"]) array_push($ids, $ret["id"]); |
156 |
} |
157 |
echo "<TR><TD COLSPAN=\"".(count($flds) + 1)."\"><HR WIDTH=\"100%\"></TD></TR>"; |
158 |
} |
159 |
$mains = 0; |
160 |
if ($table && $id && $caption) { |
161 |
$res = dbi_exec($conn, "SELECT $id, $caption FROM $table ORDER BY $caption"); |
162 |
$tmp = array(); |
163 |
for ($i = 0; $i < dbi_numrows($res); $i++) { |
164 |
$ret = dbi_fetch_array($res, $i); |
165 |
if (!$record_id && count(preg_grep("/^". |
166 |
$ret[$id]."\$/", $ids)) > 0) continue; |
167 |
if ($mains <= 0) echo "<TR><TD><SELECT NAME=\"".$varprefix.$mainfield[0]."\">"; |
168 |
$mains++; |
169 |
if ($ret[$id] == $sif) continue; |
170 |
echo "<OPTION VALUE=\"".$ret[$id]."\""; |
171 |
$val = $value[$mainfield[0]]; |
172 |
$gvar = $varprefix.$mainfield[0]; |
173 |
global $$gvar; $gval = $$gvar; |
174 |
if ($gval) $val = $gval; |
175 |
if (trim($val) == $ret[$id]) echo " SELECTED"; |
176 |
echo ">".$ret[$caption]."</OPTION>"; |
177 |
} |
178 |
} |
179 |
if ($mains > 0) { |
180 |
echo "</SELECT></TD>"; |
181 |
$s = $length ? " SIZE=\"$length\"" : ""; |
182 |
reset($flds); |
183 |
while (list($k, $v) = each($flds)) { |
184 |
$val = $value[$k]; |
185 |
$gvar = $varprefix.$k; |
186 |
global $$gvar; $gval = $$gvar; |
187 |
if ($gval) $val = $gval; |
188 |
echo "<TD>"; |
189 |
if ($v == "text") make_text_widget("", $val, $k, "", "varprefix=$varprefix&length=$length"); |
190 |
if ($v == "select") { |
191 |
$m2 = array(); |
192 |
reset($map); |
193 |
while (list($kk, $vv) = each($map)) array_push($m2, "map[$kk]=$vv"); |
194 |
$m2 = implode("&", $m2); |
195 |
make_select_widget("", $val, $k, "", "varprefix=$varprefix&selecttype=dropdown&$m2"); |
196 |
} |
197 |
echo "</TD>"; |
198 |
} |
199 |
} else echo "<TR><TD COLSPAN=\"".(count($flds) + 1)."\"><I>Sorry, all available values of this attribute are already linked.</I></TD>"; |
200 |
echo "</TR></TABLE></TD>"; |
201 |
if ($errortext != "") echo "<TD VALIGN=\"bottom\">$errortext</TD>"; |
202 |
echo "</TR>\n"; |
203 |
} |
204 |
function validate_mydata_widget($name, $value, $fieldname, $params, $sql, $errortext) { |
205 |
parse_str($params); |
206 |
$mainfield = explode(",", $mainfield); |
207 |
$flds2 = explode(",", $flds); |
208 |
$flds = array(); |
209 |
for ($i = 0; $i < count($flds2); $i++) { |
210 |
list($k, $t) = explode("/", $flds2[$i]); |
211 |
if (!$t) $t = "text"; |
212 |
$flds[$k] = $t; |
213 |
} |
214 |
$emp = false; |
215 |
$vars = array($mainfield[0]); |
216 |
reset($flds); |
217 |
while (list($k, $v) = each($flds)) array_push($vars, $k); |
218 |
for ($i = 0; $i < count($vars); $i++) { |
219 |
$varname = $varprefix.$vars[$i]; |
220 |
global $$varname; $var = $$varname; |
221 |
if (empty($var)) $emp = true; |
222 |
} |
223 |
if ($emp && $required) { |
224 |
$errortext = "This field is required!"; |
225 |
return false; |
226 |
} |
227 |
$numeric = explode(",", $numeric); |
228 |
$proportion = explode(",", $proportion); |
229 |
reset($flds); |
230 |
$i = 0; |
231 |
while (list($k, $v) = each($flds)) { |
232 |
$var = $varprefix.$k; global $$var; |
233 |
$val = $$var; |
234 |
$tmp = (string)doubleval($val); |
235 |
if ($proportion[$i]) $numeric[$i] = true; |
236 |
if ($numeric[$i] && $val != $tmp) { |
237 |
$errortext = "This field must be numeric!"; |
238 |
return false; |
239 |
} |
240 |
$i++; |
241 |
} |
242 |
$i = 0; |
243 |
while (list($k, $v) = each($flds)) { |
244 |
$val = $$k; |
245 |
if ($proportion[$i] && ($tmp < 0 || $tmp > 1)) { |
246 |
$errortext = "This field must be in range 0 - 1!"; |
247 |
return false; |
248 |
} |
249 |
$i++; |
250 |
} |
251 |
for ($i = 0; $i < count($vars); $i++) { |
252 |
$varname = $varprefix.$vars[$i]; |
253 |
$val = $$varname; |
254 |
reset($map); |
255 |
while (list($k, $v) = each($map)) |
256 |
if ($val == $v) $val = $k; |
257 |
if (!isset($val)) $val = "NULL"; |
258 |
$tmp = intval($val); |
259 |
if ($tmp."" != $val."") $val = "'$val'"; |
260 |
insertvalue($vars[$i], "$val", &$sql); |
261 |
} |
262 |
return true; |
263 |
} |
264 |
|
265 |
// --- DbP: |
266 |
|
267 |
function make_myfile_widget( $name, $value, $fieldname, $errortext, $params ) |
268 |
{ |
269 |
// get all of the datatype parameters into local variables |
270 |
// e.g. type, height, width, length, etc. |
271 |
parse_str( $params ); |
272 |
|
273 |
$filefield = $fieldname; // the filename is stored in this field |
274 |
|
275 |
//echo "<TD>" . $filefield . "</TD>"; |
276 |
//echo "<TD>" . $value[$filefield] . "</TD>"; |
277 |
$value = trim( $value ); |
278 |
|
279 |
// create a global variable which holds the current filename (and full |
280 |
// path). This file might be a temp file or already be in the target directory |
281 |
$currentfile = $varprefix . $filefield . "_current"; |
282 |
global $$currentfile; |
283 |
|
284 |
// the stored file, if set, is the full path of the file that was |
285 |
// previously stored. We have to remember the filename so that we can |
286 |
// delete it if it is replaced by an uploaded file |
287 |
$storedfile = $varprefix . $filefield . "_stored"; |
288 |
global $$storedfile; |
289 |
global $record_id; |
290 |
|
291 |
if( $$currentfile == "" && $value != "" ) { |
292 |
$$currentfile = $targetdir . "/" . $value; |
293 |
} |
294 |
|
295 |
if( empty( $noclear ) ) { |
296 |
?> |
297 |
<script language="JavaScript"> |
298 |
<!-- |
299 |
function clear<? echo $filefield ?>() |
300 |
{ |
301 |
document.mainform.<? echo $varprefix . $filefield . "_clear" ?>.value = 'clear'; |
302 |
document.mainform.refresh.value = 'refresh'; |
303 |
document.mainform.submit(); |
304 |
//return false; |
305 |
} |
306 |
// --> |
307 |
</script> |
308 |
<? |
309 |
} |
310 |
|
311 |
echo "<TR>"; |
312 |
if( $required ) { |
313 |
$star = '<font class="requiredstar"> *</font>'; |
314 |
} |
315 |
echo "<TD class=\"widgetlabel\">$name$star"; |
316 |
//echo "Currentfile = " . $$currentfile; |
317 |
echo "</TD>"; |
318 |
echo '<td>'; |
319 |
echo '<table><tr>'; |
320 |
if( $imagemode && ( dirname( $$currentfile ) == $targetdir ) ) { |
321 |
// image name must be encoded, since it may contain spaces or |
322 |
// other nasties which browsers don't like |
323 |
$imgref = $serverdir . "/" . rawurlencode( basename( $$currentfile )); |
324 |
echo '<td><img height="60" src="' . $imgref . '"></td>'; |
325 |
} else if( $imagemode && ! empty( $value ) ) { |
326 |
echo '<td>' . $value . '<BR> has been uploaded.</TD>'; |
327 |
} |
328 |
echo '<td>'; |
329 |
if( $showfilename ) { |
330 |
echo 'Current File: '; |
331 |
if( $value == "" ) { |
332 |
echo 'none'; |
333 |
} else { |
334 |
echo $value; |
335 |
} |
336 |
} |
337 |
echo '<BR>'; |
338 |
echo '<input type="file" name="' .$varprefix . $filefield . '">'; |
339 |
echo '<input type="hidden" name="' .$varprefix . $filefield . '_current" value="' . $$currentfile . '">'; |
340 |
echo '<input type="hidden" name="' .$varprefix . $filefield . '_oldfilename" value="' . $value . '">'; |
341 |
echo '<input type="hidden" name="' .$varprefix . $filefield . '_stored" value="' . $$storedfile . '">'; |
342 |
if( empty( $noclear ) ) { |
343 |
echo '<input type="hidden" name="' .$varprefix . $filefield . '_clear" value="">'; |
344 |
echo ' <input type = "button" name="action" value = "Clear" onClick="clear' . $filefield . '()" >'; |
345 |
} |
346 |
echo '</TD>'; |
347 |
echo "</tr></table>"; |
348 |
echo "</td>"; |
349 |
if( $errortext != "" ) { |
350 |
echo "<TD>$errortext</TD>"; |
351 |
} |
352 |
echo "</tr>"; |
353 |
} |
354 |
|
355 |
function validate_myfile_widget( $name, $value, $fieldname, $params, $sql, $errortext ) |
356 |
{ |
357 |
global $HTTP_POST_FILES; |
358 |
|
359 |
parse_str( $params ); |
360 |
|
361 |
$filefield = $fieldname; // the filename is stored in this field |
362 |
|
363 |
// get the field value |
364 |
$varname = $varprefix . $filefield; |
365 |
global $$varname; |
366 |
$tmpfilename = $$varname; |
367 |
$varname = $varprefix . $filefield . "_name"; |
368 |
global $$varname; |
369 |
$filename = basename( $$varname ); |
370 |
$currentfile = $varprefix . $filefield . "_current"; |
371 |
$storedfile = $varprefix . $filefield . "_stored"; |
372 |
global $$currentfile, $$storedfile; |
373 |
$varname = $varprefix . $filefield . "_oldoriginalname"; |
374 |
global $$varname; |
375 |
$oldoriginalname = $$varname; |
376 |
$varname = $varprefix . $filefield . "_oldfilename"; |
377 |
global $$varname; |
378 |
$oldfilename = $$varname; |
379 |
$varname = $varprefix . $filefield . "_clear"; |
380 |
global $$varname; |
381 |
$clear = $$varname; |
382 |
$varname = $varprefix . $filefield . "_size"; |
383 |
global $$varname; |
384 |
$filesize = $$varname; |
385 |
|
386 |
$value = array(); |
387 |
|
388 |
if( !empty( $max_file_size) && $filesize > $max_file_size ) { |
389 |
$errortext = "File too large!<BR>File cannot be larger than " . floor($max_file_size / 1024) . "k."; |
390 |
$tmpfilename = "none"; |
391 |
return( false ); |
392 |
} |
393 |
|
394 |
if( $clear == "clear" ) { |
395 |
// if the current file is a tmp file... |
396 |
if( $$currentfile != "" && dirname( $$currentfile ) != $targetdir ) { |
397 |
// then delete it |
398 |
if( is_file_in_tmp( $$currentfile ) ) { |
399 |
unlink( $$currentfile ); |
400 |
} |
401 |
} else { |
402 |
// otherwise remember to delete the stored file |
403 |
$$storedfile = $$currentfile; |
404 |
} |
405 |
$$currentfile = ""; |
406 |
$value = ""; |
407 |
return( false ); |
408 |
} |
409 |
if( $tmpfilename != "none" && $tmpfilename != "" ) { |
410 |
$succ = @rename( $tmpfilename, $tmpfilename . ".bak" ); |
411 |
if( ! $succ ) { |
412 |
//echo "Error renaming uploaded file $tmpfilename to $tmpfilename.bak"; |
413 |
} |
414 |
//echo "currentfile " . $$currentfile . "<BR>"; |
415 |
//echo "dirname " . dirname( $$currentfile ) . "<BR>"; |
416 |
//echo "targetdir " . $targetdir . "<BR>"; |
417 |
|
418 |
// here we delete the previous current file, if it's not in the target directory |
419 |
if( $$currentfile != "" && dirname( $$currentfile ) != $targetdir ) { |
420 |
unlink( $$currentfile ); |
421 |
} else { |
422 |
$$storedfile = $$currentfile; |
423 |
} |
424 |
|
425 |
$$currentfile = $tmpfilename . ".bak"; |
426 |
|
427 |
// here we call the filter, which does any processing it needs |
428 |
// to on the current file, and also returns the target filename |
429 |
// for this file |
430 |
if( function_exists( $process_hook ) ) { |
431 |
$value = $process_hook( $processparm, $tmpfilename . ".bak", $filename, $targetdir ); |
432 |
} else { |
433 |
$value = $filename; |
434 |
} |
435 |
|
436 |
} else { |
437 |
$value = $oldfilename; |
438 |
} |
439 |
|
440 |
//$errortext = $tmpfilename; |
441 |
if( $required && ( $value == "none" || $value == "" ) ) { |
442 |
$errortext = "Please select a file"; |
443 |
return( false ); |
444 |
} |
445 |
|
446 |
// put the value into the SQL strings |
447 |
if( $value != "none" ) { |
448 |
if( $noescapes ) { |
449 |
insertvalue( $filefield, "'" . $value . "'", &$sql ); |
450 |
} else { |
451 |
insertvalue( $filefield, "'" . addslashes( $value ) . "'", &$sql ); |
452 |
} |
453 |
} |
454 |
return( true ) ; |
455 |
} |
456 |
|
457 |
function commit_myfile_widget( $name, $value, $fieldname, $params, $record_id ) |
458 |
{ |
459 |
parse_str( $params ); |
460 |
|
461 |
$filefield = $fieldname; // the filename is stored in this field |
462 |
|
463 |
$currentfile = $varprefix . $filefield . "_current"; |
464 |
$storedfile = $varprefix . $filefield . "_stored"; |
465 |
global $$currentfile, $$storedfile; |
466 |
|
467 |
//echo "In COMMIT:<BR>"; |
468 |
//echo "filename = " . $value[$filefield] . "<BR>"; |
469 |
//echo "currentfile = " . $$currentfile . "<BR>"; |
470 |
//echo "storedfile = " . $$storedfile . "<BR>"; |
471 |
|
472 |
// delete the storedfile (if any) first, since if the new file has the |
473 |
// same name we must do this before copying the new file to the same |
474 |
// location (otherwise we copy the new file and then delete it) |
475 |
if( ! empty( $$storedfile ) ) { |
476 |
$file = $targetdir . "/" . basename( $$storedfile ); |
477 |
//echo "Deleting " . $file . "<BR>"; |
478 |
unlink( $file ); |
479 |
} |
480 |
if( $$currentfile != "" && dirname( $$currentfile ) != $targetdir ) { |
481 |
if( is_file_in_tmp( $$currentfile ) ) { |
482 |
|
483 |
$rc = copy( $$currentfile, $targetdir . "/" . $value ); |
484 |
unlink( $$currentfile ); |
485 |
} |
486 |
} |
487 |
} |
488 |
|
489 |
function abort_myfile_widget( $name, $value, $fieldname, $params, $record_id ) |
490 |
{ |
491 |
parse_str( $params ); |
492 |
|
493 |
$filefield = $fieldname; // the filename is stored in this field |
494 |
|
495 |
$currentfile = $varprefix . $filefield . "_current"; |
496 |
$storedfile = $varprefix . $filefield . "_stored"; |
497 |
global $$currentfile, $$storedfile; |
498 |
|
499 |
//echo "In ABORT:<BR>"; |
500 |
//echo "filename = " . $value[$filefield] . "<BR>"; |
501 |
//echo "currentfile = " . $$currentfile . "<BR>"; |
502 |
//echo "storedfile = " . $$storedfile . "<BR>"; |
503 |
|
504 |
if( $$currentfile != "" && dirname( $$currentfile ) != $targetdir ) { |
505 |
if( is_file_in_tmp( $$currentfile ) ) { |
506 |
unlink( $$currentfile ); |
507 |
} |
508 |
} |
509 |
} |
510 |
|
511 |
//----------------------------------------------------------- |
512 |
|
513 |
function make_showpic_widget( $name, $value, $fieldname, $errortext, $params ) |
514 |
{ |
515 |
$value = trim( $value ); |
516 |
// get all of the datatype parameters into local variables |
517 |
// e.g. type, height, width, length, etc. |
518 |
parse_str( $params ); |
519 |
|
520 |
if( empty( $length ) ) { |
521 |
echo "Program error: Must specify length of field $name!!<BR>"; |
522 |
return; |
523 |
} |
524 |
echo "<TR>"; |
525 |
echo "<TD class=\"widgetlabel\">$name</TD>"; |
526 |
echo "<TD><img src=\"$dir/$value\" alt=\"".($phescape ? HTMLSpecialChars( $value ) : $value)."\"></TD>"; |
527 |
echo "</TR>\n"; |
528 |
} |
529 |
|
530 |
function validate_showpic_widget( ) { |
531 |
return(true); |
532 |
} |
533 |
?> |