<?
define("INPUTLEN", 40);
class input
{
var $name;
var $ldapattr;
var $readonly;
}
class text_input
extends input
{
var $maxlen;
var $chkfuncs;
var $multival;
var $nodelete;
var $displayfunc;
var $modfunc;
var $prefix;
var $helplink;
function
text_input ($name, $ldapattr, $readonly, $multival, $nodelete,
$maxlen, $chkfuncs, $displayfunc, $modfunc, $prefix,
$helplink)
{
$this->name = $name;
$this->multival = $multival;
$this->ldapattr = $ldapattr;
$this->readonly = $readonly;
$this->nodelete = $nodelete;
$this->maxlen = $maxlen;
$this->chkfuncs = $chkfuncs;
$this->displayfunc = $displayfunc;
$this->modfunc = $modfunc;
$this->prefix = $prefix;
$this->helplink = $helplink;
}
function
display ($arg)
{
$displayfunc = $this->displayfunc;
$arg = $displayfunc($arg);
for ($i = 0; $i < sizeof($arg); $i++) {
?> <tr>
<td valign=top>
<input type=text size="<?echo(INPUTLEN)?>"
maxlength="<?echo($this->maxlen)?>"
name="submitvals[<?echo($this->name)?>][<?echo($i)?>]"
value="<?echo($arg[$i])?>"
<? if ($this->readonly)
echo("readonly");
?> >
</td>
<td valign=top>
<? if ($this->readonly || $this->nodelete)
echo(" ");
else {
?> <input
type=submit
name="what[<?echo($this->name)?>][<?echo($i)?>]"
value=delete
>
<? }
?> </td>
</tr>
<? }
if ($this->multival) {
?> <tr>
<td valign=top>
<input type=text size="<?echo(INPUTLEN)?>"
maxlength="<?echo($this->maxlen)?>"
name="submitvals[<?echo($this->name)?>][<?echo($i)?>]"
value=""
>
</td>
<td colspan=2 valign=top align=left>
<input
type=submit
name="what[<?echo($this->name)?>][<?echo($i)?>]"
value=add
>
</td>
</tr>
<? }
}
}
class radio_input
extends input
{
var $buttons;
var $chkfuncs;
var $displayfunc;
var $modfunc;
var $prefix;
var $helplink;
function
radio_input ($name, $ldapattr, $readonly, $buttons,
$chkfuncs, $displayfunc, $modfunc, $prefix, $helplink)
{
$this->name = $name;
$this->ldapattr = $ldapattr;
$this->readonly = $readonly;
$this->buttons = $buttons;
$this->chkfuncs = $chkfuncs;
$this->displayfunc = $displayfunc;
$this->modfunc = $modfunc;
$this->prefix = $prefix;
$this->helplink = $helplink;
}
function
display ($arg)
{
$displayfunc = $this->displayfunc;
$arg = $displayfunc($arg);
$nbuttons = sizeof($this->buttons);
?> <tr>
<td valign=top>
<?
for ($i = 0; $i < $nbuttons; $i++) {
?> <input type=radio name="submitvals[<?echo($this->name)?>][0]"
<? if ($this->readonly)
echo(" disabled ");
$button = $this->buttons[$i];
if (!strcmp($button, $arg[0])) {
echo(" checked ");
$oldval = $button;
}
?> value="<?echo($button)?>"
>
<? echo($button);
?> <br>
<input type=hidden
name="oldvals[<?echo($this->name)?>][0]"
<? if (isset($oldval)) {
?> value="<?echo($oldval)?>"
<? } else {
?> value=""
<? }
?> >
<? }
?> </td>
<td valign=middle>
<? if ($this->readonly)
echo(" ");
else {
?> <input align=right
type=submit
name="what[<?echo($this->name)?>][0]"
value=change
>
<? }
?> </td>
</tr>
<? }
}
class select_single_input
extends input
{
var $nvals;
function
select_single_input ($name, $ldapattr, $readonly)
{
$this->name = $name;
$this->ldapattr = $ldapattr;
$this->readonly = $readonly;
}
function
display ($selectors)
{
$nvals = sizeof($selectors);
?> <select name="<?echo($this->name)?>"
<? if ($this->readonly)
echo(" disabled ");
?> size="<?echo($nvals)?>"
>
<? for ($i = 0; $i < $nvals; $i++) {
?> <option>
<? if (isset($selectors[$i]))
echo($selectors[$i]);
?> </option>
<? }
?> </select>
<? }
}
?>