You are here

function rec_transfer_upload in Recommender API 6.3

Same name and namespace in other branches
  1. 7.4 rec_transfer/rec_transfer.module \rec_transfer_upload()
  2. 7.5 rec_transfer/rec_transfer.module \rec_transfer_upload()
1 call to rec_transfer_upload()
rec_transfer_handle_commands in rec_transfer/rec_transfer.module

File

rec_transfer/rec_transfer.module, line 89
This is the module file for Recommender Data Transfer

Code

function rec_transfer_upload($command) {
  $command_id = $command['command_id'];
  $recommender_id = $command['recommender_id'];

  // check whether the service is available or not.
  $ready_check = rec_transfer_check_service('ready');
  if (!$ready_check['success']) {
    async_command_update_command($command_id, 0, 'Remote service is not ready. Additional message: ' . $ready_check['message'], time());
    return;
  }
  $pref_filename = rec_transfer_output_preference($command_id, $recommender_id);
  $rec_params = db_result(db_query('SELECT params FROM {recommender_app} WHERE id = %d', $recommender_id));

  // D6 uses PHP serialize, needs to change to JSON to accomodate D7
  $rec_params = json_encode(unserialize($rec_params));
  $upload_success = rec_transfer_upload_preference($pref_filename, array(
    'recommender_params' => $rec_params,
  ));

  //db_query("UPDATE {async_command} SET control='REMT', status='PEND' WHERE id=:id", array(':id' => $row->id));
  if ($upload_success) {

    // attention: still remains 'PENDING'?

    //async_command_update_command($command_id, array('status' => 'RUNN')) ;
    async_command_update_command($command_id, 2, 'Data uploading or uploaded. Waiting to download results.', time());
  }
  else {
    async_command_update_command($command_id, 0, 'Data upload error.', time());
  }
}