удаление файлов filefield
Как правильно удалять загруженные с помощью filefield файлы?
Написал следующую функцию:
foreach (filefield_get_file_references($file) as $nid => $vid) {
$node = node_load($nid, NULL, TRUE);
$images = $node->{$field['field_name']};
foreach ($images as $i => $image) {
if ($image['fid'] == $file['fid'] || isset($files_quene[$image['fid']])) {
unset($images[$i]);
}
}
if (count($images) < count($node->{$field['field_name']})) {
$node->{$field['field_name']} = $images;
node_save($node);
}
}
if (count($files_quene) > 0) {
_delete_file_references(
array_shift($files_quene),
$field,
$files_quene
);
}
}
и потом отдельно удаляю файлы из $files_quene. Работает это очень медленно.
Наверно гораздо быстрее будет удалить все fid-сы из соответствующей таблицы cck, но не уверен в корректности такого варианта.
В общем надеюсь на совет сообщества