[horde] Pass a "enum" from hooks -> prefs.php
Jan Schneider
jan at horde.org
Fri Feb 1 15:58:22 UTC 2008
Zitat von Otto Stolz <Otto.Stolz at uni-konstanz.de>:
> Hello Andreas,
>
> MailingListe schrieb:
>> Hello
>>
>> i try to pass a "enum" value from a hook to prefs.php to pre-populate
>> the enum field used in prefs.php with some values obtained from
>> database. Unfortunately it does not work at all. I have set a static
>> array to test but obviously i have missed something
>
> Read the docu on the $prefs array, in horde/config/prefs.php.
> Then look at one of the example involving an enum, e. g. date format:
> you will see that the static list of possible values goes into
> the ['enum'] component, whilst the ['value'] component contains
> the value actually selected.
>
> As you can also read, the hook function will be used to supply the
> ['value'] component. So, you have not supplied any enumeration.
> If you want to supply a more dynamic list, you'd have to explicitely
> call a function directly from horde/imp/config/prefs.php to obtain
> that list and assign it directly to the ['enum'] component.
>
>> // user preferred 'tie to' addresses
>> $_prefs['tieto_addr'] = array(
>> 'value' => '',
>> 'locked' => false,
>> 'shared' => false,
>> 'hook' => true,
>> 'type' => 'enum',
>> 'desc' => _("Addresses to explicitly tie to this identity:
>> <em>(optional, enter each address on a new line)</em>"));
>
> Originally, $_prefs['tieto_addr'] has
> 'type' => 'textarea',
> I guess you are not allowed to change this, as you could
> invalidate some code targetted at interpreting that very
> value. Could any person in the know (Jan?) elaborate on
> this issue?
This preference expects a newline-separated list of addresses. You
could use any preference type that returns this, especially types that
return a single string only. Enum is one of these types.
> For a starter, you could try
> 'type' => 'textarea',
> 'value'=> "test1 at kwsoft.com\ntest2 at kwsoft.com",
> (i. e., a single string containing a newline-separated list).
> But then I have not the slightest idea what purpose
> $_prefs['tieto_addr'] is meant to serve, and whether this
> preference will fit your bill.
Jan.
--
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/
More information about the horde
mailing list