queue_ui.forms.inc 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * View all the items in a queue.
  4. */
  5. function queue_ui_view_queue($queue_name) {
  6. if ($queue = _queue_ui_queueclass($queue_name)) {
  7. return $queue->inspect($queue_name);
  8. }
  9. }
  10. /**
  11. * Display the details of an individual queue item.
  12. */
  13. function queue_ui_view_queue_item($queue_name, $queue_item) {
  14. if ($queue = _queue_ui_queueclass($queue_name)) {
  15. return $queue->view($queue_item);
  16. }
  17. // @TODO - if not implemented display an error.
  18. }
  19. /**
  20. * Releases an item from its queue by setting expiry to zero).
  21. *
  22. * @see queue_ui_release_item_submit()
  23. */
  24. function queue_ui_release_item_form($form, $form_state, $queue_name, $queue_item) {
  25. if ($queue = _queue_ui_queueclass($queue_name)) {
  26. return confirm_form(
  27. array(
  28. 'queue_item' => array(
  29. '#type' => 'value',
  30. '#value' => array('queue_name' => $queue_name, 'itemid' => $queue_item),
  31. ),
  32. ),
  33. t('Are you sure you want to release queue item %queue_item?', array('%queue_item' => $queue_item)),
  34. QUEUE_UI_BASE . "/inspect/$queue_name",
  35. t('This action cannot be undone and will force the release of the item even if it is currently being processed.'),
  36. t('Release item'),
  37. t('Cancel')
  38. );
  39. }
  40. // @TODO - if not implemented display an error.
  41. }
  42. /**
  43. * Form submission handler for queue_ui_release_item_form().
  44. */
  45. function queue_ui_release_item_form_submit($form, &$form_state) {
  46. $queue_data = $form_state['values']['queue_item'];
  47. $queue_name = $queue_data['queue_name'];
  48. $queue = _queue_ui_queueclass($queue_name);
  49. $queue->release($queue_data['itemid']);
  50. $form_state['redirect'] = QUEUE_UI_BASE . "/inspect/$queue_name";
  51. }
  52. /**
  53. * Delete a specified queue item.
  54. */
  55. function queue_ui_delete_item_form($form, $form_state, $queue_name, $queue_item) {
  56. if ($queue = _queue_ui_queueclass($queue_name)) {
  57. return confirm_form(
  58. array(
  59. 'queue_item' => array(
  60. '#type' => 'value',
  61. '#value' => array('queue_name' => $queue_name, 'itemid' => $queue_item),
  62. ),
  63. ),
  64. t('Are you sure you want to delete queue item %queue_item?', array('%queue_item' => $queue_item)),
  65. QUEUE_UI_BASE . "/inspect/$queue_name",
  66. t('This action cannot be undone and will force the deletion of the item even if it is currently being processed.'),
  67. t('Release item'),
  68. t('Cancel')
  69. );
  70. }
  71. // @TODO - if not implemented display an error.
  72. }
  73. /**
  74. * Form submission handler for queue_ui_delete_item_form().
  75. */
  76. function queue_ui_delete_item_form_submit($form, &$form_state) {
  77. $queue_data = $form_state['values']['queue_item'];
  78. $queue_name = $queue_data['queue_name'];
  79. $queue = _queue_ui_queueclass($queue_name);
  80. $queue->delete($queue_data['itemid']);
  81. $form_state['redirect'] = QUEUE_UI_BASE . "/inspect/$queue_name";
  82. }