tripal_project.admin.inc 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * @file
  4. * Administration of projects
  5. */
  6. /**
  7. * Admin launchpad
  8. *
  9. * @ingroup tripal_legacy_project
  10. */
  11. function tripal_project_admin_project_view() {
  12. $output = '';
  13. // set the breadcrumb
  14. $breadcrumb = array();
  15. $breadcrumb[] = l('Home', '<front>');
  16. $breadcrumb[] = l('Administration', 'admin');
  17. $breadcrumb[] = l('Tripal', 'admin/tripal');
  18. $breadcrumb[] = l('Chado', 'admin/tripal/legacy');
  19. $breadcrumb[] = l('Projects', 'admin/tripal/legacy/tripal_project');
  20. drupal_set_breadcrumb($breadcrumb);
  21. // Add the view
  22. $view = views_embed_view('tripal_project_admin_projects','default');
  23. if (isset($view)) {
  24. $output .= $view;
  25. }
  26. else {
  27. $output .= '<p>The Project module uses primarily views to provide an '
  28. . 'administrative interface. Currently one or more views needed for this '
  29. . 'administrative interface are disabled. <strong>Click each of the following links to '
  30. . 'enable the pertinent views</strong>:</p>';
  31. $output .= '<ul>';
  32. $output .= '<li>'.l('Projects View', 'admin/tripal/legacy/tripal_project/views/projects/enable').'</li>';
  33. $output .= '</ul>';
  34. }
  35. return $output;
  36. }
  37. /**
  38. * Project settings
  39. *
  40. * @ingroup tripal_legacy_project
  41. */
  42. function tripal_project_admin($form, $form_state) {
  43. $form = array();
  44. // If your module is using the Chado Node: Title & Path API to allow custom titles
  45. // for your node type then you need to add the configuration form for this functionality.
  46. $details = array(
  47. 'module' => 'tripal_project', // the name of the MODULE implementing the content type
  48. 'content_type' => 'chado_project', // the name of the content type
  49. // An array of options to use under "Page Titles"
  50. // the key should be the token and the value should be the human-readable option
  51. 'options' => array(
  52. '[project.name]' => 'project Name Only',
  53. // there should always be one options matching the unique constraint.
  54. '[project.name]' => 'Unique Contraint: The project name'
  55. ),
  56. // the token indicating the unique constraint in the options array
  57. 'unique_option' => '[project.name]'
  58. );
  59. // This call adds the configuration form to your current form
  60. // This sub-form handles it's own validation & submit
  61. chado_add_admin_form_set_title($form, $form_state, $details);
  62. // If the module is using the "Chado Node: Title & Path API" to allow custom URLs
  63. // for your node type then you need to add the configuration form for this functionality.
  64. $details = array(
  65. 'module' => 'tripal_project', // the name of the MODULE implementing the content type
  66. 'content_type' => 'chado_project', // the name of the content type
  67. // An array of options to use under "Page URLs"
  68. // the key should be the token and the value should be the human-readable option
  69. 'options' => array(
  70. '/project/[project.name]' => 'Project Name Only',
  71. // there should always be one options matching the unique constraint.
  72. // If you have a more human-readable constraint, then that is preferrable.
  73. // See the tripal feature module for a good example of this.
  74. '/project/[project.project_id]' => 'Unique Contraint: The Project ID'
  75. ),
  76. );
  77. // This call adds the configuration form to your current form
  78. // This sub-form handles it's own validation & submit
  79. chado_add_admin_form_set_url($form, $form_state, $details);
  80. return system_settings_form($form);
  81. }