function entityqueue_export_ui::list_form_submit in Entityqueue 7
Overrides ctools_export_ui::list_form_submit().
Overrides ctools_export_ui::list_form_submit
File
- plugins/
ctools/ export_ui/ entityqueue_export_ui.class.php, line 154 - Contains the CTools Export UI integration code.
Class
- entityqueue_export_ui
- Defines the CTools Export UI class handler for Entityqueue.
Code
function list_form_submit(&$form, &$form_state) {
// Add the subqueue_id and the number of items for 'single' queues, and the
// number of subqueues for the rest.
// @todo This is quite inefficient to do here but ctools_export_load_object()
// doesn't help us.
if (!empty($this->items)) {
foreach ($this->items as $name => $queue) {
$this->items[$name]->subitems = 0;
}
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', $this->entityType)
->entityCondition('bundle', array_keys($this->items), 'IN');
$result = $query
->execute();
if (!empty($result[$this->entityType])) {
$handlers = ctools_get_plugins('entityqueue', 'handler');
$subqueues_to_load = array();
foreach ($result[$this->entityType] as $name => $subqueue) {
// Add the number of subqueues first.
$this->items[$subqueue->queue]->subitems += 1;
// If this subqueue's bundle is a 'single' queue, load it so we can get
// its number of items.
if ($handlers[$this->items[$subqueue->queue]->handler]['queue type'] == 'single') {
$subqueues_to_load[] = $subqueue->subqueue_id;
}
}
if (!empty($subqueues_to_load)) {
$subqueues = entity_load($this->entityType, $subqueues_to_load);
foreach ($subqueues as $subqueue) {
$field_items = field_get_items($this->entityType, $subqueue, _entityqueue_get_target_field_name($this->items[$subqueue->queue]->target_type));
$this->items[$subqueue->queue]->subitems = $field_items ? count($field_items) : 0;
$this->items[$subqueue->queue]->subqueue_id = $subqueue->subqueue_id;
}
}
}
}
parent::list_form_submit($form, $form_state);
}