| 1 |
<?php
|
| 2 |
|
| 3 |
// $Id$
|
| 4 |
|
| 5 |
/**
|
| 6 |
* @file
|
| 7 |
* File hook implementations.
|
| 8 |
*/
|
| 9 |
|
| 10 |
/**
|
| 11 |
* Implementation of filefield's hook_file_load().
|
| 12 |
*/
|
| 13 |
function video_upload_file_load(&$file) {
|
| 14 |
// Load corresponding data from video_upload.
|
| 15 |
$result = db_fetch_object(db_query("SELECT video_id, video_status, video_status_ts FROM {video_upload} WHERE fid = %d", array(':fid' => $file->fid)));
|
| 16 |
foreach (array('video_id', 'video_status', 'video_status_ts') as $key) {
|
| 17 |
$file->$key = $result->$key;
|
| 18 |
}
|
| 19 |
}
|
| 20 |
|
| 21 |
/**
|
| 22 |
* Implementation of filefield's hook_file_insert().
|
| 23 |
*/
|
| 24 |
function video_upload_file_insert(&$file) {
|
| 25 |
if (!empty($file->fid) && ($file->field['widget']['type'] == 'video_upload_widget')) {
|
| 26 |
$record = (object) array(
|
| 27 |
'fid' => $file->fid,
|
| 28 |
'video_status' => VIDEO_UPLOAD_STATUS_UPLOAD_PENDING,
|
| 29 |
'video_status_ts' => $_SERVER['REQUEST_TIME'],
|
| 30 |
);
|
| 31 |
drupal_write_record('video_upload', $record);
|
| 32 |
}
|
| 33 |
}
|
| 34 |
|
| 35 |
/**
|
| 36 |
* Implementation of filefield's hook_file_delete().
|
| 37 |
*/
|
| 38 |
function video_upload_file_delete($file) {
|
| 39 |
$field = content_fields($file->field_name);
|
| 40 |
$delete = $field['widget']['remove_deleted_videos'];
|
| 41 |
if (isset($file->video_id) && $delete) {
|
| 42 |
$update = array('fid');
|
| 43 |
$file->video_status = VIDEO_UPLOAD_STATUS_DELETE;
|
| 44 |
drupal_write_record('video_upload', $file, $update);
|
| 45 |
}
|
| 46 |
}
|