You are here

function vimeo_video_uploader_node_presave in Vimeo Video Uploader 7.2

Same name and namespace in other branches
  1. 8.4 vimeo_video_uploader.module \vimeo_video_uploader_node_presave()
  2. 8 vimeo_video_uploader.module \vimeo_video_uploader_node_presave()
  3. 7 vimeo_video_uploader.module \vimeo_video_uploader_node_presave()

Implements hook_node_presave().

File

./vimeo_video_uploader.module, line 54

Code

function vimeo_video_uploader_node_presave($node) {
  $client_id = variable_get('vimeo_video_uploader_client_id');
  $client_secret = variable_get('vimeo_video_uploader_client_secret');
  $access_token = variable_get('vimeo_video_uploader_access_token');

  // Checking the file is selected to upload.
  if (!empty($node->field_vimeo_file_browse[LANGUAGE_NONE])) {
    if ($node->type == variable_get('vimeo_video_uploader_content_type_select') && empty($node->nid)) {
      try {
        $file = file_load($node->field_vimeo_file_browse[LANGUAGE_NONE][0]["fid"]);
        $lib = new Vimeo($client_id, $client_secret, $access_token);
        $video_id_link = $lib
          ->upload(drupal_realpath($file->uri));
        $video_id = substr($video_id_link, 8);
        if ($video_id) {
          $video_title = $node->title;
          $video_desc = isset($node->body[LANGUAGE_NONE][0]) ? $node->body[LANGUAGE_NONE][0]["value"] : '';
          $lib
            ->request('/videos/' . $video_id, array(
            'name' => $video_title,
          ), 'PATCH');
          $lib
            ->request('/videos/' . $video_id, array(
            'description' => $video_desc,
          ), 'PATCH');
          $video_url = 'http://vimeo.com/' . $video_id;
          $node->field_embeddedvideo[LANGUAGE_NONE][0]["video_url"] = $video_url;
          $node->field_embeddedvideo[LANGUAGE_NONE][0]["description"] = $video_desc;
        }
        file_delete($file);
      } catch (VimeoUploadException $e) {
        drupal_set_message(t('Not Authorized...! Please check your Auth information and login to your vimeo account.'), 'error');
        drupal_goto('node/add');
        drupal_exit();
      }
    }
    elseif ($node->type == variable_get('vimeo_video_uploader_content_type_select') && !empty($node->nid)) {
      try {
        $file = file_load($node->field_vimeo_file_browse[LANGUAGE_NONE][0]["fid"]);
        $lib = new Vimeo($client_id, $client_secret, $access_token);
        $video_id_ = substr($node->original->field_embeddedvideo[LANGUAGE_NONE][0]["video_url"], 17);
        $lib
          ->request('/videos/' . $video_id_, array(), 'DELETE');
        $video_id_link = $lib
          ->upload(drupal_realpath($file->uri));
        $video_id = substr($video_id_link, 8);
        $video_title = $node->title;
        $video_desc = isset($node->body[LANGUAGE_NONE][0]) ? $node->body[LANGUAGE_NONE][0]["value"] : '';
        $lib
          ->request('/videos/' . $video_id, array(
          'name' => $video_title,
        ), 'PATCH');
        $lib
          ->request('/videos/' . $video_id, array(
          'description' => $video_desc,
        ), 'PATCH');
        $video_url = 'http://vimeo.com/' . $video_id;
        $node->field_embeddedvideo[LANGUAGE_NONE][0]["video_url"] = $video_url;
        $node->field_embeddedvideo[LANGUAGE_NONE][0]["description"] = $video_desc;
        file_delete($file);
      } catch (VimeoUploadException $e) {
        drupal_set_message(t('Not Authorized...! Please check your Auth information and login to your vimeo account.'), 'error');
        drupal_goto('node/add');
        drupal_exit();
      }
    }
  }
  elseif ($node->type == variable_get('vimeo_video_uploader_content_type_select') && !empty($node->nid) && empty($node->field_vimeo_file_browse[LANGUAGE_NONE])) {
    try {
      $lib = new Vimeo($client_id, $client_secret, $access_token);
      $video_id = substr($node->field_embeddedvideo[LANGUAGE_NONE][0]["video_url"], 17);
      $video_title = $node->title;
      $video_desc = isset($node->body[LANGUAGE_NONE][0]) ? $node->body[LANGUAGE_NONE][0]["value"] : '';
      $lib
        ->request('/videos/' . $video_id, array(
        'name' => $video_title,
      ), 'PATCH');
      $lib
        ->request('/videos/' . $video_id, array(
        'description' => $video_desc,
      ), 'PATCH');
    } catch (VimeoUploadException $e) {
      drupal_set_message(t('Not Authorized...! Please check your Auth information and login to your vimeo account.'), 'error');
      drupal_goto('node/add');
      drupal_exit();
    }
  }
}