我在使用ownCloud覆盖功能时遇到问题

时间:2015-08-17 16:29:33

标签: html owncloud

我一直试图找到一种方法来禁用我自己的云上的文件覆盖。 它目前的工作方式是我发送一个公共上传链接,为任何有上传图像链接的用户发送。这一切都很好,直到其中一个图像与另一个图像具有相同的名称。发生这种情况时,我会收到此弹出窗口:image

如果它不是一个包含大量图片的大型回购,那就没关系了。问题是,由于它是一个公共上传链接,我不希望覆盖其他用户的图像。如果用户选择JUST'新文件',它将覆盖旧文件,然后我可以恢复,但在用户覆盖500个文件的实例中,我不想再返回并逐个还原它们。

我到目前为止尝试的是:我找到了这个文件:fileexists.html,它概述了确切的弹出窗口,并尝试将其编辑到自动检查所有框并锁定它们的位置。 文件中的代码:

<div id="{dialog_name}" title="{title}" class="fileexists">
    <span class="why">{why}<!-- Which files do you want to keep --></span><br/>
    <span class="what">{what}<!-- If you select both versions, the copied file will have a number added to its name. --></span><br/>
    <br/>
    <table>
        <th><label><input class="allnewfiles" checked disabled="disabled" type="checkbox" />{allnewfiles}<span class="count"></span></label></th>
        <th><label><input class="allexistingfiles" checked disabled="disabled" type="checkbox" />{allexistingfiles}<span class="count"></span></label></th>
    </table>
    <div class="conflicts">
        <div class="template">
            <div class="filename"></div>
            <div class="replacement">
                <input checked disabled="disabled" type="checkbox" />
                <span class="svg icon"></span>
                <div class="mtime"></div>
                <div class="size"></div>
            </div>
            <div class="original">
                <input checked disabled="disabled" type="checkbox" />
                <span class="svg icon"></span>
                <div class="mtime"></div>
                <div class="size"></div>
                <div class="message"></div>
            </div>
        </div>
    </div>
</div>

我已经尝试查看整个来源,但找不到办法来做到这一点。

编辑: 我发现了一些更多的数据来表明这些值,但我发现它的javascript并不太熟悉。

α-dialogue.js:

    //add checkbox toggling actions
                    $(dialogId).find('.allnewfiles').on('click', function() {
                        var $checkboxes = $(dialogId).find('.conflict .replacement input[type="checkbox"]');
                        $checkboxes.prop('checked', $(this).prop('checked'));
                    });
                    $(dialogId).find('.allexistingfiles').on('click', function() {
                        var $checkboxes = $(dialogId).find('.conflict .original:not(.readonly) input[type="checkbox"]');
                        $checkboxes.prop('checked', $(this).prop('checked'));
                    });
                    $(dialogId).find('.conflicts').on('click', '.replacement,.original:not(.readonly)', function() {
                        var $checkbox = $(this).find('input[type="checkbox"]');
                        $checkbox.prop('checked', !$checkbox.prop('checked'));
                    });
                    $(dialogId).find('.conflicts').on('click', '.replacement input[type="checkbox"],.original:not(.readonly) input[type="checkbox"]', function() {
                        var $checkbox = $(this);
                        $checkbox.prop('checked', !checkbox.prop('checked'));
                    });
//update counters
                $(dialogId).on('click', '.replacement,.allnewfiles', function() {
                    var count = $(dialogId).find('.conflict .replacement input[type="checkbox"]:checked').length;
                    if (count === $(dialogId+ ' .conflict').length) {
                        $(dialogId).find('.allnewfiles').prop('checked', true);
                        $(dialogId).find('.allnewfiles + .count').text(t('core','(all selected)'));
                    } else if (count > 0) {
                        $(dialogId).find('.allnewfiles').prop('checked', false);
                        $(dialogId).find('.allnewfiles + .count').text(t('core','({count} selected)',{count:count}));
                    } else {
                        $(dialogId).find('.allnewfiles').prop('checked', false);
                        $(dialogId).find('.allnewfiles + .count').text('');
                    }
                });
                $(dialogId).on('click', '.original,.allexistingfiles', function(){
                    var count = $(dialogId).find('.conflict .original input[type="checkbox"]:checked').length;
                    if (count === $(dialogId+ ' .conflict').length) {
                        $(dialogId).find('.allexistingfiles').prop('checked', true);
                        $(dialogId).find('.allexistingfiles + .count').text(t('core','(all selected)'));
                    } else if (count > 0) {
                        $(dialogId).find('.allexistingfiles').prop('checked', false);
                        $(dialogId).find('.allexistingfiles + .count')
                            .text(t('core','({count} selected)',{count:count}));
                    } else {
                        $(dialogId).find('.allexistingfiles').prop('checked', false);
                        $(dialogId).find('.allexistingfiles + .count').text('');
                    }
                });

0 个答案:

没有答案