class stylizer_ui
UI class for Stylizer.
Hierarchy
- class \ctools_export_ui
- class \stylizer_ui extends \ctools_export_ui
Expanded class hierarchy of stylizer_ui
1 string reference to 'stylizer_ui'
- stylizer.inc in stylizer/
plugins/ export_ui/ stylizer.inc
File
-
stylizer/
plugins/ export_ui/ stylizer_ui.class.php, line 6
View source
class stylizer_ui extends ctools_export_ui {
public function access($op, $item) {
$access = parent::access($op, $item);
if ($op == 'add' && $access && empty($this->base_types)) {
// Make sure there are base styles defined.
$access = FALSE;
}
return $access;
}
public function list_form(&$form, &$form_state) {
ctools_include('stylizer');
parent::list_form($form, $form_state);
$all = array(
'all' => t('- All -'),
);
if (empty($this->base_types)) {
// Give a warning about the missing base styles.
drupal_set_message($this->plugin['strings']['message']['missing base type'], 'warning');
}
$types = $all;
foreach ($this->base_types as $module => $info) {
foreach ($info as $key => $base_type) {
$types[$module . '-' . $key] = $base_type['title'];
}
}
$form['top row']['type'] = array(
'#type' => 'select',
'#title' => t('Type'),
'#options' => $types,
'#default_value' => 'all',
'#weight' => -10,
'#attributes' => array(
'class' => array(
'ctools-auto-submit',
),
),
);
$plugins = ctools_get_style_bases();
$form_state['style_plugins'] = $plugins;
$options = $all;
// @todo base should use $module . '-' . $name
foreach ($plugins as $name => $plugin) {
$options[$name] = $plugin['title'];
}
$form['top row']['base'] = array(
'#type' => 'select',
'#title' => t('Base'),
'#options' => $all + $options,
'#default_value' => 'all',
'#weight' => -9,
'#attributes' => array(
'class' => array(
'ctools-auto-submit',
),
),
);
}
public function list_sort_options() {
return array(
'disabled' => t('Enabled, title'),
'title' => t('Title'),
'name' => t('Name'),
'base' => t('Base'),
'type' => t('Type'),
'storage' => t('Storage'),
);
}
public function list_filter($form_state, $item) {
if (empty($form_state['style_plugins'][$item->settings['style_base']])) {
$this->style_plugin = array(
'name' => 'broken',
'title' => t('Missing plugin'),
'type' => t('Unknown'),
'module' => '',
);
}
else {
$this->style_plugin = $form_state['style_plugins'][$item->settings['style_base']];
}
// This isn't really a field, but by setting this we can list it in the
// filter fields and have the search box pick it up.
$item->plugin_title = $this->style_plugin['title'];
if ($form_state['values']['type'] != 'all') {
list($module, $type) = explode('-', $form_state['values']['type']);
if ($module != $this->style_plugin['module'] || $type != $this->style_plugin['type']) {
return TRUE;
}
}
if ($form_state['values']['base'] != 'all' && $form_state['values']['base'] != $this->style_plugin['name']) {
return TRUE;
}
return parent::list_filter($form_state, $item);
}
public function list_search_fields() {
$fields = parent::list_search_fields();
$fields[] = 'plugin_title';
return $fields;
}
public function list_build_row($item, &$form_state, $operations) {
// Set up sorting.
switch ($form_state['values']['order']) {
case 'disabled':
$this->sorts[$item->name] = empty($item->disabled) . $item->admin_title;
break;
case 'title':
$this->sorts[$item->name] = $item->admin_title;
break;
case 'name':
$this->sorts[$item->name] = $item->name;
break;
case 'type':
$this->sorts[$item->name] = $this->style_plugin['type'] . $item->admin_title;
break;
case 'base':
$this->sorts[$item->name] = $this->style_plugin['title'] . $item->admin_title;
break;
case 'storage':
$this->sorts[$item->name] = $item->type . $item->admin_title;
break;
}
if (!empty($this->base_types[$this->style_plugin['module']][$this->style_plugin['type']])) {
$type = $this->base_types[$this->style_plugin['module']][$this->style_plugin['type']]['title'];
}
else {
$type = t('Unknown');
}
$ops = theme('links__ctools_dropbutton', array(
'links' => $operations,
'attributes' => array(
'class' => array(
'links',
'inline',
),
),
));
$this->rows[$item->name] = array(
'data' => array(
array(
'data' => $type,
'class' => array(
'ctools-export-ui-type',
),
),
array(
'data' => check_plain($item->name),
'class' => array(
'ctools-export-ui-name',
),
),
array(
'data' => check_plain($item->admin_title),
'class' => array(
'ctools-export-ui-title',
),
),
array(
'data' => check_plain($this->style_plugin['title']),
'class' => array(
'ctools-export-ui-base',
),
),
array(
'data' => check_plain($item->type),
'class' => array(
'ctools-export-ui-storage',
),
),
array(
'data' => $ops,
'class' => array(
'ctools-export-ui-operations',
),
),
),
'title' => check_plain($item->admin_description),
'class' => array(
!empty($item->disabled) ? 'ctools-export-ui-disabled' : 'ctools-export-ui-enabled',
),
);
}
public function list_table_header() {
return array(
array(
'data' => t('Type'),
'class' => array(
'ctools-export-ui-type',
),
),
array(
'data' => t('Name'),
'class' => array(
'ctools-export-ui-name',
),
),
array(
'data' => t('Title'),
'class' => array(
'ctools-export-ui-title',
),
),
array(
'data' => t('Base'),
'class' => array(
'ctools-export-ui-base',
),
),
array(
'data' => t('Storage'),
'class' => array(
'ctools-export-ui-storage',
),
),
array(
'data' => t('Operations'),
'class' => array(
'ctools-export-ui-operations',
),
),
);
}
public function init($plugin) {
ctools_include('stylizer');
$this->base_types = ctools_get_style_base_types();
parent::init($plugin);
}
public function get_wizard_info(&$form_state) {
$form_info = parent::get_wizard_info($form_state);
ctools_include('stylizer');
// For add forms, we have temporarily set the 'form type' to include
// the style type so the default wizard_info can find the path. If
// we did that, we have to put it back.
if (!empty($form_state['type'])) {
$form_state['form type'] = 'add';
$form_info['show back'] = TRUE;
}
// Ensure these do not get out of sync.
$form_state['item']->settings['name'] = $form_state['item']->name;
$form_state['settings'] = $form_state['item']->settings;
// Figure out the base style plugin in use and make sure that is available.
$plugin = NULL;
if (!empty($form_state['item']->settings['style_base'])) {
$plugin = ctools_get_style_base($form_state['item']->settings['style_base']);
ctools_stylizer_add_plugin_forms($form_info, $plugin, $form_state['op']);
}
else {
// This is here so the 'finish' button does not show up, and because
// we don't have the selected style we don't know what the next form(s)
// will be.
$form_info['order']['next'] = t('Configure style');
}
// If available, make sure these are available for the 'choose' form.
if (!empty($form_state['item']->style_module)) {
$form_state['module'] = $form_state['item']->style_module;
$form_state['type'] = $form_state['item']->style_type;
}
$form_state['base_style_plugin'] = $plugin;
$form_state['settings'] = $form_state['item']->settings;
return $form_info;
}
/**
* Store the stylizer info in our settings.
*
* The stylizer wizard stores its stuff in slightly different places, so
* we have to find it and move it to the right place.
*/
public function store_stylizer_info(&$form_state) {
/*
foreach (array('name', 'admin_title', 'admin_description') as $key) {
if (!empty($form_state['values'][$key])) {
$form_state['item']->{$key} = $form_state['values'][$key];
}
}
*/
if ($form_state['step'] != 'import') {
$form_state['item']->settings = $form_state['settings'];
}
// Do not let the 'name' accidentally get out of sync under any circumstances.
$form_state['item']->settings['name'] = $form_state['item']->name;
}
public function edit_wizard_next(&$form_state) {
$this->store_stylizer_info($form_state);
parent::edit_wizard_next($form_state);
}
public function edit_wizard_finish(&$form_state) {
// These might be stored by the stylizer wizard, so we should clear them.
if (isset($form_state['settings']['old_settings'])) {
unset($form_state['settings']['old_settings']);
}
$this->store_stylizer_info($form_state);
parent::edit_wizard_finish($form_state);
}
public function edit_form_type(&$form, &$form_state) {
foreach ($this->base_types as $module => $info) {
foreach ($info as $key => $base_type) {
$types[$module . '-' . $key] = $base_type['title'];
}
}
$form['type'] = array(
'#type' => 'select',
'#title' => t('Type'),
'#options' => $types,
'#default_value' => 'all',
'#weight' => -10,
'#attributes' => array(
'class' => array(
'ctools-auto-submit',
),
),
);
}
public function edit_form_type_submit(&$form, &$form_state) {
list($form_state['item']->style_module, $form_state['item']->style_type) = explode('-', $form_state['values']['type']);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
ctools_export_ui::$name | property | ||||
ctools_export_ui::$options | property | ||||
ctools_export_ui::$plugin | property | ||||
ctools_export_ui::add_page | public | function | |||
ctools_export_ui::build_operations | public | function | Builds the operation links for a specific exportable item. | ||
ctools_export_ui::clone_page | public | function | Main entry point to clone an item. | ||
ctools_export_ui::delete_form_submit | public | function | Deletes exportable items from the database. | ||
ctools_export_ui::delete_page | public | function | Page callback to delete an exportable item. | ||
ctools_export_ui::disable_page | public | function | Callback to disable a page. | ||
ctools_export_ui::edit_cache_clear | public | function | Clear the object cache for the currently edited item. | ||
ctools_export_ui::edit_cache_get | public | function | Retrieve the item currently being edited from the object cache. | ||
ctools_export_ui::edit_cache_get_key | public | function | Figure out what the cache key is for this object. | ||
ctools_export_ui::edit_cache_set | public | function | Cache the item currently currently being edited. | ||
ctools_export_ui::edit_cache_set_key | public | function | |||
ctools_export_ui::edit_execute_form | public | function | Execute the form. | ||
ctools_export_ui::edit_execute_form_standard | public | function | Execute the standard form for editing. | ||
ctools_export_ui::edit_execute_form_wizard | public | function | Execute the wizard for editing. | ||
ctools_export_ui::edit_finish_validate | public | function | Perform a final validation check before allowing the form to be finished. |
||
ctools_export_ui::edit_form | public | function | Provide the actual editing form. | 1 | |
ctools_export_ui::edit_form_import | public | function | Import form. Provides simple helptext instructions and textarea for pasting a export definition. |
||
ctools_export_ui::edit_form_import_submit | public | function | Submit callback for import form. | ||
ctools_export_ui::edit_form_import_validate | public | function | Import form validate handler. | ||
ctools_export_ui::edit_form_submit | public | function | Handle the submission of the edit form. | 2 | |
ctools_export_ui::edit_form_validate | public | function | Validate callback for the edit form. | ||
ctools_export_ui::edit_page | public | function | Main entry point to edit an item. | ||
ctools_export_ui::edit_save_form | public | function | Called to save the final product from the edit form. | ||
ctools_export_ui::edit_wizard_back | public | function | Wizard 'back' callback when using a wizard to edit an item. | ||
ctools_export_ui::edit_wizard_cancel | public | function | Wizard 'cancel' callback when using a wizard to edit an item. | ||
ctools_export_ui::enable_page | public | function | Callback to enable a page. | ||
ctools_export_ui::export_page | public | function | Page callback to display export information for an exportable item. | ||
ctools_export_ui::get_page_title | public | function | Get a page title for the current page from our plugin strings. | ||
ctools_export_ui::hook_menu | public | function | hook_menu() entry point. | ||
ctools_export_ui::import_page | public | function | Page callback to import information for an exportable item. | ||
ctools_export_ui::list_css | public | function | Add listing CSS to the page. | ||
ctools_export_ui::list_footer | public | function | Render a footer to go after thie list. | ||
ctools_export_ui::list_form_submit | public | function | Submit the filter/sort form. | ||
ctools_export_ui::list_form_validate | public | function | Validate the filter/sort form. | ||
ctools_export_ui::list_header | public | function | Render a header to go before the list. | ||
ctools_export_ui::list_page | public | function | Master entry point for handling a list. | ||
ctools_export_ui::list_render | public | function | Render all of the rows together. | ||
ctools_export_ui::load_item | public | function | Called by ctools_export_ui_load to load the item. | ||
ctools_export_ui::redirect | public | function | Perform a drupal_goto() to the location provided by the plugin for the operation. |
||
ctools_export_ui::set_item_state | public | function | Set an item's state to enabled or disabled and output to user. | ||
stylizer_ui::access | public | function | Menu callback to determine if an operation is accessible. | Overrides ctools_export_ui::access | |
stylizer_ui::edit_form_type | public | function | |||
stylizer_ui::edit_form_type_submit | public | function | |||
stylizer_ui::edit_wizard_finish | public | function | Wizard 'cancel' callback when using a wizard to edit an item. | Overrides ctools_export_ui::edit_wizard_finish | |
stylizer_ui::edit_wizard_next | public | function | Wizard 'next' callback when using a wizard to edit an item. | Overrides ctools_export_ui::edit_wizard_next | |
stylizer_ui::get_wizard_info | public | function | Get the form info for the wizard. | Overrides ctools_export_ui::get_wizard_info | |
stylizer_ui::init | public | function | Fake constructor -- this is easier to deal with than the real constructor because we are retaining PHP4 compatibility, which would require all child classes to implement their own constructor. |
Overrides ctools_export_ui::init | |
stylizer_ui::list_build_row | public | function | Build a row based on the item. | Overrides ctools_export_ui::list_build_row | |
stylizer_ui::list_filter | public | function | Determine if a row should be filtered out. | Overrides ctools_export_ui::list_filter | |
stylizer_ui::list_form | public | function | Create the filter/sort form at the top of a list of exports. | Overrides ctools_export_ui::list_form | |
stylizer_ui::list_search_fields | public | function | Provide a list of fields to test against for the default "search" widget. | Overrides ctools_export_ui::list_search_fields | |
stylizer_ui::list_sort_options | public | function | Provide a list of sort options. | Overrides ctools_export_ui::list_sort_options | |
stylizer_ui::list_table_header | public | function | Provide the table header. | Overrides ctools_export_ui::list_table_header | |
stylizer_ui::store_stylizer_info | public | function | Store the stylizer info in our settings. |