@@ -120,31 +120,34 @@ if ($dopost != 'save') { | |||||
$albumsArr = json_decode(stripslashes($albums), true); | $albumsArr = json_decode(stripslashes($albums), true); | ||||
for ($i = 0; $i <= count($albumsArr) - 1; $i++) { | for ($i = 0; $i <= count($albumsArr) - 1; $i++) { | ||||
$album = $albumsArr[$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'] : ''; | $imginfo = !empty($album['txt']) ? $album['txt'] : ''; | ||||
$imgurls .= "{dede:img ddimg='$v' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n"; | $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); | $imgurls = addslashes($imgurls); | ||||
@@ -191,29 +191,34 @@ if ($dopost != 'save') { | |||||
} | } | ||||
if ($albums !== "") { | if ($albums !== "") { | ||||
$albumsArr = json_decode(stripslashes($albums), true); | $albumsArr = json_decode(stripslashes($albums), true); | ||||
//var_dump($albumsArr);exit; | |||||
for ($i = 0; $i <= count($albumsArr) - 1; $i++) { | for ($i = 0; $i <= count($albumsArr) - 1; $i++) { | ||||
$album = $albumsArr[$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'] : ''; | $imginfo = !empty($album['txt']) ? $album['txt'] : ''; | ||||
$imgurls .= "{dede:img ddimg='$v' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img}\r\n"; | $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'); | require_once(DEDEINC.'/userlogin.class.php'); | ||||
AjaxHead(); | AjaxHead(); | ||||
helper('cache'); | 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()); //当前目录 | $curDir = dirname(GetCurUrl()); //当前目录 | ||||
/** | /** | ||||
* 登录鉴权 | * 登录鉴权 | ||||
@@ -317,5 +317,57 @@ if ($action === 'is_need_check_code') { | |||||
), | ), | ||||
)); | )); | ||||
exit; | 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(); | exit(); | ||||
} | } | ||||
$pfd = "pwd"; | $pfd = "pwd"; | ||||
$mpwd = md5($pwd); | |||||
$pwd = substr(md5($pwd), 5, 20); | |||||
if (function_exists('password_hash')) { | if (function_exists('password_hash')) { | ||||
$pfd = "pwd_new"; | $pfd = "pwd_new"; | ||||
$mpwd = password_hash($pwd, PASSWORD_BCRYPT); | $mpwd = password_hash($pwd, PASSWORD_BCRYPT); | ||||
$pwd = password_hash($pwd, PASSWORD_BCRYPT); | $pwd = password_hash($pwd, PASSWORD_BCRYPT); | ||||
} else { | |||||
$mpwd = md5($pwd); | |||||
$pwd = substr(md5($pwd), 5, 20); | |||||
} | } | ||||
$typeid = join(',', $typeids); | $typeid = join(',', $typeids); | ||||
@@ -26,28 +26,6 @@ | |||||
var swfu = null; | var swfu = null; | ||||
var vcc = 0; | var vcc = 0; | ||||
var albums = []; | 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> | </script> | ||||
</head> | </head> | ||||
<body> | <body> | ||||
@@ -415,5 +393,32 @@ | |||||
</table> | </table> | ||||
</form> | </form> | ||||
<script>InitPage();</script> | <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> | </body> | ||||
</html> | </html> |
@@ -21,33 +21,11 @@ | |||||
<script src="js/album.js"></script> | <script src="js/album.js"></script> | ||||
<script src="js/handlers.js"></script> | <script src="js/handlers.js"></script> | ||||
<script src="../static/web/js/cropper.min.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> | <script> | ||||
var swfu = null; | var swfu = null; | ||||
var vcc = 0; | var vcc = 0; | ||||
var albums = []; | 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> | </script> | ||||
</head> | </head> | ||||
<body> | <body> | ||||
@@ -308,15 +286,16 @@ | |||||
if ($ctag->GetAtt('ddimg') != $bigimg && $ctag->GetAtt('ddimg')!='') { | if ($ctag->GetAtt('ddimg') != $bigimg && $ctag->GetAtt('ddimg')!='') { | ||||
$litimg = $ctag->GetAtt('ddimg'); | $litimg = $ctag->GetAtt('ddimg'); | ||||
} else { | } 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 = ''; | ||||
$fhtml .= "<div class='albCt albEdit' id='albold{$j}'>"; | $fhtml .= "<div class='albCt albEdit' id='albold{$j}'>"; | ||||
$fhtml .= "<input type='hidden' name='imgurl{$j}' value='{$bigimg}'>"; | $fhtml .= "<input type='hidden' name='imgurl{$j}' value='{$bigimg}'>"; | ||||
$fhtml .= "<input type='hidden' name='imgddurl{$j}' value='{$litimg}'>"; | $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 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>"; | $fhtml .= "</div>"; | ||||
echo $fhtml; | echo $fhtml; | ||||
$j++; | $j++; | ||||
@@ -463,5 +442,55 @@ | |||||
</table> | </table> | ||||
</form> | </form> | ||||
<script>InitPage();</script> | <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> | </body> | ||||
</html> | </html> |