Пример #1
0
    // 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);
}
Пример #2
0
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);
    }
}