function bueditor_editor_form in BUEditor 7
Same name and namespace in other branches
- 6.2 admin/bueditor.admin.inc \bueditor_editor_form()
- 6 bueditor.admin.inc \bueditor_editor_form()
Editor form.
1 string reference to 'bueditor_editor_form'
- bueditor_menu in ./
bueditor.module - Implements hook_menu().
File
- admin/
bueditor.admin.inc, line 226
Code
function bueditor_editor_form($form, &$form_state, $editor = NULL) {
$editor = is_object($editor) ? $editor : bueditor_editor_defaults();
$editor->eid = isset($editor->eid) ? $editor->eid : '';
$form_state['cache'] = TRUE;
$form = array(
'#tree' => TRUE,
'#theme' => 'bueditor_editor',
'#attributes' => array(
'enctype' => 'multipart/form-data',
),
);
$form['editor']['eid'] = array(
'#type' => 'hidden',
'#value' => $editor->eid,
);
$form['editor']['name'] = array(
'#type' => 'textfield',
'#title' => t('Editor name'),
'#maxlength' => 255,
'#default_value' => $editor->name,
'#required' => TRUE,
);
$form['editor']['pages'] = array(
'#type' => 'textarea',
'#title' => t('Show the editor on specific pages'),
'#default_value' => $editor->pages,
'#description' => t('Enter one page per line as Drupal paths. The * character is a wildcard.'),
);
$form['editor']['excludes'] = array(
'#type' => 'textarea',
'#title' => t('Hide the editor for specific textareas'),
'#default_value' => $editor->excludes,
'#description' => t('Enter one textarea ID per line. The * character is a wildcard.'),
);
$form['editor']['iconpath'] = array(
'#type' => 'textfield',
'#title' => t('Directory of editor icons'),
'#maxlength' => 255,
'#default_value' => $editor->iconpath,
'#description' => t('Web accessible directory path where editor icons reside.') . ' ' . t('Placeholders that you can use are; %BUEDITOR (bueditor path), %FILES (drupal files path), and %THEME (current theme\'s path).'),
);
$form['editor']['librarypath'] = array(
'#type' => 'textarea',
'#title' => t('Editor specific library files'),
'#default_value' => $editor->librarypath,
'#description' => t('Web accessible javascript(.js) or style sheet(.css) file paths to be included with the editor. Enter one file path per line.') . ' ' . t('Placeholders that you can use are; %BUEDITOR (bueditor path), %FILES (drupal files path), and %THEME (current theme\'s path).'),
);
$form['editor']['spriteon'] = array(
'#type' => 'checkbox',
'#title' => t('Enable CSS sprites'),
'#default_value' => $editor->spriteon,
'#description' => t('<a href="http://www.alistapart.com/articles/sprites">What are CSS sprites?</a>. The sprites will be stored in %dir.', array(
'%dir' => bueditor_sprites_dir(),
)),
);
//buttons
foreach (bueditor_buttons($editor->eid) as $bid => $button) {
$form['buttons'][$bid] = bueditor_button_form($button);
$form['checks'][$bid] = array(
'#type' => 'checkbox',
);
}
//imported/copied buttons are previewed. not saved yet.
if (isset($_SESSION['bueimport']) && ($import = $_SESSION['bueimport'])) {
$import = is_array($import) ? $import : bueditor_import_csv_buttons($import);
if (empty($import)) {
drupal_set_message(t('There is no button to import.'), 'warning');
}
else {
foreach ($import as $bid => $button) {
$form['buttons']['new' . $bid] = bueditor_button_form($button);
}
drupal_set_message(t('New buttons are ready to be saved.'));
}
unset($_SESSION['bueimport']);
}
//there is always two new buttons.
$form['buttons']['new'] = $form['buttons']['new_'] = bueditor_button_form();
if ($editor->eid) {
//actions for selected buttons
$form += bueditor_selaction_form();
//button import
$form += bueditor_button_import_form();
//demo
$form += array(
'demo' => array(
'#type' => 'text_format',
'#base_type' => 'textarea',
'#title' => t('Demo'),
'#rows' => 10,
'#value' => 'DEMO',
'#format' => NULL,
),
);
}
//configuration submit
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
'#submit' => array(
'bueditor_editor_submit',
),
);
return $form;
}