Collections functions
General functions
Node functions
Render functions
Theme permission functions
User functions
Resource functions

config_db_single_select()

Description

Generate an html single-select + options block for selecting from among rows returned by a
database query in which one of the columns is the unique key (by default, the "ref" column) and
one of the others is the text to display (by default the "name" column). The value posted is the
value at the intersection of the selected rown with the column given by the $ixcol variable.

Defaulted to 'ref'.
user. Defaulted to 'name'.
the user. Defaulted to '' indicating that only $dispcolA is to be displayed.
Defaulted to $lang['plugin_field_fmt']. $fmt is all literal except for %A and %B which
are replaced with values. In English $fmt is '%A(%B)' which results in the i-th choice
displaying as: $choices[i][$dispcolA] . '(' . $choices[i][$dispcolB] . ')'

Parameters

ColumnTypeDefaultDescription
$name string the name of the select block. Usually the name of the config variable being set.
$label string the user text displayed to label the select block. Usually a $lang string.
$current string the current value of the config variable being set.
$choices array the array of db rows that make up the choices.
$ixcol string 'ref' the key in $choices (i.e., the db column) for the value of the choice.
$dispcolA string 'name' the key in $choices (i.e., the db column) for the text to display to the
$dispcolB string '' the key in $choices (i.e., the db column) for secondary text to display to
$fmt string '' the formatting string for combining $dispcolA and B when both are specified.
$width integer 300 the width of the input field in pixels. Default: 300.

Location

include/plugin_functions.php lines 1113 to 1138

Definition

 
function config_db_single_select($name$label$current$choices$ixcol='ref'$dispcolA='name'$dispcolB=''$fmt=''$width=300)
    {
    global 
$lang;
?>
  <div class="Question">
    <label for=" echo $name?>" title=" echo str_replace('%cvn'$name$lang['plugins-configvar'])?>"> echo $label?></label>
    <select name=" echo $name?>" id=" echo $name?>" style="width: echo $width ?>px">

    
foreach($choices as $item)
        {
        if (
$dispcolB!='')
            {
            
$usertext=str_replace(array('%A','%B'), array($item[$dispcolA],$item[$dispcolB]),$fmt==''?$lang['plugin_field_fmt']:$fmt);
            }
        else
            {
            
$usertext=$item[$dispcolA];
            }
        echo 
'    <option value="' $item[$ixcol] . '"' . (($item[$ixcol]==$current)?' selected':'') . '>' $usertext '</option>';
        }
?>
    </select>
    <div class="clearerleft"></div>
  </div>

    
}

This article was last updated 19th March 2024 02:05 Europe/London time based on the source file dated 15th March 2024 17:00 Europe/London time.