file.devel_generate.inc
File
-
devel_generate/
file.devel_generate.inc
View source
<?php
function file_devel_generate($object, $field, $instance, $bundle) {
if (field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_CUSTOM) {
return devel_generate_multiple('_file_devel_generate', $object, $field, $instance, $bundle);
}
else {
return _file_devel_generate($object, $field, $instance, $bundle);
}
}
function _file_devel_generate($object, $field, $instance, $bundle) {
static $file;
if (empty($file)) {
if ($path = devel_generate_textfile()) {
$destination_dir = $field['settings']['uri_scheme'] . '://' . $instance['settings']['file_directory'];
file_prepare_directory($destination_dir, FILE_CREATE_DIRECTORY);
if ($uri = file_unmanaged_move($path, $destination_dir)) {
$file = new stdClass();
$file->fid = NULL;
$file->uri = $uri;
$file->filename = drupal_basename($uri);
$file->filemime = file_get_mimetype($file->uri);
// @todo Randomize file owner.
$file->uid = 1;
$file->devel_generate = TRUE;
$file = file_save($file);
}
else {
return FALSE;
}
}
else {
return FALSE;
}
}
if (!$file) {
// In case a previous file operation failed or no file is set, return FALSE
return FALSE;
}
else {
$object_field['fid'] = $file->fid;
$object_field['display'] = $field['settings']['display_default'];
$object_field['description'] = devel_create_greeking(10);
return $object_field;
}
}
/**
* Private function for generating a random text file.
*/
function devel_generate_textfile($filesize = 1024) {
if ($tmp_file = drupal_tempnam('temporary://', 'filefield_')) {
$destination = $tmp_file . '.txt';
file_unmanaged_move($tmp_file, $destination);
$fp = fopen($destination, 'w');
fwrite($fp, str_repeat('01', $filesize / 2));
fclose($fp);
return $destination;
}
}
Functions
Title | Deprecated | Summary |
---|---|---|
devel_generate_textfile | Private function for generating a random text file. | |
file_devel_generate | ||
_file_devel_generate |