'Zencoder', 'description' => 'Configure your Zencoder API settings.', 'page callback' => 'drupal_get_form', 'page arguments' => array('video_zencoder_admin_settings'), 'access arguments' => array('administer site configuration'), 'file' => 'video_zencoder.admin.inc', 'type' => MENU_LOCAL_TASK, 'weight' => 10, ); return $items; } /* * Implementation of hook_cron(). */ function video_zencoder_cron() { module_load_include('inc', 'video_zencoder', '/includes/zencoder'); $zc = new video_zencoder_api; // $s3->connect(); // // Lets run our queue. $zc->queue(); } /** * Implementation of hook_file_delete(). */ function video_zencoder_file_delete($file) { module_load_include('inc', 'video_zencoder', '/includes/zencoder'); $zc = new video_zencoder_api; // Lets run delete. $zc->delete($file->fid); } /* * Implementation of hook_form_alter(). */ function video_zencoder_form_alter(&$form, &$form_state, $form_id) { if (isset($form['type']) && isset($form['#node']) && $form['type']['#value'] .'_node_form' == $form_id) { $form['buttons']['submit']['#submit'][] = 'video_zencoder_node_update_submit'; } } /* * Submit hanlder to update our s3 table to include the node id. */ function video_zencoder_node_update_submit($form, &$form_state) { //lets update our video rending table to include the node id created if (isset($form_state['nid']) && isset($form_state['values']['video_id']) && is_array($form_state['values']['video_id'])) { foreach($form_state['values']['video_id'] as $fid) { //lets update our table to include the nid db_query("UPDATE {video_zencoder} SET nid=%d WHERE fid=%d", $form_state['nid'], $fid); } } } /** * Implementing hook_video_submit * @param $element * @param $form_state */ function video_zencoder_video_submit(&$element, &$form_state) { $file = $element['#value']; //we need to check if this fid has already been added to the database AND that there is in fact a fid if (is_array($file) && isset($file['fid']) && !empty($file['fid'])) { module_load_include('inc', 'video_zencoder', '/includes/zencoder'); $zc = new video_zencoder_api; // Lets verify that we haven't added this video already. Multiple validation fails will cause this to be ran more than once if(!$video = $zc->verify($file['fid'])) { // Video has not been added to the queue yet so lets add it. $zc->insert($file['fid'], $jobid); drupal_set_message(t('Video submission queued for transfer to your Zencoder Transcoding server. Will be there shortly.')); } } }