function xbbcode_settings_handlers_format in Extensible BBCode 7
Same name and namespace in other branches
- 8 xbbcode.admin.inc \xbbcode_settings_handlers_format()
Modify handler settings (subform).
2 calls to xbbcode_settings_handlers_format()
- xbbcode_filter_settings in ./
xbbcode.module - Settings callback for the filter settings of xbbcode.
- xbbcode_settings_handlers in ./
xbbcode.admin.inc - Modify the global handler settings.
File
- ./
xbbcode.admin.inc, line 316 - Administrative interface for modifying tags and settings.
Code
function xbbcode_settings_handlers_format($format = XBBCODE_GLOBAL) {
drupal_add_css(drupal_get_path('module', 'xbbcode') . '/xbbcode.css');
drupal_add_js(drupal_get_path('module', 'xbbcode') . '/xbbcode.js');
module_load_include('inc', 'xbbcode');
$handlers = _xbbcode_build_handlers();
$defaults = xbbcode_handlers_load($format, TRUE);
$form = array(
'#type' => 'fieldset',
'#theme' => 'xbbcode_settings_handlers_format',
'#tree' => TRUE,
'#title' => t('Tag settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['_enabled'] = array(
'#type' => 'tableselect',
'#header' => array(
'tag' => t('BBCode tag'),
'module' => t('Module'),
),
'#default_value' => array(),
'#options' => array(),
'#attributes' => array(
'id' => 'xbbcode-handlers',
),
'#empty' => t('No tags or handlers are defined. Please <a href="@modules">install a tag module</a> or <a href="@custom">create some custom tags</a>.', array(
'@modules' => url('admin/modules', array(
'fragment' => 'edit-modules-xbbcode',
)),
'@custom' => url('admin/config/content/xbbcode/tags'),
)),
);
foreach ($handlers as $name => $handler) {
if (!isset($defaults[$name])) {
$defaults[$name] = (object) array(
'module' => key($handler['modules']),
'enabled' => FALSE,
);
}
$form['_enabled']['#options'][$name] = array(
'tag' => array(
'data' => _xbbcode_build_descriptions($name, $handler['info'], $defaults[$name]->module),
'class' => array(
'xbbcode-tag-description',
'xbbcode-tag-td',
),
),
'module' => array(
'data' => 'handler-select',
'class' => array(
'xbbcode-tag-td',
),
),
'#attributes' => array(
'class' => $defaults[$name]->enabled ? array(
'selected',
) : array(),
),
);
$form['_enabled']['#default_value'][$name] = $defaults[$name]->enabled ? 1 : NULL;
$form[$name]['module'] = array(
'#type' => 'select',
'#options' => $handler['modules'],
'#default_value' => $defaults[$name]->module,
'#attributes' => array(
'class' => array(
'xbbcode-tag-handler',
),
),
);
}
return $form;
}