Index: modules/path/path.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/path/path.admin.inc,v
retrieving revision 1.40
diff -u -p -r1.40 path.admin.inc
--- modules/path/path.admin.inc	3 Jan 2010 00:44:53 -0000	1.40
+++ modules/path/path.admin.inc	9 Jan 2010 23:47:41 -0000
@@ -16,16 +16,17 @@ function path_admin_overview($keys = NUL
   // Add the filter form above the overview table.
   $build['path_admin_filter_form'] = drupal_get_form('path_admin_filter_form', $keys);
   // Enable language column if locale is enabled or if we have any alias with language
-  $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);
+  $multilanguage = module_exists('locale');
+  $multilanguage &= (bool) db_query_range('SELECT 1 FROM {url_alias} WHERE language <> :language', 0, 1, array(':language' => LANGUAGE_NONE))->fetchField();
 
   $header = array(
-    array('data' => t('Alias'), 'field' => 'alias', 'sort' => 'asc'),
-    array('data' => t('System'), 'field' => 'source'),
-    array('data' => t('Operations'), 'colspan' => '2')
+    'alias' => array('data' => t('Alias'), 'field' => 'alias', 'sort' => 'asc'),
+    'source' => array('data' => t('System'), 'field' => 'source'),
+    'language' => array('data' => t('Language'), 'field' => 'language'),
+    'operations' => array('data' => t('Operations'))
   );
-  if ($multilanguage) {
-    array_splice($header, 2, 0, array(array('data' => t('Language'), 'field' => 'language')));
+  if (!$multilanguage) {
+    unset($header['language']);
   }
 
   $query = db_select('url_alias')->extend('PagerDefault')->extend('TableSort');
@@ -42,12 +43,28 @@ function path_admin_overview($keys = NUL
   $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')),
       ),
     );
     // If the system path maps to a different URL alias, highlight this table
@@ -55,9 +72,6 @@ function path_admin_overview($keys = NUL
     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;
   }
 
