From b4634929787e6c5c57209dab9b26826bf88bbcbc Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Fri, 14 May 2010 04:57:59 +0000 Subject: #728566 by Dave Reid: Fixed Incorrect colspan for content row when there are no aliases. --- modules/path/path.admin.inc | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) (limited to 'modules/path') diff --git a/modules/path/path.admin.inc b/modules/path/path.admin.inc index 627a94a9d..6c3e36167 100644 --- a/modules/path/path.admin.inc +++ b/modules/path/path.admin.inc @@ -19,14 +19,13 @@ function path_admin_overview($keys = NULL) { $alias_exists = (bool) db_query_range('SELECT 1 FROM {url_alias} WHERE language <> :language', 0, 1, array(':language' => LANGUAGE_NONE))->fetchField(); $multilanguage = (module_exists('locale') || $alias_exists); - $header = array( - array('data' => t('Alias'), 'field' => 'alias', 'sort' => 'asc'), - array('data' => t('System'), 'field' => 'source'), - array('data' => t('Operations'), 'colspan' => '2') - ); + $header = array(); + $header[] = array('data' => t('Alias'), 'field' => 'alias', 'sort' => 'asc'); + $header[] = array('data' => t('System'), 'field' => 'source'); if ($multilanguage) { - array_splice($header, 2, 0, array(array('data' => t('Language'), 'field' => 'language'))); + $header[] = array('data' => t('Language'), 'field' => 'language'); } + $header[] = array('data' => t('Operations')); $query = db_select('url_alias')->extend('PagerDefault')->extend('TableSort'); if ($keys) { @@ -42,22 +41,38 @@ function path_admin_overview($keys = NULL) { $rows = array(); $destination = drupal_get_destination(); foreach ($result as $data) { - $row = array( + $row = array(); + $row['data']['alias'] = l($data->alias, $data->source); + $row['data']['source'] = l($data->source, $data->source, array('alias' => TRUE)); + if ($multilanguage) { + $row['data']['language'] = module_invoke('locale', 'language_name', $data->language); + } + + $operations = array(); + $operations['edit'] = array( + 'title' => t('edit'), + 'href' => "admin/config/search/path/edit/$data->pid", + 'query' => $destination, + ); + $operations['delete'] = array( + 'title' => t('delete'), + 'href' => "admin/config/search/path/delete/$data->pid", + 'query' => $destination, + ); + $row['data']['operations'] = array( 'data' => array( - l($data->alias, $data->source), - l($data->source, $data->source, array('alias' => TRUE)), - l(t('edit'), "admin/config/search/path/edit/$data->pid", array('query' => $destination)), - l(t('delete'), "admin/config/search/path/delete/$data->pid", array('query' => $destination)), + '#theme' => 'links', + '#links' => $operations, + '#attributes' => array('class' => array('links', 'inline', 'nowrap')), ), ); + // If the system path maps to a different URL alias, highlight this table // row to let the user know of old aliases. if ($data->alias != drupal_get_path_alias($data->source, $data->language)) { $row['class'] = array('warning'); } - if ($multilanguage) { - array_splice($row['data'], 2, 0, module_invoke('locale', 'language_name', $data->language)); - } + $rows[] = $row; } @@ -65,7 +80,7 @@ function path_admin_overview($keys = NULL) { '#theme' => 'table', '#header' => $header, '#rows' => $rows, - '#empty' => t('No URL aliases available. Add alias.', array('@link' => url('admin/config/search/path/add'))), + '#empty' => t('No URL aliases available. Add URL alias.', array('@link' => url('admin/config/search/path/add'))), ); $build['path_pager'] = array('#theme' => 'pager'); -- cgit v1.2.3