diff options
Diffstat (limited to 'program/steps/addressbook/func.inc')
-rw-r--r-- | program/steps/addressbook/func.inc | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc index 8ec581f9a..f94d15338 100644 --- a/program/steps/addressbook/func.inc +++ b/program/steps/addressbook/func.inc @@ -751,12 +751,28 @@ function rcmail_contact_photo($attrib) $plugin = $RCMAIL->plugins->exec_hook('contact_photo', array('record' => $record, 'data' => $record['photo'])); + // check if we have photo data from contact form + if ($GLOBALS['EDIT_RECORD']) { + $rec = $GLOBALS['EDIT_RECORD']; + if ($rec['photo'] == '-del-') { + $record['photo'] = ''; + } + else if ($_SESSION['contacts']['files'][$rec['photo']]) { + $record['photo'] = $file_id = $rec['photo']; + } + } + if ($plugin['url']) $photo_img = $plugin['url']; else if (preg_match('!^https?://!i', $record['photo'])) $photo_img = $record['photo']; - else if ($record['photo']) - $photo_img = $RCMAIL->url(array('_action' => 'photo', '_cid' => $record['ID'], '_source' => $SOURCE_ID)); + else if ($record['photo']) { + $url = array('_action' => 'photo', '_cid' => $record['ID'], '_source' => $SOURCE_ID); + if ($file_id) { + $url['_photo'] = $ff_value = $file_id; + } + $photo_img = $RCMAIL->url($url); + } else $ff_value = '-del-'; // will disable delete-photo action @@ -893,7 +909,6 @@ $OUTPUT->add_handlers(array( // register action aliases $RCMAIL->register_action_map(array( 'add' => 'edit.inc', - 'photo' => 'show.inc', 'group-create' => 'groups.inc', 'group-rename' => 'groups.inc', 'group-delete' => 'groups.inc', |