bueditor.module in BUEditor 7
Same filename and directory in other branches
Implements the necessary hooks for the editor to work properly.
File
bueditor.moduleView source
<?php
/**
* @file
* Implements the necessary hooks for the editor to work properly.
*/
/**
* Implements hook_menu().
*/
function bueditor_menu() {
$items = array();
$path = 'admin/config/content/bueditor';
$common = array(
'access arguments' => array(
'administer bueditor',
),
'file' => 'admin/bueditor.admin.inc',
);
$form = array(
'page callback' => 'drupal_get_form',
'type' => MENU_VISIBLE_IN_BREADCRUMB,
) + $common;
$items[$path] = $common + array(
'title' => 'BUEditor',
'description' => 'Customize your text editor.',
'page callback' => 'bueditor_admin',
);
$items[$path . '/new'] = $form + array(
'title' => 'Add new editor',
'page arguments' => array(
'bueditor_editor_form',
),
);
$items[$path . '/import'] = $form + array(
'title' => 'Import editor',
'page arguments' => array(
'bueditor_editor_import_form',
),
);
$items[$path . '/%bueditor_editor'] = $form + array(
'title' => 'Editor settings',
'page arguments' => array(
'bueditor_editor_form',
4,
),
);
$items[$path . '/%bueditor_editor/delete'] = $form + array(
'title' => 'Delete editor',
'page arguments' => array(
'bueditor_delete_form',
4,
),
);
return $items;
}
/**
* Implements hook_permission().
*/
function bueditor_permission() {
return array(
'administer bueditor' => array(
'title' => t('Administer BUEditor'),
'restrict access' => TRUE,
),
);
}
/**
* Implements hook_theme().
*/
function bueditor_theme() {
$theme['bueditor_admin'] = array(
'function' => 'bueditor_admin_theme',
'render element' => 'form',
);
$theme['bueditor_editor'] = array(
'function' => 'bueditor_editor_theme',
'render element' => 'form',
);
return $theme;
}
/**
* Implements hook_element_info().
*/
function bueditor_element_info() {
$elements['textarea']['#process'] = array(
'bueditor_textarea',
);
return $elements;
}
/**
* Integrate the editor into a textarea element.
*/
function bueditor_textarea($element, $form_state) {
bueditor_inc();
return _bueditor_textarea($element, $form_state);
}
/**
* Include necessary js and css files for editor settlement.
*/
function bueditor_settle($editor) {
bueditor_inc();
return _bueditor_settle($editor);
}
/**
* Load an editor by id. (Used by menu system)
*/
function bueditor_editor_load($eid) {
return db_query("SELECT * FROM {bueditor_editors} WHERE eid = :eid", array(
':eid' => $eid,
))
->fetchObject();
}
/**
* Load bueditor.inc file
*/
function bueditor_inc() {
static $loaded;
if (!isset($loaded)) {
include_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'bueditor') . '/bueditor.inc';
$loaded = TRUE;
}
}
Functions
Name | Description |
---|---|
bueditor_editor_load | Load an editor by id. (Used by menu system) |
bueditor_element_info | Implements hook_element_info(). |
bueditor_inc | Load bueditor.inc file |
bueditor_menu | Implements hook_menu(). |
bueditor_permission | Implements hook_permission(). |
bueditor_settle | Include necessary js and css files for editor settlement. |
bueditor_textarea | Integrate the editor into a textarea element. |
bueditor_theme | Implements hook_theme(). |