You are here

function zoomapi_get_unsuccessful_recording_download_tracking_info in Zoom API 7.2

Get unsuccessful recording downloads.

1 call to zoomapi_get_unsuccessful_recording_download_tracking_info()
zoomapi_cron in ./zoomapi.module
Implements hook_cron().

File

./zoomapi.module, line 1107
Main file for the Zoom API module.

Code

function zoomapi_get_unsuccessful_recording_download_tracking_info($set_size = NULL, $max_attempts = NULL, $how_far_back = NULL) {
  $set_size = $set_size ?: variable_get('zoomapi_recordings_download_cron_set_size', 10);
  $max_attempts = $max_attempts ?: variable_get('zoomapi_recordings_download_max_attempts', 3);
  $how_far_back = $how_far_back ?: variable_get('zoomapi_recordings_download_how_far_back', '-30 days');
  $recordings = db_query_range("\n    SELECT\n      *\n    FROM {zoomapi_recordings_download_tracker}\n    WHERE realm = :realm\n    AND success = :nosuccess\n    AND :max_attempts > attempts\n    AND created >= :created_after\n  ", 0, $set_size, [
    ':realm' => zoomapi_realm(),
    ':nosuccess' => 0,
    ':max_attempts' => $max_attempts,
    ':created_after' => strtotime($how_far_back),
  ])
    ->fetchAllAssoc('meeting_uuid');
  foreach ($recordings as &$recording) {
    $data = is_string($recording->data) ? unserialize($recording->data) : $recording->data;
    if (zoomapi_validate_recording_tracking_info($data)) {
      $recording->data = $data;
    }
  }
  return $recordings;
}