diff --git a/features.admin.inc b/features.admin.inc
index c1c83d7..008b4b9 100644
--- a/features.admin.inc
+++ b/features.admin.inc
@@ -416,9 +416,11 @@ function features_admin_form($form, $form_state) {
$description .= "
". t('Conflicts with: !conflicts', array('!conflicts' => implode(', ', $module_conflicts))) ."
";
}
+ $href = "admin/structure/features/{$name}";
+ $module_name = (user_access('administer features')) ? l($module->info['name'], $href) : $module->info['name'];
$form[$package]['status'][$name] = array(
'#type' => 'checkbox',
- '#title' => $module->info['name'],
+ '#title' => $module_name,
'#description' => $description,
'#default_value' => $module->status,
'#disabled' => $disabled,
@@ -439,9 +441,8 @@ function features_admin_form($form, $form_state) {
if (user_access('administer features')) {
// Add status link
- $href = "admin/structure/features/{$name}";
if ($module->status) {
- $state = '' . t('Checking...') . '';
+ $state = theme('features_storage_link', array('storage' => FEATURES_CHECKING, 'path' => $href));
$state .= l(t('Check'), "admin/structure/features/{$name}/status", array('attributes' => array('class' => array('admin-check'))));
$state .= theme('features_storage_link', array('storage' => FEATURES_REBUILDING, 'path' => $href));
$state .= theme('features_storage_link', array('storage' => FEATURES_NEEDS_REVIEW, 'path' => $href));
diff --git a/features.module b/features.module
index e19c15e..86a8a58 100644
--- a/features.module
+++ b/features.module
@@ -19,6 +19,7 @@ define('FEATURES_NEEDS_REVIEW', 2);
define('FEATURES_REBUILDING', 3);
define('FEATURES_CONFLICT', 4);
define('FEATURES_DISABLED', 5);
+define('FEATURES_CHECKING', 6);
define('FEATURES_ALTER_TYPE_NORMAL', 'normal');
define('FEATURES_ALTER_TYPE_INLINE', 'inline');
define('FEATURES_ALTER_TYPE_NONE', 'none');
diff --git a/theme/theme.inc b/theme/theme.inc
index f096d27..c2e4667 100644
--- a/theme/theme.inc
+++ b/theme/theme.inc
@@ -121,6 +121,7 @@ function theme_features_storage_link($vars) {
FEATURES_REBUILDABLE => 'admin-rebuilding',
FEATURES_CONFLICT => 'admin-conflict',
FEATURES_DISABLED => 'admin-disabled',
+ FEATURES_CHECKING => 'admin-loading',
);
$default_text = array(
FEATURES_OVERRIDDEN => t('Overridden'),
@@ -130,6 +131,7 @@ function theme_features_storage_link($vars) {
FEATURES_REBUILDABLE => t('Rebuilding'),
FEATURES_CONFLICT => t('Conflict'),
FEATURES_DISABLED => t('Disabled'),
+ FEATURES_CHECKING => t('Checking...'),
);
$text = isset($vars['text']) ? $vars['text'] : $default_text[$vars['storage']];
if ($vars['path']) {