You are here

function workbench_scheduler_features_export_render in Workbench Scheduler 7.2

Same name and namespace in other branches
  1. 7 workbench_scheduler.features.inc \workbench_scheduler_features_export_render()

Implements COMPONENT_features_export_render().

Render workbench schedules as code.

File

./workbench_scheduler.features.inc, line 54
Features file for the workbench_scheduler module.

Code

function workbench_scheduler_features_export_render($module_name, $data) {
  $items = array();
  foreach ($data as $schedule) {

    // TODO: refactor this, pass it sid. (but still save machine name in feature).
    $items[$schedule] = workbench_scheduler_machine_name_schedules_load($schedule);

    // Unset SID to prevent overridden state.
    unset($items[$schedule]->sid);
  }

  // Get transition info.
  // Include workbench moderation.
  module_load_include('module', 'workbench_moderation');
  $transitions = workbench_moderation_transitions();
  foreach ($items as $key => $schedule) {

    // Get transition state info.
    if (!empty($schedule->transition)) {
      foreach ($transitions as $transition) {
        if ($transition->id == $schedule->transition) {
          $schedule->from_name = $transition->from_name;
          $schedule->to_name = $transition->to_name;
          break;
        }
      }
    }
  }
  foreach ($items as $key => $schedule) {

    // Unset SID to prevent overridden state.
    unset($items[$key]->sid);

    // Unset transition ID because this is mutable between databases.
    unset($items[$key]->transition);
  }
  $code = "  \$items = " . features_var_export($items, '  ') . ";\n";
  $code .= '  return $items;';
  return array(
    'workbench_scheduler_export_schedules' => $code,
  );
}