migrate_ui.module 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. define('MIGRATE_ACCESS_BASIC', 'migration information');
  3. function migrate_ui_help($path, $arg) {
  4. switch ($path) {
  5. case 'admin/migrate':
  6. return t('The current status of each migration defined in this system. Click on a migration name for details on its configuration.');
  7. }
  8. }
  9. /**
  10. * Implementation of hook_permission().
  11. */
  12. function migrate_ui_permission() {
  13. return array(
  14. MIGRATE_ACCESS_BASIC => array(
  15. 'title' => t('Basic access to migration information'),
  16. ),
  17. );
  18. }
  19. /**
  20. * Implementation of hook_menu().
  21. */
  22. function migrate_ui_menu() {
  23. $items = array();
  24. $items['admin/content/migrate'] = array(
  25. 'title' => 'Migrate',
  26. 'type' => MENU_LOCAL_TASK | MENU_NORMAL_ITEM,
  27. 'description' => 'Monitor the creation of Drupal content from source data',
  28. 'page callback' => 'migrate_ui_dashboard',
  29. 'access arguments' => array(MIGRATE_ACCESS_BASIC),
  30. 'file' => 'migrate_ui.pages.inc',
  31. );
  32. $items['admin/content/migrate/dashboard'] = array(
  33. 'title' => 'Migrate',
  34. 'type' => MENU_DEFAULT_LOCAL_TASK,
  35. 'weight' => -10,
  36. );
  37. $items['admin/content/migrate/registration'] = array(
  38. 'title' => 'Registration',
  39. 'type' => MENU_LOCAL_TASK,
  40. 'description' => 'Configure class registration',
  41. 'page callback' => 'migrate_ui_registration',
  42. 'access arguments' => array(MIGRATE_ACCESS_BASIC),
  43. 'file' => 'migrate_ui.pages.inc',
  44. 'weight' => 5,
  45. );
  46. $items['admin/content/migrate/handlers'] = array(
  47. 'title' => 'Handlers',
  48. 'type' => MENU_LOCAL_TASK,
  49. 'description' => 'Configure migration handlers',
  50. 'page callback' => 'migrate_ui_handlers',
  51. 'access arguments' => array(MIGRATE_ACCESS_BASIC),
  52. 'file' => 'migrate_ui.pages.inc',
  53. 'weight' => 10,
  54. );
  55. $items['admin/content/migrate/messages/%migration'] = array(
  56. 'title callback' => '_migrate_ui_title',
  57. 'title arguments' => array(4),
  58. 'description' => 'View messages from a migration',
  59. 'page callback' => 'migrate_ui_messages',
  60. 'page arguments' => array(4),
  61. 'access arguments' => array(MIGRATE_ACCESS_BASIC),
  62. 'file' => 'migrate_ui.pages.inc',
  63. );
  64. $items['admin/content/migrate/%migration'] = array(
  65. 'title callback' => '_migrate_ui_title',
  66. 'title arguments' => array(3),
  67. 'page callback' => 'drupal_get_form',
  68. 'page arguments' => array('migrate_migration_info', 3),
  69. 'access arguments' => array(MIGRATE_ACCESS_BASIC),
  70. 'file' => 'migrate_ui.pages.inc',
  71. );
  72. return $items;
  73. }
  74. // A menu load callback.
  75. function migration_load($machine_name) {
  76. if ($machine_name) {
  77. return Migration::getInstance($machine_name);
  78. }
  79. }
  80. function _migrate_ui_title($migration) {
  81. if (is_string($migration)) {
  82. $migration = migration_load($migration);
  83. }
  84. return $migration->getMachineName();
  85. }