function fupload_list_images_imagefield_submit in Image FUpload 6.3
File
- includes/images.previewlist.imagefield.inc, line 266
Code
function fupload_list_images_imagefield_submit($form, &$form_state) {
global $user;
$imagefield_fields = array(
"title",
"description",
"alt",
);
$storage_mode = $form_state['values']['storage_mode'];
foreach ($form_state['values']['image_items'] as $fid => $nid) {
if ($storage_mode == "multiple") {
if (!isset($node)) {
$node = node_load($nid);
}
$image_field = $node->{$form_state}['values']['field_name'];
for ($x = 0; $x < count($image_field); $x++) {
if ($image_field[$x]['fid'] == $fid) {
foreach ($imagefield_fields as $key => $value) {
if (isset($form_state['values']['imagefield_' . $value . '_' . $fid])) {
$image_field[$x]['data'][$value] = $form_state['values']['imagefield_' . $value . '_' . $fid];
}
}
break;
}
}
$node->{$form_state}['values']['field_name'] = $image_field;
}
if ($storage_mode == "single") {
$node = node_load($nid);
if (isset($form_state['values']['node_title_' . $fid])) {
$node->title = !empty($form_state['values']['node_title_' . $fid]) ? $form_state['values']['node_title_' . $fid] : $node->title;
}
if (isset($form_state['values']['node_body_' . $fid])) {
$node->body = !empty($form_state['values']['node_body_' . $fid]) ? $form_state['values']['node_body_' . $fid] : $node->body;
}
$node->teaser = node_teaser($node->body, $form_state['values']['format_' . $fid]);
if (isset($form_state['values']['format_' . $fid])) {
$node->format = isset($form_state['values']['format_' . $fid]) ? $form_state['values']['format_' . $fid] : $node->format;
}
if (isset($form_state['values']['taxonomy_' . $fid])) {
$node->taxonomy = !empty($node->taxonomy) ? array_merge($form_state['values']['taxonomy_' . $fid], $node->taxonomy) : $form_state['values']['taxonomy_' . $fid];
}
$image_field = $node->{$form_state}['values']['field_name'];
foreach ($imagefield_fields as $key => $value) {
if (isset($form_state['values']['imagefield_' . $value . '_' . $fid])) {
$image_field[0]['data'][$value] = $form_state['values']['imagefield_' . $value . '_' . $fid];
}
}
$node->{$form_state}['values']['field_name'] = $image_field;
node_save($node);
}
}
if ($storage_mode == "multiple") {
node_save($node);
}
if (!form_get_errors()) {
db_query("DELETE FROM {fupload_previewlist} WHERE fieldname = '%s' AND uid = %d", $form_state['values']['field_name'], $user->uid);
}
drupal_set_message(t('All images have been saved and published.'));
drupal_redirect_form($form);
}