function workbench_scheduler_delete_schedules in Workbench Scheduler 7
Same name and namespace in other branches
- 7.2 workbench_scheduler.module \workbench_scheduler_delete_schedules()
Delete schedule(s) add associated data from the database.
Parameters
mixed $names: Machine name(s) of schedule(s) to be deleted.
Return value
bool True or false is successful.
1 call to workbench_scheduler_delete_schedules()
- workbench_scheduler_admin_delete_schedule_submit in ./workbench_scheduler.admin.inc 
- Submit function for deleting a schedule.
File
- ./workbench_scheduler.module, line 1081 
- Content scheduling for Workbench.
Code
function workbench_scheduler_delete_schedules($names) {
  // If was not passed an array of machine names.
  if (!is_array($names)) {
    // Make machine name an array with one element.
    $names = array(
      $names,
    );
  }
  // Get all sid's for the schedules going to be delete.
  $sids_query = db_select('workbench_scheduler_schedules', 'wss')
    ->fields('wss', array(
    'sid',
  ))
    ->condition('wss.name', $names, 'IN')
    ->execute();
  $sids = array();
  if ($sids_query
    ->rowCount()) {
    foreach ($sids_query as $sid) {
      $sids[] = $sid->sid;
    }
  }
  // Schedules nodes to delete?
  if (count($sids) > 0) {
    // Delete all nodes for these schedules.
    db_delete('workbench_scheduler_nodes')
      ->condition('sid', $sids, 'IN')
      ->execute();
  }
  // Delete all types associated to these schedules.
  db_delete('workbench_scheduler_types')
    ->condition('name', $names, 'IN')
    ->execute();
  // Delete the schedules themselves.
  db_delete('workbench_scheduler_schedules')
    ->condition('name', $names, 'IN')
    ->execute();
  // Check to see if machine name still exists as validation.
  if (_workbench_schedule_check_machine_name_exists($names)) {
    // Failed to delete, return false.
    return FALSE;
  }
  else {
    // Reset the statics.
    drupal_static_reset('workbench_scheduler_load_schedules');
    drupal_static_reset('workbench_scheduler_load_type_schedules');
    return TRUE;
  }
}