$type, 'label' => $label, ]; foreach (['configure', 'grant'] as $func) { $data += [ "{$func}" => "environment_fieldaccess_$func", "{$func}_file" => "environment_fieldaccess.$func.inc", ]; } $info["environment_fieldaccess_$type"] = $data; } return $info; } /** * Get instance of current site. * * @param array $settings * Configured settings. * @param bool $get * Get values. * * @return array * Form definition or, if second argument is TRUE - configured values. */ function _environment_fieldaccess_settings(array $settings, $get = FALSE) { $environments = $elements = $values = []; if (!$get) { foreach (environment_load() as $environment => $definition) { $environments[$environment] = $definition['label']; } } $elements['environment'] = [ '#type' => 'select', '#title' => t('Allow access for selected environments'), '#options' => $environments, '#multiple' => TRUE, '#default_value' => '', ]; $elements['not'] = [ '#type' => 'checkbox', '#title' => t('Reverse (NOT)'), '#default_value' => 0, ]; foreach ($elements as $element => &$definition) { // Updated default value from settings. if (isset($settings[$element])) { $definition['#default_value'] = $settings[$element]; } // Collect form values. $values[$element] = isset($definition['#default_value']) ? $definition['#default_value'] : NULL; } return $get ? $values : $elements; }