// Update attachments // if ($mode == 'update') { if (!empty($_REQUEST['attachment_data'])) { fn_update_attachments($_REQUEST['attachment_data'], $_REQUEST['attachment_id'], $_REQUEST['object_type'], $_REQUEST['object_id']); } } return array(CONTROLLER_STATUS_OK); // redirect should be performed via redirect_url always } if ($mode == 'getfile') { if (!empty($_REQUEST['attachment_id']) && !empty($_REQUEST['object_type']) && !empty($_REQUEST['object_id'])) { $data = fn_get_attachment($_REQUEST['attachment_id'], $_REQUEST['object_type'], $_REQUEST['object_id']); if (!empty($data['path'])) { fn_get_file($data['path']); } } exit; } elseif ($mode == 'delete') { fn_delete_attachments(array($_REQUEST['attachment_id']), $_REQUEST['object_type'], $_REQUEST['object_id']); $attachments = fn_get_attachments($_REQUEST['object_type'], $_REQUEST['object_id']); if (empty($attachments)) { $view->display('addons/attachments/views/attachments/manage.tpl'); } exit; } elseif ($mode == 'update') { // Assign attachments files for products $attachments = fn_get_attachments($_REQUEST['object_type'], $_REQUEST['object_id']); Registry::set('navigation.tabs.attachments', array('title' => fn_get_lang_var('attachments'), 'js' => true)); $view->assign('attachments', $attachments); }
function fn_attachments_revisions_delete($object_id, $object, $revision, $revision_id) { $data = db_get_array("SELECT * FROM ?:rev_attachments WHERE object_type = ?s AND object_id = ?i AND revision = ?i AND revision_id = ?i", $object, $object_id, $revision, $revision_id); foreach ($data as $entry) { fn_delete_attachments($entry['attachment_id'], $object, $object_id, $revision, $revision_id); } }