Drupal の CSS Injector モジュールによる ルールの追加・編集が出来なくなった場合の対処法

この小憎たらしい不具合は、Drupal6.2 へのアップデート後に起きてた様子。

Adding/editing CSS injector under Drupal 6.2 not allowed | drupal.org

僕と同じ悩みを抱えていた方がいました。・・・同志よ。

CSS injector モジュールのオフィシャルな対応がまだの様子なので、この内容の通りにモジュールを修正。

css_injector.module を以下の通り修正。

function css_injector_menu() {
  $items = array(
    'admin/settings/css_injector' => array(
      'title' => 'CSS injector',
      'description' => 'Add CSS to the page output based on configurable rules.',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_admin_form'),
      'access callback' => 'user_access',
      'access arguments' => array('administer css injection'),
      'file' => 'css_injector.admin.inc',
    ),
    'admin/settings/css_injector/edit' => array(
      'title' => 'Edit CSS injector rule',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_edit'),
      'file' => 'css_injector.admin.inc',
      'type' => MENU_CALLBACK,
      'access callback' => 'user_access',  // 追加
      'access arguments' => array('administer css injection'),  // 追加
    ),
    'admin/settings/css_injector/add' => array(
      'title' => 'Add CSS injector rule',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_edit'),
      'file' => 'css_injector.admin.inc',
      'type' => MENU_CALLBACK,
      'access callback' => 'user_access',  // 追加
      'access arguments' => array('administer css injection'),  // 追加
    ),
    'admin/settings/css_injector/delete' => array(
      'title' => 'Delete CSS injector rule',
      'page callback' => 'drupal_get_form',
      'page arguments' => array('css_injector_delete_confirm'),
      'file' => 'css_injector.admin.inc',
      'type' => MENU_CALLBACK,
      'access callback' => 'user_access',  // 追加
      'access arguments' => array('administer css injection'),  // 追加
    ),
  );
  return $items;
}

プリン食べよう。