Благодаря нескольким людям в канале # drupal-support на IRC я смог получить ответ на этот вопрос. Вот пример модульного решения:
function my_module_form_alter(&$form, &$form_state, $form_id) {
global $user;
switch ($form['type']['#value']) {
case "my_content_type":
if (user_access("administer nodes")) { break; }
foreach (array_keys($form['field_my_images']) as $key) {
if (!is_numeric($key)) { continue; }
if ($form['field_my_images'][$key]['#default_value']['fid']) {
if ($form['field_my_images'][$key]['#default_value']['uid'] != $user->uid) {
$form['field_my_images'][$key]['#access'] = false;
}
}
}
break;
}
}
Я чувствую себя глупо теперь, когда я понимаю, что вся моя проблема была в том, что я получал доступ, например, к. :
$form['#node']->field_my_images
вместо:
$form['field_my_images']