diff options
Diffstat (limited to 'views/default/input/access.php')
| -rw-r--r-- | views/default/input/access.php | 65 |
1 files changed, 23 insertions, 42 deletions
diff --git a/views/default/input/access.php b/views/default/input/access.php index d4f366363..137eea288 100644 --- a/views/default/input/access.php +++ b/views/default/input/access.php @@ -1,57 +1,38 @@ <?php /** * Elgg access level input - * Displays a pulldown input field - * - * @package Elgg - * @subpackage Core - - - * - * @uses $vars['value'] The current value, if any - * @uses $vars['js'] Any Javascript to enter into the input tag - * @uses $vars['internalname'] The name of the input field + * Displays a dropdown input field * + * @uses $vars['value'] The current value, if any + * @uses $vars['options_values'] Array of value => label pairs (overrides default) + * @uses $vars['name'] The name of the input field + * @uses $vars['entity'] Optional. The entity for this access control (uses access_id) + * @uses $vars['class'] Additional CSS class */ -$class = "input-access"; if (isset($vars['class'])) { - $class = $vars['class']; + $vars['class'] = "elgg-input-access {$vars['class']}"; +} else { + $vars['class'] = "elgg-input-access"; } -$disabled = false; -if (isset($vars['disabled'])) { - $disabled = $vars['disabled']; -} +$defaults = array( + 'disabled' => false, + 'value' => get_default_access(), + 'options_values' => get_write_access_array(), +); -if (!array_key_exists('value', $vars) || $vars['value'] == ACCESS_DEFAULT) { - $vars['value'] = get_default_access(); +if (isset($vars['entity'])) { + $defaults['value'] = $vars['entity']->access_id; + unset($vars['entity']); } -if (!isset($vars['value']) || $vars['value'] === FALSE) { - $vars['value'] = elgg_get_sticky_value($vars['internalname']); -} +$vars = array_merge($defaults, $vars); -if ((!isset($vars['options'])) || (!is_array($vars['options']))) { - $vars['options'] = array(); - $vars['options'] = get_write_access_array(); +if ($vars['value'] == ACCESS_DEFAULT) { + $vars['value'] = get_default_access(); } -if (is_array($vars['options']) && sizeof($vars['options']) > 0) { - ?> - - <select <?php if (isset($vars['internalid'])) echo "id=\"{$vars['internalid']}\""; ?> name="<?php echo $vars['internalname']; ?>" <?php if (isset($vars['js'])) echo $vars['js']; ?> <?php if ($disabled) echo ' disabled="yes" '; ?> class="<?php echo $class; ?>"> - <?php - - foreach($vars['options'] as $key => $option) { - if ($key != $vars['value']) { - echo "<option value=\"{$key}\">". htmlentities($option, ENT_QUOTES, 'UTF-8') ."</option>"; - } else { - echo "<option value=\"{$key}\" selected=\"selected\">". htmlentities($option, ENT_QUOTES, 'UTF-8') ."</option>"; - } - } - - ?> - </select> - <?php -}
\ No newline at end of file +if (is_array($vars['options_values']) && sizeof($vars['options_values']) > 0) { + echo elgg_view('input/dropdown', $vars); +} |
