| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 | <?phpinclude 'common.php';include 'header.php';include 'menu.php';$phpMaxFilesize = function_exists('ini_get') ? trim(ini_get('upload_max_filesize')) : 0;if (preg_match("/^([0-9]+)([a-z]{1,2})$/i", $phpMaxFilesize, $matches)) {    $phpMaxFilesize = strtolower($matches[1] . $matches[2] . (1 == strlen($matches[2]) ? 'b' : ''));}$attachment = \Widget\Contents\Attachment\Edit::alloc();?><div class="main">    <div class="body container">        <?php include 'page-title.php'; ?>        <div class="row typecho-page-main">            <div class="col-mb-12 col-tb-8" role="main">                <?php if ($attachment->attachment->isImage): ?>                    <p><img src="<?php $attachment->attachment->url(); ?>"                            alt="<?php $attachment->attachment->name(); ?>" class="typecho-attachment-photo"/></p>                <?php endif; ?>                <p>                    <?php $mime = \Typecho\Common::mimeIconType($attachment->attachment->mime); ?>                    <i class="mime-<?php echo $mime; ?>"></i>                    <a href=""><strong><?php $attachment->attachment->name(); ?></strong></a>                    <span><?php echo number_format(ceil($attachment->attachment->size / 1024)); ?> Kb</span>                </p>                <p>                    <input id="attachment-url" type="text" class="mono w-100"                           value="<?php $attachment->attachment->url(); ?>" readonly/>                </p>                <div id="upload-panel" class="p">                    <div class="upload-area"                         draggable="true"><?php _e('拖放文件到这里<br>或者 %s选择文件上传%s', '<a href="###" class="upload-file">', '</a>'); ?></div>                    <ul id="file-list"></ul>                </div>            </div>            <div class="col-mb-12 col-tb-4 edit-media" role="form">                <?php $attachment->form()->render(); ?>            </div>        </div>    </div></div><?phpinclude 'copyright.php';include 'common-js.php';?><script src="<?php $options->adminStaticUrl('js', 'moxie.js'); ?>"></script><script src="<?php $options->adminStaticUrl('js', 'plupload.js'); ?>"></script><script type="text/javascript">    $(document).ready(function () {        $('#attachment-url').click(function () {            $(this).select();        });        $('.operate-delete').click(function () {            var t = $(this), href = t.attr('href');            if (confirm(t.attr('lang'))) {                window.location.href = href;            }            return false;        });        $('.upload-area').bind({            dragenter: function () {                $(this).parent().addClass('drag');            },            dragover: function (e) {                $(this).parent().addClass('drag');            },            drop: function () {                $(this).parent().removeClass('drag');            },            dragend: function () {                $(this).parent().removeClass('drag');            },            dragleave: function () {                $(this).parent().removeClass('drag');            }        });        function fileUploadStart(file) {            $('<ul id="file-list"></ul>').appendTo('#upload-panel');            $('<li id="' + file.id + '" class="loading">'                + file.name + '</li>').prependTo('#file-list');        }        function fileUploadError(error) {            var file = error.file, code = error.code, word;            switch (code) {                case plupload.FILE_SIZE_ERROR:                    word = '<?php _e('文件大小超过限制'); ?>';                    break;                case plupload.FILE_EXTENSION_ERROR:                    word = '<?php _e('文件扩展名不被支持'); ?>';                    break;                case plupload.FILE_DUPLICATE_ERROR:                    word = '<?php _e('文件已经上传过'); ?>';                    break;                case plupload.HTTP_ERROR:                default:                    word = '<?php _e('上传出现错误'); ?>';                    break;            }            var fileError = '<?php _e('%s 上传失败'); ?>'.replace('%s', file.name),                li, exist = $('#' + file.id);            if (exist.length > 0) {                li = exist.removeClass('loading').html(fileError);            } else {                $('<ul id="file-list"></ul>').appendTo('#upload-panel');                li = $('<li>' + fileError + '<br />' + word + '</li>').prependTo('#file-list');            }            li.effect('highlight', {color: '#FBC2C4'}, 2000, function () {                $(this).remove();            });        }        function fileUploadComplete(id, url, data) {            var img = $('.typecho-attachment-photo');            if (img.length > 0) {                img.get(0).src = '<?php $attachment->attachment->url(); ?>?' + Math.random();            }            $('#' + id).text('<?php _e('文件 %s 已经替换'); ?>'.replace('%s', data.title))                .effect('highlight', 1000, function () {                    $(this).remove();                    $('#file-list').remove();                });        }        var uploader = new plupload.Uploader({            browse_button: $('.upload-file').get(0),            url: '<?php $security->index('/action/upload?do=modify&cid=' . $attachment->cid); ?>',            runtimes: 'html5,flash,html4',            flash_swf_url: '<?php $options->adminStaticUrl('js', 'Moxie.swf'); ?>',            drop_element: $('.upload-area').get(0),            filters: {                max_file_size: '<?php echo $phpMaxFilesize ?>',                mime_types: [{                    'title': '<?php _e('允许上传的文件'); ?>',                    'extensions': '<?php $attachment->attachment->type(); ?>'                }],                prevent_duplicates: true            },            multi_selection: false,            init: {                FilesAdded: function (up, files) {                    plupload.each(files, function (file) {                        fileUploadStart(file);                    });                    uploader.start();                },                FileUploaded: function (up, file, result) {                    if (200 == result.status) {                        var data = $.parseJSON(result.response);                        if (data) {                            fileUploadComplete(file.id, data[0], data[1]);                            return;                        }                    }                    fileUploadError({                        code: plupload.HTTP_ERROR,                        file: file                    });                },                Error: function (up, error) {                    fileUploadError(error);                }            }        });        uploader.init();    });</script><?phpinclude 'footer.php';?>
 |