@@ -120,31 +120,34 @@ if ($dopost != 'save') { | |||
$albumsArr = json_decode(stripslashes($albums), true); | |||
for ($i = 0; $i <= count($albumsArr) - 1; $i++) { | |||
$album = $albumsArr[$i]; | |||
$data = explode(',', $album['img']); | |||
$ext = ".png"; | |||
if (strpos($data[0], "data:image/jpeg") === 0){ | |||
$ext = ".jpg"; | |||
} elseif (strpos($data[0], "data:image/gif") === 0) { | |||
$ext = ".gif"; | |||
} elseif (strpos($data[0], "data:image/webp") === 0) { | |||
$ext = ".webp"; | |||
} elseif (strpos($data[0], "data:image/bmp") === 0) { | |||
$ext = ".bmp"; | |||
if (strpos($data[0], "data:image") > 0) { | |||
$data = explode(',', $album['img']); | |||
$ext = ".png"; | |||
if (strpos($data[0], "data:image/jpeg") === 0){ | |||
$ext = ".jpg"; | |||
} elseif (strpos($data[0], "data:image/gif") === 0) { | |||
$ext = ".gif"; | |||
} elseif (strpos($data[0], "data:image/webp") === 0) { | |||
$ext = ".webp"; | |||
} elseif (strpos($data[0], "data:image/bmp") === 0) { | |||
$ext = ".bmp"; | |||
} | |||
$ntime = time(); | |||
$savepath = $cfg_image_dir.'/'.MyDate($cfg_addon_savetype, $ntime); | |||
CreateDir($savepath); | |||
$fullUrl = $savepath.'/'.dd2char(MyDate('mdHis', $ntime).$cuserLogin->getUserID().mt_rand(1000, 9999)); | |||
$fullUrl = $fullUrl.$ext; | |||
file_put_contents($cfg_basedir.$fullUrl, base64_decode($data[1])); | |||
$info = ''; | |||
$imginfos = GetImageSize($cfg_basedir.$fullUrl, $info); | |||
$v = $fullUrl; | |||
} else { | |||
$v = $album['img']; | |||
$info = ''; | |||
$imginfos = GetImageSize($cfg_basedir.$v, $info); | |||
} | |||
$ntime = time(); | |||
$savepath = $cfg_image_dir.'/'.MyDate($cfg_addon_savetype, $ntime); | |||
CreateDir($savepath); | |||
$fullUrl = $savepath.'/'.dd2char(MyDate('mdHis', $ntime).$cuserLogin->getUserID().mt_rand(1000, 9999)); | |||
$fullUrl = $fullUrl.$ext; | |||
file_put_contents($cfg_basedir.$fullUrl, base64_decode($data[1])); | |||
$info = ''; | |||
$imginfos = GetImageSize($cfg_basedir.$fullUrl, $info); | |||
$v = $fullUrl; | |||
$imginfo = !empty($album['txt']) ? $album['txt'] : ''; | |||
$imgurls .= "{dede:img ddimg='$v' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n"; | |||
if ($ddisfirst == 1 && $litpic == '' && !empty($fullUrl)) { | |||
$litpic = $fullUrl; | |||
} | |||
} | |||
} | |||
$imgurls = addslashes($imgurls); | |||
@@ -191,29 +191,34 @@ if ($dopost != 'save') { | |||
} | |||
if ($albums !== "") { | |||
$albumsArr = json_decode(stripslashes($albums), true); | |||
//var_dump($albumsArr);exit; | |||
for ($i = 0; $i <= count($albumsArr) - 1; $i++) { | |||
$album = $albumsArr[$i]; | |||
$data = explode(',', $album['img']); | |||
$ext = ".png"; | |||
if (strpos($data[0], "data:image/jpeg") === 0){ | |||
$ext = ".jpg"; | |||
} elseif (strpos($data[0], "data:image/gif") === 0) { | |||
$ext = ".gif"; | |||
} elseif (strpos($data[0], "data:image/webp") === 0) { | |||
$ext = ".webp"; | |||
} elseif (strpos($data[0], "data:image/bmp") === 0) { | |||
$ext = ".bmp"; | |||
if (strpos($data[0], "data:image") > 0) { | |||
$data = explode(',', $album['img']); | |||
$ext = ".png"; | |||
if (strpos($data[0], "data:image/jpeg") === 0){ | |||
$ext = ".jpg"; | |||
} elseif (strpos($data[0], "data:image/gif") === 0) { | |||
$ext = ".gif"; | |||
} elseif (strpos($data[0], "data:image/webp") === 0) { | |||
$ext = ".webp"; | |||
} elseif (strpos($data[0], "data:image/bmp") === 0) { | |||
$ext = ".bmp"; | |||
} | |||
$ntime = time(); | |||
$savepath = $cfg_image_dir.'/'.MyDate($cfg_addon_savetype, $ntime); | |||
CreateDir($savepath); | |||
$fullUrl = $savepath.'/'.dd2char(MyDate('mdHis', $ntime).$cuserLogin->getUserID().mt_rand(1000, 9999)); | |||
$fullUrl = $fullUrl.$ext; | |||
file_put_contents($cfg_basedir.$fullUrl, base64_decode($data[1])); | |||
$info = ''; | |||
$imginfos = GetImageSize($cfg_basedir.$fullUrl, $info); | |||
$v = $fullUrl; | |||
} else { | |||
$v = $album['img']; | |||
$info = ''; | |||
$imginfos = GetImageSize($cfg_basedir.$v, $info); | |||
} | |||
$ntime = time(); | |||
$savepath = $cfg_image_dir.'/'.MyDate($cfg_addon_savetype, $ntime); | |||
CreateDir($savepath); | |||
$fullUrl = $savepath.'/'.dd2char(MyDate('mdHis', $ntime).$cuserLogin->getUserID().mt_rand(1000, 9999)); | |||
$fullUrl = $fullUrl.$ext; | |||
file_put_contents($cfg_basedir.$fullUrl, base64_decode($data[1])); | |||
$info = ''; | |||
$imginfos = GetImageSize($cfg_basedir.$fullUrl, $info); | |||
$v = $fullUrl; | |||
$imginfo = !empty($album['txt']) ? $album['txt'] : ''; | |||
$imgurls .= "{dede:img ddimg='$v' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n"; | |||
} | |||
@@ -15,7 +15,7 @@ require_once(DEDEADMIN.'/../system/common.inc.php'); | |||
require_once(DEDEINC.'/userlogin.class.php'); | |||
AjaxHead(); | |||
helper('cache'); | |||
$action = isset($action) && in_array($action, array('is_need_check_code', 'has_new_version', 'get_changed_files', 'update_backup', 'get_update_versions', 'update')) ? $action : ''; | |||
$action = isset($action) && in_array($action, array('is_need_check_code', 'has_new_version', 'get_changed_files', 'update_backup', 'get_update_versions', 'update', 'upload_image')) ? $action : ''; | |||
$curDir = dirname(GetCurUrl()); //当前目录 | |||
/** | |||
* 登录鉴权 | |||
@@ -317,5 +317,57 @@ if ($action === 'is_need_check_code') { | |||
), | |||
)); | |||
exit; | |||
} else if($action === 'upload_image'){ | |||
checkLogin(); | |||
$imgfile_name = $_FILES["file"]['name']; | |||
$activepath = $cfg_image_dir; | |||
$allowedTypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/webp"); | |||
$uploadedFile = $_FILES['file']['tmp_name']; | |||
$fileType = mime_content_type($uploadedFile); | |||
$imgSize = getimagesize($uploadedFile); | |||
if (!in_array($fileType, $allowedTypes) || !$imgSize) { | |||
echo json_encode(array( | |||
"code" => -1, | |||
"msg" => "仅支持图片格式文件", | |||
"data" => null, | |||
)); | |||
exit; | |||
} | |||
$nowtme = time(); | |||
$mdir = MyDate($cfg_addon_savetype, $nowtme); | |||
if (!is_dir($cfg_basedir.$activepath."/$mdir")) { | |||
MkdirAll($cfg_basedir.$activepath."/$mdir", $cfg_dir_purview); | |||
CloseFtp(); | |||
} | |||
$cuserLogin = new userLogin(); | |||
$iseditor = isset($iseditor)? intval($iseditor) : 0; | |||
$filename_name = $cuserLogin->getUserID().'-'.dd2char(MyDate("ymdHis", $nowtme).mt_rand(100, 999)); | |||
$filename = $mdir.'/'.$filename_name; | |||
$fs = explode('.', $imgfile_name); | |||
$filename = $filename.'.'.$fs[count($fs) - 1]; | |||
$filename_name = $filename_name.'.'.$fs[count($fs) - 1]; | |||
$fullfilename = $cfg_basedir.$activepath."/".$filename; | |||
move_uploaded_file($_FILES["file"]["tmp_name"], $fullfilename) or die(json_encode(array( | |||
"code" => -1, | |||
"msg" => "上传失败", | |||
"data" => null, | |||
))); | |||
$info = ''; | |||
$sizes[0] = 0; | |||
$sizes[1] = 0; | |||
$sizes = getimagesize($fullfilename, $info); | |||
$imgwidthValue = $sizes[0]; | |||
$imgheightValue = $sizes[1]; | |||
$imgsize = filesize($fullfilename); | |||
$inquery = "INSERT INTO `#@__uploads` (arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid) VALUES ('0','$filename','".$activepath."/".$filename."','1','$imgwidthValue','$imgheightValue','0','{$imgsize}','{$nowtme}','".$cuserLogin->getUserID()."'); "; | |||
$dsql->ExecuteNoneQuery($inquery); | |||
$fid = $dsql->GetLastID(); | |||
AddMyAddon($fid, $activepath.'/'.$filename); | |||
echo json_encode(array( | |||
"code" => 0, | |||
"msg" => "上传成功", | |||
"data" => $activepath."/".$filename, | |||
)); | |||
} | |||
?> |
@@ -29,12 +29,13 @@ if ($dopost == 'add') { | |||
exit(); | |||
} | |||
$pfd = "pwd"; | |||
$mpwd = md5($pwd); | |||
$pwd = substr(md5($pwd), 5, 20); | |||
if (function_exists('password_hash')) { | |||
$pfd = "pwd_new"; | |||
$mpwd = password_hash($pwd, PASSWORD_BCRYPT); | |||
$pwd = password_hash($pwd, PASSWORD_BCRYPT); | |||
} else { | |||
$mpwd = md5($pwd); | |||
$pwd = substr(md5($pwd), 5, 20); | |||
} | |||
$typeid = join(',', $typeids); | |||
@@ -26,28 +26,6 @@ | |||
var swfu = null; | |||
var vcc = 0; | |||
var albums = []; | |||
$(document).ready(function () { | |||
//添加图片 | |||
$("#iptAlbumImages").change(function (event) { | |||
var files = event.target.files; | |||
for (var i = 0, f; f = files[i]; i++) { | |||
//如果不是图片忽略 | |||
if (!f.type.match('image.*')) { | |||
continue; | |||
} | |||
//图片渲染到浏览器 | |||
var reader = new FileReader(); | |||
reader.onload = (function (theFile) { | |||
return function (e) { | |||
litpicImgSrc = e.target.result; | |||
addImage(litpicImgSrc, 0); | |||
}; | |||
})(f); | |||
reader.readAsDataURL(f); | |||
} | |||
$("#iptAlbumImages").val(""); | |||
}); | |||
}); | |||
</script> | |||
</head> | |||
<body> | |||
@@ -415,5 +393,32 @@ | |||
</table> | |||
</form> | |||
<script>InitPage();</script> | |||
<script> | |||
$("#iptAlbumImages").change(function(val){ | |||
for (let i = 0; i < val.target.files.length; i++) { | |||
const f = val.target.files[i]; | |||
var formData = new FormData(); | |||
var fileData = f; | |||
formData.append('file', fileData); | |||
$.ajax({ | |||
url: 'api.php?action=upload_image', | |||
type: 'POST', | |||
data: formData, | |||
processData: false, | |||
contentType: false, | |||
success: function (result) { | |||
if (result.code === 0) { | |||
// console.log(result) | |||
addImage(result.data, 0); | |||
$("#iptAlbumImages").val(''); | |||
} | |||
}, | |||
error: function (xhr, status, error) { | |||
alert(error); //处理上传失败后的回调 | |||
} | |||
}); | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -21,33 +21,11 @@ | |||
<script src="js/album.js"></script> | |||
<script src="js/handlers.js"></script> | |||
<script src="../static/web/js/cropper.min.js"></script> | |||
<style>table{border-collapse:inherit}</style> | |||
<style>table{border-collapse:inherit}input[type=file]{width: 100%;}</style> | |||
<script> | |||
var swfu = null; | |||
var vcc = 0; | |||
var albums = []; | |||
$(document).ready(function () { | |||
//添加图片 | |||
$("#iptAlbumImages").change(function (event) { | |||
var files = event.target.files; | |||
for (var i = 0, f; f = files[i]; i++) { | |||
//如果不是图片忽略 | |||
if (!f.type.match('image.*')) { | |||
continue; | |||
} | |||
//图片渲染到浏览器 | |||
var reader = new FileReader(); | |||
reader.onload = (function (theFile) { | |||
return function (e) { | |||
litpicImgSrc = e.target.result; | |||
addImage(litpicImgSrc, 0); | |||
}; | |||
})(f); | |||
reader.readAsDataURL(f); | |||
} | |||
$("#iptAlbumImages").val(""); | |||
}); | |||
}); | |||
</script> | |||
</head> | |||
<body> | |||
@@ -308,15 +286,16 @@ | |||
if ($ctag->GetAtt('ddimg') != $bigimg && $ctag->GetAtt('ddimg')!='') { | |||
$litimg = $ctag->GetAtt('ddimg'); | |||
} else { | |||
$litimg = 'swfupload.php?dopost=ddimg&img='.$bigimg; | |||
if (preg_match("#^(http|https):\/\/#i", $bigimg)) $litimg = $bigimg; | |||
else $litimg = 'swfupload.php?dopost=ddimg&img='.$bigimg; | |||
} | |||
$fhtml = ''; | |||
$fhtml .= "<div class='albCt albEdit' id='albold{$j}'>"; | |||
$fhtml .= "<input type='hidden' name='imgurl{$j}' value='{$bigimg}'>"; | |||
$fhtml .= "<input type='hidden' name='imgddurl{$j}' value='{$litimg}'>"; | |||
$fhtml .= "<img src='{$litimg}'>"; | |||
$fhtml .= "<img src='{$litimg}' id='lit{$j}'>"; | |||
$fhtml .= "<div class='my-2'>标题:<input type='text' name='imgmsg{$j}' value='".$ctag->GetAtt('text')."' class='admin-input-sm'></div>"; | |||
$fhtml .= "<div><span class='btn btn-success btn-sm file-relative'>更换<input type='file' name='imgfile{$j}' class='file-absolute'></span><a href=\"javascript:delAlbPicOld('$bigimg',$j)\" class=\"btn btn-success btn-sm\">删除</a></div>"; | |||
$fhtml .= "<div><span class='btn btn-success btn-sm file-relative'>更换<input for='item{$j}' type='file' name='imgfile{$j}' class='file-absolute btnEdit'></span><a href=\"javascript:delAlbPicOld('$bigimg',$j)\" class=\"btn btn-success btn-sm\">删除</a></div>"; | |||
$fhtml .= "</div>"; | |||
echo $fhtml; | |||
$j++; | |||
@@ -463,5 +442,55 @@ | |||
</table> | |||
</form> | |||
<script>InitPage();</script> | |||
<script> | |||
$(".btnEdit").change(function(val){ | |||
var formData = new FormData(); | |||
var fileData = val.target.files[0]; | |||
formData.append('file', fileData); | |||
$.ajax({ | |||
url: 'api.php?action=upload_image', | |||
type: 'POST', | |||
data: formData, | |||
processData: false, | |||
contentType: false, | |||
success: function (result) { | |||
if (result.code === 0) { | |||
let idx = val.target.getAttribute("for").replace("item",""); | |||
$(`input[name='imgurl${idx}']`).val(result.data); | |||
$(`input[name='imgddurl${idx}']`).val(result.data); | |||
$("#lit"+idx).attr('src', result.data); | |||
} | |||
}, | |||
error: function (xhr, status, error) { | |||
alert(error); //处理上传失败后的回调 | |||
} | |||
}); | |||
}) | |||
$("#iptAlbumImages").change(function(val){ | |||
for (let i = 0; i < val.target.files.length; i++) { | |||
const f = val.target.files[i]; | |||
var formData = new FormData(); | |||
var fileData = f; | |||
formData.append('file', fileData); | |||
$.ajax({ | |||
url: 'api.php?action=upload_image', | |||
type: 'POST', | |||
data: formData, | |||
processData: false, | |||
contentType: false, | |||
success: function (result) { | |||
if (result.code === 0) { | |||
// console.log(result) | |||
addImage(result.data, 0); | |||
$("#iptAlbumImages").val(''); | |||
} | |||
}, | |||
error: function (xhr, status, error) { | |||
alert(error); //处理上传失败后的回调 | |||
} | |||
}); | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |