diff --git a/UPDATE.md b/UPDATE.md index 7bb4ed2..de18579 100644 --- a/UPDATE.md +++ b/UPDATE.md @@ -2,30 +2,23 @@ ### 1.去掉原库设置中缩略图转换开关,站点设置增加存储位置设置,存储位置目前支持本地(默认),腾讯云存储 -### 2.本地存储位置图片处理功能开启关闭,将控制普通目录图片类文件缩略图和颜色信息获取,支持GD和imagick两种设置,其中imagick将支持特殊格式图片缩略图获取, -包括并不限于ai、psd等格式,具体支持格式可在设置界面内查看 - +### 2.本地存储位置图片处理功能开启关闭,将控制普通目录图片类文件缩略图和颜色信息获取,支持GD和imagick两种设置,其中imagick将支持特殊格式图片缩略图获取,包括并不限于ai、psd等格式,具体支持格式可在设置界面内查看 ### 3.本地存储位置视频处理功能开启关闭,将控制普通目录音视频类文件缩略图和信息获取,支持不能直接播放媒体文件转码,目前使用ffmpeg作为支持,具体支持格式可在设置界面内查看 - ### 4.本地存储位置文档处理功能开启关闭,将控制普通目录文档类文件缩略图获取,支持文档在线预览(不限于普通目录),目前使用onlyoffice作为支持,具体支持格式可在设置界面内查看 - ### 5.腾讯云位置图片处理功能开启关闭,将控制腾讯云存储中普通目录图片类文件缩略图和颜色信息获取,具体支持格式可在设置界面内查看 - ### 6.腾讯云位置位置视频处理功能开启关闭,将控制腾讯云存储中普通目录音视频类文件缩略图和信息获取,支持不能直接播放媒体文件转码,具体支持格式可在设置界面内查看 - ### 7.腾讯云位置位置文档处理功能开启关闭,将控制腾讯云存储中普通目录文档类文件缩略图,支持文档在线预览(不限于普通目录),具体支持格式可在设置界面内查看 - ### 8.修复billfish库导入颜色权重未写入问题 ### 9.修改缩略图处理结构,优化缩略图处理逻辑,并支持billfish中特殊格式详情页高清图 -###10.库设置中增加腾讯云存储位置库添加 +### 10.库设置中增加腾讯云存储位置库添加 ### 11.优化界面处理,修复已知界面问题 diff --git a/admin/system/intsystemupgrade.php b/admin/system/intsystemupgrade.php index 474dba9..5916d94 100644 --- a/admin/system/intsystemupgrade.php +++ b/admin/system/intsystemupgrade.php @@ -222,7 +222,7 @@ if ($operation == 'patch' || $operation == 'cross') { exit(json_encode(array('updateMysql'=>true,'url'=>$linkurl))); } - exit(json_encode(array('nextStep'=>true))); + exit(json_encode(array('nextStep'=>true))); } elseif ($step == 5) { $file = DZZ_ROOT . './data/update/pichome' . $version . '/updatelist.tmp'; @@ -243,7 +243,11 @@ if ($operation == 'patch' || $operation == 'cross') { $dzz_upgrade -> rmdirs(DZZ_ROOT . $old_update_dir); $dzz_upgrade -> rmdirs(DZZ_ROOT . $old_back_dir); upgradeinformation(0); - exit(json_encode(array('version' => $version,'dir'=>$new_update_dir,'backdir'=>$new_back_dir))); + $versionname = CORE_VERSION_LEVEL; + $versionnumarr = explode('.',CORE_VERSION); + unset($versionnumarr[0]); + $vsersion = $versionname.implode('.',$versionnumarr); + exit(json_encode(array('version' => $vsersion,'dir'=>$new_update_dir,'backdir'=>$new_back_dir))); // $msg = lang('upgrade_successful', array('version' => $version, 'save_update_dir' => $new_update_dir, 'save_back_dir' => $new_back_dir, 'upgradeurl' => upgradeinformation(0))); } diff --git a/core/class/table/table_pichome_folder.php b/core/class/table/table_pichome_folder.php index 2e56651..fea19db 100644 --- a/core/class/table/table_pichome_folder.php +++ b/core/class/table/table_pichome_folder.php @@ -107,7 +107,12 @@ class table_pichome_folder extends dzz_table public function fetch_all_folder_by_appid($appid,$pfid='',$i=1){ if($i>5) return []; - foreach(DB::fetch_all("select fid,fname,pathkey,pfid from %t where appid = %s and password = '' and pfid = %s",array($this->_table,$appid,$pfid)) as $v){ + if(!$pfid) { + $pfidwhere = "and (pfid = %s or pfid = 0) "; + }else{ + $pfidwhere = "and pfid = %s "; + } + foreach(DB::fetch_all("select fid,fname,pathkey,pfid from %t where appid = %s and password = '' $pfidwhere",array($this->_table,$appid,$pfid)) as $v){ $v['level'] = $i; $j = $i+1; $v['children'] = $this->fetch_all_folder_by_appid($appid,$v['fid'],$j); @@ -129,6 +134,7 @@ class table_pichome_folder extends dzz_table } }else{ + foreach(DB::fetch_all("select fid,fname,pathkey,appid,pfid,filenum as nosubfilenum from %t where appid = %s and pfid = '' order by disp asc",array($this->_table,$appid)) as $v){ $v['filenum'] = DB::result_first("SELECT count(DISTINCT fr.rid) FROM %t fr left join %t f on fr.fid = f.fid diff --git a/core/class/table/table_pichome_resources.php b/core/class/table/table_pichome_resources.php index d06c186..db9c25f 100644 --- a/core/class/table/table_pichome_resources.php +++ b/core/class/table/table_pichome_resources.php @@ -179,14 +179,17 @@ class table_pichome_resources extends dzz_table if($resourcesdata['hasthumb'] > 0){ $iconthumbparams['thumbsign'] = ($appdata['type'] == 0) ? 1:0; $origithumbparams['thumbsign'] = 1; - //判断是否有大图,如果没有,则判断下载权限,有下载权限的获取原图即赋值缩略图hasthumb为0,否则使用小图作为原图 - if(!DB::result_first("select path from %t where rid = %s and thumbsign = %d",array('thumb_record',$rid,1))){ - if($resourcesdata['download']){ - $origithumbparams['hasthumb'] = 0; - }else{ - $origithumbparams['thumbsign'] = 0; + if($appdata['type'] == 0){ + $origithumbparams['hasthumb'] = ($resourcesdata['download'] && in_array($resourcesdata['ext'],explode(',',getglobal('config/pichomecommimageext')))) ? 0:1; + }else{ + //判断是否有大图,如果没有,则判断下载权限,有下载权限的获取原图即赋值缩略图hasthumb为0,否则使用小图作为原图 + if(!DB::result_first("select path from %t where rid = %s and thumbsign = %d",array('thumb_record',$rid,1))){ + if($resourcesdata['download'] && in_array($resourcesdata['ext'],explode(',',getglobal('config/pichomecommimageext')))){ + $origithumbparams['hasthumb'] = 0; + }else{ + $origithumbparams['thumbsign'] = 0; + } } - } } //缩略图地址 diff --git a/core/core_version.php b/core/core_version.php index a7f0dae..8616169 100644 --- a/core/core_version.php +++ b/core/core_version.php @@ -10,8 +10,8 @@ if(!defined('IN_OAOOA')) { exit('Access Denied'); } if(!defined('CORE_VERSION')) { - define('CORE_VERSION', '10.1.1'); + define('CORE_VERSION', '10.1.1.01'); define('CORE_VERSION_LEVEL', 'Home'); - define('CORE_RELEASE', '20220624'); - define('CORE_FIXBUG' , '10110000'); + define('CORE_RELEASE', '20220627'); + define('CORE_FIXBUG' , '10110100'); } \ No newline at end of file diff --git a/dzz/eagle/class/class_eagleexport.php b/dzz/eagle/class/class_eagleexport.php index cae7ddf..49eb7a1 100644 --- a/dzz/eagle/class/class_eagleexport.php +++ b/dzz/eagle/class/class_eagleexport.php @@ -81,7 +81,7 @@ class eagleexport //目录数据 $folderdata = $appdatas['folders']; - $efids = C::t('#eagle#eagle_folderrecord')->insert_folderdata_by_appid($this->appid, $folderdata,$this->defaultperm); + $efids = C::t('#eagle#eagle_folderrecord')->insert_folderdata_by_appid($this->appid, $folderdata); $delids = []; foreach(DB::fetch_all("select id from %t where efid not in(%n) and appid = %s",array('eagle_folderrecord',$efids,$this->appid)) as $delid){ $delids[] = $delid['id']; diff --git a/dzz/imageColor/classes/imageColor.php b/dzz/imageColor/classes/imageColor.php index eb88477..0cd78f7 100644 --- a/dzz/imageColor/classes/imageColor.php +++ b/dzz/imageColor/classes/imageColor.php @@ -30,20 +30,21 @@ class imageColor{ $lib = isset($setting['imagelib']) ? $setting['imagelib']:(extension_loaded('imagick')?'imagick':'gd'); - if($lib== 'gd'){ - $exts = getglobal('config/gdgetcolorextlimit'); - $extsarr = explode(',',$exts); - - }else{ - $exts = getglobal('config/imageickallowextlimit').','.getglobal('config/gdgetcolorextlimit'); - $extsarr = explode(',',$exts); - } - + if($lib== 'gd'){ + $exts = getglobal('config/gdgetcolorextlimit'); + }else{ + //$exts='jpg,png,gif,jpeg,dwg,aai,art,arw,avs,bpg,bmp,bmp2,bmp3,brf,cals,cals,cgm,cin,cip,cmyk,cmyka,cr2,crw,cube,cur,cut,dcm,dcr,dcx,dds,dib,djvu,dng,dot,dpx,emf,epdf,epi,eps,eps2,eps3,epsf,epsi,ept,exr,fax,fig,fits,fpx,gplt,gray,graya,hdr,heic,hpgl,hrz,ico,info,isobrl,isobrl6,jbig,jng,jp2,jpt,j2c,j2k,jxr,json,man,mat,miff,mono,mng,m2v,mpc,mpr,mrwmmsl,mtv,mvg,nef,orf,otb,p7,palm,pam,clipboard,pbm,pcd,pcds,pcl,pcx,pdb,pef,pes,pfa,pfb,pfm,pgm,picon,pict,pix,png8,png00,png24,png32,png48,png64,pnm,ppm,ps,ps2,ps3,psb,psd,ptif,pwp,rad,raf,rgb,rgb565,rgba,rgf,rla,rle,sfw,sgi,shtml,sid,mrsid,sum,svg,text,tga,tif,tiff,tim,ttf,ubrl,ubrl6,uil,uyvy,vicar,viff,wbmp,wpg,webp,wmf,wpg,x,xbm,xcf,xpm,xwd,x3f,YCbCr,YCbCrA,yuv,sr2,srf,srw,rw2,nrw,mrw,kdc,erf,canvas,caption,clip,clipboard,fractal,gradient,hald,histogram,inline,map,mask,matte,null,pango,plasma,preview,print,scan,radial_gradient,scanx,screenshot,stegano,tile,unique,vid,win,xc,granite,logo,netscpe,rose,wizard,bricks,checkerboard,circles,crosshatch,crosshatch30,crosshatch45,fishscales,gray0,gray5,gray10,gray15,gray20,gray25,gray30,gray35,gray40,gray45,gray50,gray55,gray60,gray65,gray70,gray75,gray80,gray85,gray90,gray95,gray100,hexagons,horizontal,horizontal2,horizontal3,horizontalsaw,hs_bdiagonal,hs_cross,hs_diagcross,hs_fdiagonal,hs_vertical,left30,left45,leftshingle,octagons,right30,right45,rightshingle,smallfishcales,vertical,vertical2,vertical3,verticalfishingle,vericalrightshingle,verticalleftshingle,verticalsaw,fff,3fr,ai,iiq,cdr'; + $exts = getglobal('config/imageickallowextlimit').','.getglobal('config/gdgetcolorextlimit'); + $extsarr = explode(',',$exts); + } + $extsarr = explode(',',$exts); if(!in_array($data['ext'],$extsarr)){ runlog('imageColor',' unablegetcolor img='.$data['realpath']); return ''; } + // $width=isset($_G['setting']['thumbsize']['small']['width']) ? $_G['setting']['thumbsize']['small']['width']:64; + //$height=isset($_G['setting']['thumbsize']['small']['height']) ? $_G['setting']['thumbsize']['small']['width']:64 ; $width = 64; $height = 64; $img = IO::getThumb($data['rid'],$width,$height,0,1,1,1); @@ -52,19 +53,17 @@ class imageColor{ return ''; } try{ - $palette=new ImagePalette( $img,1,10,$lib,$this->palette); + $palette=new ImagePalette( $img,1,10,$setting['lib'],$this->palette); $palettes=$palette->palette; } catch(\Exception $e){ C::t('pichome_resources_attr')->update($data['rid'],array('isget'=>-1)); - @unlink($img); runlog('imageColor',$e->getMessage().' img='.$img); return ''; } if (!is_array($palettes)) { DB::delete('pichome_palette', array('rid' => $data['rid'])); C::t('pichome_resources_attr')->update($data['rid'],array('isget'=>-1)); - @unlink($img); } else { DB::delete('pichome_palette', array('rid' => $data['rid'])); diff --git a/dzz/pichome/download.php b/dzz/pichome/download.php index 08e3202..7276c76 100644 --- a/dzz/pichome/download.php +++ b/dzz/pichome/download.php @@ -10,6 +10,7 @@ $attach = DB::fetch_first("select path,appid from %t where rid = %s",array('pich $librarydata = DB::fetch_first("select path,iswebsitefile from %t where appid = %s",array('pichome_vapp',$attach['appid'])); $attachurl = $librarydata['path'].BS.$attach['path']; +$attachurl = IO::getStream($attachurl); $d = new FileDownload(); $d->download($attachurl, $resourcesdata['name'], $resourcesdata['size'], 0, true); exit(); \ No newline at end of file diff --git a/dzz/pichome/getthumb.php b/dzz/pichome/getthumb.php index 4dc04af..9ae4d33 100644 --- a/dzz/pichome/getthumb.php +++ b/dzz/pichome/getthumb.php @@ -34,7 +34,7 @@ if ($locked) { exit(json_encode( array('error'=>'进程已被锁定请稍后再试'))); } //查询符合执行条件的数据 -$datas = DB::fetch_all("select r.rid,r.thumbdonum,v.path from %t r left join %t v on r.appid = v.appid where r.hasthumb < 1 and r.appid in(%n) and r.thumbdotime < v.dateline +$datas = DB::fetch_all("select r.rid,r.ext,r.thumbdonum,v.path from %t r left join %t v on r.appid = v.appid where r.hasthumb < 1 and r.appid in(%n) and r.thumbdotime < v.dateline order by r.thumbdonum asc limit $start,$limit",array('pichome_resources','pichome_vapp',$appids)); /*//查询符合执行条件的数据 $datas = DB::fetch_all("select r.rid,r.thumbdonum from %t r left join %t v on r.appid = v.appid where r.hasthumb < 1 and r.appid in(%n) @@ -52,11 +52,27 @@ if($datas){ } if($bz == 'dzz') $did = 1; + $imagestatus = 0; + //获取导入记录表基本数据 if(!is_numeric($did) || $did < 2){ - $imagestatus = DB::result_first("select imagestatus from %t where bz = %s",array('connect_storage','dzz')); + $status = DB::fetch_first("select * from %t where bz = %s",array('connect_storage','dzz')); + if(in_array($v['ext'],explode(',',getglobal('config/pichomeffmpeggetthumbext')))){ + $imagestatus = $status['mediastatus']; + }elseif(in_array($v['ext'],explode(',',getglobal('config/onlyofficeviewextlimit')))){ + $imagestatus = $status['docstatus']; + }else{ + $imagestatus = $status['imagestatus']; + } }else{ - $imagestatus = DB::result_first("select imagestatus from %t where id = %d",array('connect_storage',$did)); + $status = DB::fetch_first("select * from %t where id = %d",array('connect_storage',$did)); + if(in_array($v['ext'],explode(',', getglobal('config/qcosmedia')))){ + $imagestatus = $status['mediastatus']; + }elseif(in_array($v['ext'],explode(',',getglobal('config/qcosoffice')))){ + $imagestatus = $status['docstatus']; + }else{ + $imagestatus = $status['imagestatus']; + } } if(!$imagestatus){ C::t('pichome_resources')->update($v['rid'],array('thumbdonum'=>intval($v['thumbdonum'])+1,'thumbdotime'=>TIMESTAMP));