From 428dba8d38580a579629971c41304001096549d4 Mon Sep 17 00:00:00 2001 From: Pol Dell'aiera Date: Fri, 26 Aug 2011 16:15:37 +0200 Subject: [PATCH] Optimizing the table rendering and adding a new column 'icon' for the Styles tab. --- modules/openlayers_ui/openlayers_ui.module | 81 ++++++++++++++------------- 1 files changed, 42 insertions(+), 39 deletions(-) diff --git a/modules/openlayers_ui/openlayers_ui.module b/modules/openlayers_ui/openlayers_ui.module index 3647523..cfecca6 100644 --- a/modules/openlayers_ui/openlayers_ui.module +++ b/modules/openlayers_ui/openlayers_ui.module @@ -381,74 +381,77 @@ function openlayers_ui_object_list($type) { switch ($type) { case 'styles': + $header = array(t('Icon'), t('Title'), t('Description'), t('Actions')); $objects = openlayers_styles(TRUE); break; case 'layers': + $header = array(t('Title'), t('Type'), t('Description'), t('Actions')); + $layer_types = openlayers_layer_types(); $objects = openlayers_layers_load(TRUE); break; case 'maps': + $header = array(t('Title'), t('Layers'), t('Description'), t('Actions')); + $layers = openlayers_layers_load(); $objects = openlayers_maps(TRUE); break; } - // Make table of maps and actions - if ($type == 'layers') { - $header = array(t('Title'), t('Type'), t('Description'), t('Actions')); - $layer_types = openlayers_layer_types(); - } - elseif ($type == 'maps') { - $header = array(t('Title'), t('Layers'), t('Description'), t('Actions')); - $layers = openlayers_layers_load(); - } - else { - $header = array(t('Title'), t('Description'), t('Actions')); - } - // Create table rows foreach ($objects as $object) { $row = array(); $links = array(); + + switch ($type) { + case 'styles': + // Add the icon as an image in the row if it exists. + $row[] = isset($object->data['externalGraphic']) ? theme('image',array('path'=>$object->data['externalGraphic'])) : NULL; + break; + case 'layers': + // This is useless, but maybe we'll need it one day. + break; + case 'maps': + // This is useless, but maybe we'll need it one day. + break; + } + + // Check map type and create links accordingly. + $links[] = l(t('Export'), "admin/structure/openlayers/{$type}/{$object->name}/export"); + $links[] = l(t('Clone'), "admin/structure/openlayers/{$type}/clone/{$object->name}"); + switch ($object->export_type) { case (EXPORT_IN_DATABASE | EXPORT_IN_CODE): $row[] = $object->title .' (' . t('Overridden') . ')'; + $links[] = l(t('Edit'), "admin/structure/openlayers/{$type}/{$object->name}/edit"); + $links[] = l(t('Revert'), "admin/structure/openlayers/{$type}/{$object->name}/delete"); break; case EXPORT_IN_DATABASE: - $row[] = $object->title .' (' . t('Normal') . ')'; + $links[] = l(t('Edit'), "admin/structure/openlayers/{$type}/{$object->name}/edit"); + $links[] = l(t('Delete'), "admin/structure/openlayers/{$type}/{$object->name}/delete"); + $row[] = $object->title .' (' . t('Normal') . ')'; break; case EXPORT_IN_CODE: $row[] = $object->title .' (' . t('Default') . ')'; break; } - if ($type == 'layers') { - $row[] = $layer_types[$object->data['layer_type']]['title']; - } - elseif ($type == 'maps') { - if (!empty($object->data['layers'])) { - $layer_names = array(); - foreach ($object->data['layers'] as $layer) { - $layer_names[] = empty($layers[$layer]->title) ? $layer : $layers[$layer]->title; + switch ($type) { + case 'styles': + break; + case 'layers': + $row[] = $layer_types[$object->data['layer_type']]['title']; + break; + case 'maps': + if (!empty($object->data['layers'])) { + $layer_names = array(); + foreach ($object->data['layers'] as $layer) { + $layer_names[] = empty($layers[$layer]->title) ? $layer : $layers[$layer]->title; + } + $row[] = '' . implode(', ', $layer_names) . ''; } - $row[] = '' . implode(', ', $layer_names) . ''; - } - else { - $row[] = ''; - } + break; } $row[] = $object->description; - - // Check map type and create links accordingly. - if ($object->export_type == (EXPORT_IN_CODE | EXPORT_IN_DATABASE)) { - $links[] = l(t('Edit'), "admin/structure/openlayers/{$type}/{$object->name}/edit"); - $links[] = l(t('Revert'), "admin/structure/openlayers/{$type}/{$object->name}/delete"); - } - elseif ($object->export_type == EXPORT_IN_DATABASE) { - $links[] = l(t('Edit'), "admin/structure/openlayers/{$type}/{$object->name}/edit"); - $links[] = l(t('Delete'), "admin/structure/openlayers/{$type}/{$object->name}/delete"); - } - $links[] = l(t('Export'), "admin/structure/openlayers/{$type}/{$object->name}/export"); - $links[] = l(t('Clone'), "admin/structure/openlayers/{$type}/clone/{$object->name}"); $row[] = implode(' | ', $links); $rows[] = $row; } -- 1.7.3.4