作者 PPPSCN

Merge remote-tracking branch 'upstream/master'

... ... @@ -188,7 +188,7 @@ class Crud extends Command
//如果是图片则额外附加
if (substr($field, -5) == 'image' || substr($field, -6) == 'avatar')
{
$attr['data-plupload-id'] = "plupload-{$field}-text";
//$attr['data-plupload-id'] = "plupload-{$field}-text";
$attr['size'] = 50;
}
$fieldFunc = substr($field, -4) == 'time' ? "|datetime" : "";
... ... @@ -377,7 +377,7 @@ EOD;
return <<<EOD
<div class="form-inline">
{$content}
<span><button id="plupload-{$field}" class="btn btn-danger plupload" ><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<span><button id="plupload-{$field}" class="btn btn-danger plupload" data-input-id="c-{$field}"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
</div>
EOD;
}
... ...
... ... @@ -2,28 +2,28 @@
<div class="form-group">
<label for="c-upyun" class="control-label col-xs-12 col-sm-2">{:__('Upload')}:</label>
<div class="col-xs-12 col-sm-8">
<input type="text" name="row[upyun]" id="c-upyun" class="form-control" cols="60" data-plupload-id="plupload-upyun-text" />
<input type="text" name="row[upyun]" id="c-upyun" class="form-control" cols="60" />
</div>
</div>
<div class="form-group">
<label for="c-upyun" class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button id="plupload-upyun" class="btn btn-danger plupload" ><i class="fa fa-upload"></i> {:__("Upload to upyun")}</button>
<button id="plupload-upyun" class="btn btn-danger plupload" data-input-id="c-upyun" ><i class="fa fa-upload"></i> {:__("Upload to upyun")}</button>
</div>
</div>
<div class="form-group">
<label for="c-local" class="control-label col-xs-12 col-sm-2">{:__('Upload')}:</label>
<div class="col-xs-12 col-sm-8">
<input type="text" name="row[local]" id="c-local" class="form-control" cols="60" data-plupload-id="plupload-local-text" />
<input type="text" name="row[local]" id="c-local" class="form-control" cols="60" />
</div>
</div>
<div class="form-group">
<label for="c-local" class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button id="plupload-local" class="btn btn-primary plupload" data-url="{:url('ajax/upload')}" data-after-upload="afteruploadcallback"><i class="fa fa-upload"></i> {:__("Upload to local")}</button>
<button id="plupload-local" class="btn btn-primary plupload" data-input-id="c-local" data-url="{:url('ajax/upload')}" data-after-upload="afteruploadcallback"><i class="fa fa-upload"></i> {:__("Upload to local")}</button>
</div>
</div>
... ...
... ... @@ -28,8 +28,8 @@
<label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-image" class="form-control" data-plupload-id="plupload-image-text" size="50" name="row[image]" type="text" value="">
<span><button id="plupload-image" class="btn btn-danger plupload" ><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="">
<span><button id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
</div>
</div>
</div>
... ...
... ... @@ -28,8 +28,8 @@
<label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input id="c-image" class="form-control" data-plupload-id="plupload-image-text" size="50" name="row[image]" type="text" value="{$row.image}">
<span><button id="plupload-image" class="btn btn-danger plupload" ><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
<input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image}">
<span><button id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
</div>
</div>
</div>
... ...
... ... @@ -81,8 +81,8 @@
<label for="c-avatar" class="control-label col-xs-12 col-sm-2">{:__('Avatar')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input type="text" name="row[avatar]" value="" id="c-avatar" class="form-control "required data-plupload-id="plupload-avatar-text" size="50" />
<span><button id="plupload-avatar" class="btn btn-danger plupload" ><i class="fa fa-upload"></i> {:__("Upload")}</button></span>
<input type="text" name="row[avatar]" value="" id="c-avatar" class="form-control" required size="50" />
<span><button id="plupload-avatar" class="btn btn-danger plupload" data-input-id="c-avatar"><i class="fa fa-upload"></i> {:__("Upload")}</button></span>
</div>
</div>
</div>
... ...
... ... @@ -82,8 +82,8 @@
<label for="c-avatar" class="control-label col-xs-12 col-sm-2">{:__('Avatar')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="form-inline">
<input type="text" name="row[avatar]" value="{$row.avatar}" id="c-avatar" class="form-control" required data-plupload-id="plupload-avatar-text" size="50" />
<span><button id="plupload-avatar" class="btn btn-danger plupload" ><i class="fa fa-upload"></i> {:__("Upload")}</button></span>
<input type="text" name="row[avatar]" value="{$row.avatar}" id="c-avatar" class="form-control" required size="50" />
<span><button id="plupload-avatar" class="btn btn-danger plupload" data-input-id="c-avatar"><i class="fa fa-upload"></i> {:__("Upload")}</button></span>
</div>
</div>
</div>
... ...
... ... @@ -3,21 +3,21 @@
//上传配置
return [
/**
* 上传地址,如果不使用又拍云,则可以使用ajax/upload
* 上传地址,默认是本地上传,如果需要使用又拍云则改为http://v0.api.upyun.com/yourbucketname
*/
'uploadurl' => 'ajax/upload',
/**
* 又拍云或本机的CDN地址
*/
'cdnurl' => '',
'cdnurl' => 'http://yourbucketname.b0.upaiyun.com',
/**
* 上传成功后的通知地址
*/
'notifyurl' => '',
'notifyurl' => 'http://www.yoursite.com/upyun/notify',
/**
* 又拍云Bucket
*/
'bucket' => '',
'bucket' => 'yourbucketname',
/**
* 生成的policy有效时间
*/
... ...
... ... @@ -19,6 +19,7 @@ define(['jquery', 'bootstrap', 'backend', 'config', 'plupload'], function ($, un
var multiple = $(this).data("multiple");
//上传URL
url = url ? url : Config.upload.uploadurl;
url = Backend.api.fixurl(url);
//最大可上传
maxsize = maxsize ? maxsize : Config.upload.maxsize;
//文件类型
... ... @@ -50,7 +51,7 @@ define(['jquery', 'bootstrap', 'backend', 'config', 'plupload'], function ($, un
//这里可以改成其它的表现形式
//document.getElementById('filelist').innerHTML += '<div id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></div>';
});
$("#" + id).data("bakup-html", $("#" + id).html());
$(that).data("bakup-html", $(that).html());
//添加后立即上传
setTimeout(function () {
Upload.list[id].start();
... ... @@ -59,11 +60,11 @@ define(['jquery', 'bootstrap', 'backend', 'config', 'plupload'], function ($, un
UploadProgress: function (up, file) {
//这里可以改成其它的表现形式
//document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
$("#" + id).prop("disabled", true).html("<i class='fa fa-upload'></i> 上传" + file.percent + "%");
$(that).prop("disabled", true).html("<i class='fa fa-upload'></i> 上传" + file.percent + "%");
},
FileUploaded: function (up, file, info) {
//还原按钮文字及状态
$("#" + id).prop("disabled", false).html($("#" + id).data("bakup-html"));
$(that).prop("disabled", false).html($(that).data("bakup-html"));
//这里可以改成其它的表现形式
//document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML += (' [Url]: ' + '<a href="' + url + '" target="_blank">' + url + '</a>');
//这里建议不修改
... ... @@ -75,7 +76,10 @@ define(['jquery', 'bootstrap', 'backend', 'config', 'plupload'], function ($, un
var data = ret.hasOwnProperty("data") && ret.data != "" ? ret.data : null;
var msg = ret.hasOwnProperty("msg") && ret.msg != "" ? ret.msg : "";
if (ret.code === 1) {
$("input[data-plupload-id='" + id + "-text']").val(data.url);
//$("input[data-plupload-id='" + id + "-text']").val(data.url);
if ($(that).data("input-id")) {
$("input#" + $(that).data("input-id")).val(data.url);
}
var afterUpload = $("#" + id).data("after-upload");
if (afterUpload && typeof Upload.api.custom[afterUpload] == 'function') {
Upload.api.custom[afterUpload].call(that, data);
... ...