From 98d8cfe37b5c896994b2ddfd2488ac16a1da92f9 Mon Sep 17 00:00:00 2001 From: zyx0814 Date: Sun, 14 Apr 2024 16:29:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=87=A0=E4=B8=AA=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9A=201=EF=BC=9A=E9=BB=98=E8=AE=A4=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E4=BD=8D=E7=BD=AE=E5=88=87=E6=8D=A2=E6=97=A0=E6=95=88?= =?UTF-8?q?=202=EF=BC=9A=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E5=A4=B1=E8=B4=A5=203=EF=BC=9A=E4=BA=91=E5=AD=98?= =?UTF-8?q?=E5=82=A8=E6=96=87=E4=BB=B6=E9=A2=84=E8=A7=88=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/class/table/table_pichome_resources.php | 85 +++++++++++++++---- .../table/table_pichome_templatetagdata.php | 3 +- dzz/pichome/storagesetting.php | 3 +- install/data/install_data.sql | 7 +- misc/createthumb.php | 27 +++++- 5 files changed, 102 insertions(+), 23 deletions(-) diff --git a/core/class/table/table_pichome_resources.php b/core/class/table/table_pichome_resources.php index 622d130..b2045c2 100644 --- a/core/class/table/table_pichome_resources.php +++ b/core/class/table/table_pichome_resources.php @@ -93,11 +93,10 @@ class table_pichome_resources extends dzz_table public function update_by_rids($appid, $rids, $attr) { - if (!is_array($rids)) $rids = (array)$rids; - if (parent::update($rids, $attr)) { - $hookindex = ['rids' => $rids, 'appid' => $appid]; - Hook::listen('updatedataafter', $hookindex); - } + if(!is_array($rids)) $rids = array($rids); + Hook::listen('resourcesupdateBefore',$attr,$rids); + if($attr) parent::update($rids,$attr); + return true; } //清空删除文件 @@ -322,10 +321,14 @@ class table_pichome_resources extends dzz_table $return = []; foreach (DB::fetch_all("select * from %t where rid in(%n)", array('thumb_record', $rids)) as $v) { if ($v['rid']) $return[$v['rid']]['imgstatus'] = 1; - if ($v['sstatus']) $return[$v['rid']]['icondata'] = getglobal('siteurl') . IO::getFileuri($v['spath']); - else $return[$v['rid']]['icondata'] = false; - if ($v['lstatus']) $return[$v['rid']]['originalimg'] = getglobal('siteurl') . IO::getFileuri($v['lpath']); - else $return[$v['rid']]['originalimg'] = false; + if ($v['sstatus']) { + $uri = IO::getFileuri($v['spath']); + $return[$v['rid']]['icondata'] =preg_match( '/^http(s)?:\\/\\/.+/',$uri) ? $uri:getglobal('siteurl') .$uri; + } else $return[$v['rid']]['icondata'] = false; + if ($v['lstatus']) { + $uri = IO::getFileuri($v['lpath']); + $return[$v['rid']]['originalimg'] = preg_match( '/^http(s)?:\\/\\/.+/',$uri) ? $uri:getglobal('siteurl') . $uri; + } else $return[$v['rid']]['originalimg'] = false; } return $return; } @@ -339,7 +342,7 @@ class table_pichome_resources extends dzz_table $did = is_numeric($patharr[1]) ? $patharr[1] : 1; //库路径 $thumbdir = $apppath; - if(strpos($resourcesdata['path'],$thumbdir)!==false)$resourcesdata['path'] = str_replace($thumbdir.BS,'',$resourcesdata['path']); + if(strpos($resourcesdata['path'],$thumbdir)!==false)$resourcesdata['path'] = str_replace([$thumbdir.BS,$thumbdir.'/'],'',$resourcesdata['path']); $ext = $resourcesdata['ext']; //获取缩略图地址模式,默认0由服务器自动根据文件位置生成地址 $thumurlmod = getglobal('config/thumburlmod') ? getglobal('config/thumburlmod'):0; @@ -351,7 +354,7 @@ class table_pichome_resources extends dzz_table //大图参数 $largethumbparams = ['rid' => $resourcesdata['rid'], 'hash' => VERHASH, 'download' => $download, 'thumbsign' => '1','path'=>$resourcesdata['path'], 'ext' => $resourcesdata['ext'], 'appid' => $resourcesdata['appid'],'hasthumb'=>$resourcesdata['hasthumb']]; - if ($apptype == 3 || $apptype == 1) { + if ($apptype == 3) { $thumbdata = C::t('thumb_record')->fetch($resourcesdata['rid']); if ($thumbdata['sstatus']) $imgdata['icondata'] = getglobal('siteurl') . IO::getFileuri($thumbdata['spath']); else $imgdata['icondata'] = false; @@ -359,6 +362,20 @@ class table_pichome_resources extends dzz_table else { $imgdata['originalimg'] = (!$return) ? false: getglobal('siteurl') . 'index.php?mod=io&op=createThumb&path='.$resourcesdata['dpath'].'&size=large'; } + }elseif($apptype == 1){ + if(isset($resourcesdata['isFilelistThumb']) && $resourcesdata['isFilelistThumb']){ + $smallthumbparams = ['rid' => $resourcesdata['rid'], 'hash' => VERHASH, 'download' => $download, + 'thumbsign' => '0', 'path'=>$resourcesdata['path'],'ext' => $resourcesdata['ext'], 'appid' => $resourcesdata['appid'],'hasthumb'=>$resourcesdata['hasthumb']]; + $imgdata['iconimg'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . Pencode($smallthumbparams, 0, '') . '&' . VERHASH; + }else{ + $thumbdata = C::t('thumb_record')->fetch($resourcesdata['rid']); + if ($thumbdata['sstatus']) $imgdata['icondata'] = getglobal('siteurl') . IO::getFileuri($thumbdata['spath']); + else $imgdata['icondata'] = false; + if ($thumbdata['lstatus']) $imgdata['originalimg'] = getglobal('siteurl') . IO::getFileuri($thumbdata['lpath']); + else { + $imgdata['originalimg'] = (!$return) ? false: getglobal('siteurl') . 'index.php?mod=io&op=createThumb&path='.$resourcesdata['dpath'].'&size=large'; + } + } } else { $imgdata['icondata'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . Pencode($smallthumbparams, 0, '') . '&' . VERHASH; @@ -366,9 +383,9 @@ class table_pichome_resources extends dzz_table } } else { + switch ($apptype) { case 0: - //小图地址 if ($resourcesdata['hasthumb']) { $tmppath = str_replace(strrchr($resourcesdata['path'], "."), "", $resourcesdata['path']); @@ -424,6 +441,20 @@ class table_pichome_resources extends dzz_table } break; case 1: + + if(isset($resourcesdata['isFilelistThumb']) && $resourcesdata['isFilelistThumb']){ + $smallthumbparams = ['rid' => $resourcesdata['rid'], 'hash' => VERHASH, 'download' => $download, + 'thumbsign' => '0', 'path'=>$resourcesdata['path'],'ext' => $resourcesdata['ext'], 'appid' => $resourcesdata['appid'],'hasthumb'=>$resourcesdata['hasthumb']]; + $imgdata['iconimg'] = getglobal('siteurl') . 'index.php?mod=io&op=getImg&path=' . Pencode($smallthumbparams, 0, '') . '&' . VERHASH; + + }else{ + $thumbdata = C::t('thumb_record')->fetch($resourcesdata['rid']); + if ($thumbdata['sstatus']) $imgdata['icondata'] = getglobal('siteurl') . IO::getFileuri($thumbdata['spath']); + else $imgdata['icondata'] = false; + if ($thumbdata['lstatus']) $imgdata['originalimg'] = getglobal('siteurl') . IO::getFileuri($thumbdata['lpath']); + else $imgdata['originalimg'] = (!$return) ? false: getglobal('siteurl') . 'index.php?mod=io&op=createThumb&path='.$resourcesdata['dpath'].'&size=large'; + } + break; case 3: $thumbdata = C::t('thumb_record')->fetch($resourcesdata['rid']); if ($thumbdata['sstatus']) $imgdata['icondata'] = getglobal('siteurl') . IO::getFileuri($thumbdata['spath']); @@ -486,7 +517,9 @@ class table_pichome_resources extends dzz_table $resourcesdata['isdetail'] = 1; $resourcesdata['dpath'] =dzzencode($rid, '', 0, 0); + $resourcesdata['isFilelistThumb'] = 1; $imgdata = $this->getfileimageurl($resourcesdata, $appdata['path'], $appdata['type'], $resourcesdata['download'],1); + if(!$imgdata['icondata'] && $imgdata['iconimg']) $imgdata['icondata'] = $imgdata['iconimg']; $resourcesdata = array_merge($resourcesdata, $imgdata); if ($resourcesdata['width'] == 0) $resourcesdata['width'] = 900; @@ -511,6 +544,8 @@ class table_pichome_resources extends dzz_table unset($resourcesdata['path']); $random = rand(); $resourcesdata['iniframe'] = ($src) ? $src . '&random=' . $random . '&hash=' . VERHASH . '&path=' . $resourcesdata['dpath'] : ''; + + Hook::listen('resourcesdataFilter',$resourcesdata,false); return $resourcesdata; } @@ -532,7 +567,7 @@ class table_pichome_resources extends dzz_table //获取所有的缩略图表数据 $imagedatas = $this->getThumbsByrids($rids); foreach ($resourcesdata as $v) { - if ($nodel && $v['isdelete'] > 0) continue; + if (($nodel && $v['isdelete'] > 0) ) continue; if($v['isdelete']){ $v['share'] = $v['download'] = $v['collection'] = 0; }else{ @@ -544,6 +579,11 @@ class table_pichome_resources extends dzz_table if ($imagedatas[$v['rid']]['imgstatus']) { $imgdata = ['icondata' => $imagedatas[$v['rid']]['icondata'], 'originalimg' => $imagedatas[$v['rid']]['originalimg']]; + if($downshare[$v['appid']]['type'] == 1 && !$imgdata['icondata']){ + $v['isFilelistThumb'] = 1; + $tmpimagedata = $this->getfileimageurl($v, $downshare[$v['appid']]['path'], $downshare[$v['appid']]['type'], $v['download']); + $imgdata = array_merge($imgdata,$tmpimagedata); + } } else { $imgdata = $this->getfileimageurl($v, $downshare[$v['appid']]['path'], $downshare[$v['appid']]['type'], $v['download']); } @@ -566,6 +606,7 @@ class table_pichome_resources extends dzz_table unset($v['path']); $returndata[] = $v; } + Hook::listen('resourcesdataFilter',$returndata,true); return $returndata; } @@ -637,7 +678,7 @@ class table_pichome_resources extends dzz_table //Return the results return array($width,$height); } - public function geticondata_by_rid($rid, $onlyicon = 0) + public function geticondata_by_rid($rid, $onlyicon = 0,$force = 1) { $resourcesdata = DB::fetch_first("select r.rid,r.isdelete,r.appid,r.ext,r.type,ra.path as fpath, v.path,v.type as apptype,v.download from %t r @@ -647,11 +688,23 @@ class table_pichome_resources extends dzz_table if ($onlyicon) return false; else return $resourcesdata; } else { + $vapppath = $resourcesdata['path']; + if($resourcesdata['apptype'] != 3){ + $resourcesdata['path'] = $vapppath.BS.$resourcesdata['fpath']; + } + if($force && $resourcesdata['apptype'] = 1){ + $resourcesdata['isFilelistThumb'] = 1; + } $download = C::t('pichome_vapp')->getpermbypermdata($resourcesdata['download'], $resourcesdata['appid'], 'download'); - $imgdata = $this->getfileimageurl($resourcesdata, $resourcesdata['path'], $resourcesdata['apptype'], $download); + $imgdata = $this->getfileimageurl($resourcesdata, $vapppath, $resourcesdata['apptype'], $download); if ($onlyicon) { - return $imgdata['icondata']; + if($resourcesdata['apptype'] = 1 && !$imgdata['icondata'] && $imgdata['iconimg']){ + $iconimgdata =$imgdata['iconimg']; + }else{ + $iconimgdata = $imgdata['icondata']; + } + return $iconimgdata; } else { return array_merge($resourcesdata, $imgdata); } diff --git a/core/class/table/table_pichome_templatetagdata.php b/core/class/table/table_pichome_templatetagdata.php index 7e99319..b10ea26 100644 --- a/core/class/table/table_pichome_templatetagdata.php +++ b/core/class/table/table_pichome_templatetagdata.php @@ -119,7 +119,8 @@ class table_pichome_templatetagdata extends dzz_table foreach($v['tdata'] as $k=>$val){ if($val['aid']){ - $v['tdata'][$k]['imgurl'] = getglobal('siteurl').IO::getFileUri('attach::'.$val['aid']); + $uri = IO::getFileUri('attach::'.$val['aid']); + $v['tdata'][$k]['imgurl'] =preg_match( '/^http(s)?:\\/\\/.+/',$uri) ? $uri:getglobal('siteurl').$uri; } if(!$val['link']) $val['tdata'][$k]['url'] = $val['linkval'] ? $val['linkval']:''; else{ diff --git a/dzz/pichome/storagesetting.php b/dzz/pichome/storagesetting.php index 14cb787..62f0a81 100644 --- a/dzz/pichome/storagesetting.php +++ b/dzz/pichome/storagesetting.php @@ -42,7 +42,8 @@ if($do == 'addspace'){ 'did'=>$space['id'], 'host'=>$space['host'], ]; - if(DB::update('connect_storage',['isdefault'=>0],'id !='.$id) && DB::update('connect_storage',['isdefault'=>1],'id ='.$id)){ + if(DB::update('connect_storage',['isdefault'=>1],'id ='.$id)){ + DB::update('connect_storage',['isdefault'=>0],'id !='.$id); C::t('setting')->update('defaultspacesetting',$defaultspacesettingdata); updatecache('setting'); } diff --git a/install/data/install_data.sql b/install/data/install_data.sql index 7c86c0c..9e8db0c 100644 --- a/install/data/install_data.sql +++ b/install/data/install_data.sql @@ -69,7 +69,6 @@ INSERT INTO `dzz_hooks` (`id`, `app_market_id`, `name`, `description`, `type`, ` (31, 0, 'sysreg', ' ', 1, 0, 'core\\dzz\\sysreg', 1, 0), (32, 0, 'pichomevappdelete', ' ', 1, 0, 'dzz\\local\\classes\\pichomevappdelete', 1, 0), (33, 0, 'pichomedatadeleteafter', ' ', 1, 0, 'dzz\\billfish\\classes\\deleteafter', 1, 0), -(34, 0, 'pichomedatadeleteafter', ' ', 1, 0, 'dzz\\collection\\classes\\deleteafter', 1, 0), (35, 0, 'pichomegetfileinfo', ' ', 1, 0, 'dzz\\ffmpeg\\classes\\info', 1, 0), (36, 0, 'pichomegetfileinfo', ' ', 1, 0, 'dzz\\imageColor\\classes\\imageColor', 1, 0), (37, 0, 'pichomethumb', ' ', 1, 0, 'dzz\\ffmpeg\\classes\\thumb', 1, 0), @@ -101,8 +100,8 @@ INSERT INTO `dzz_connect` (`name`, `key`, `secret`, `type`, `bz`, `root`, `avail -- 转存表中的数据 `dzz_connect_storage` -- -INSERT INTO `dzz_connect_storage` (`id`, `uid`, `cloudname`, `dateline`, `perm`, `access_id`, `access_key`, `bucket`, `bz`, `hostname`, `internalhostname`, `host`, `internalhost`, `extra`, `mediastatus`, `docstatus`, `imagestatus`,`disp`,`videoquality`) VALUES -(1, 0, '本地存储', 0, 29751, ' ', ' ', '', 'dzz', ' ', ' ', ' ', ' ', ' ', 0, 0, 1,-2,0); +INSERT INTO `dzz_connect_storage` (`id`, `uid`, `cloudname`, `dateline`, `perm`, `access_id`, `access_key`, `bucket`, `bz`, `hostname`, `internalhostname`, `host`, `internalhost`, `extra`, `mediastatus`, `docstatus`, `imagestatus`,`disp`,`videoquality`,`specialext`,`isdefault`) VALUES +(1, 0, '本地存储', 0, 29751, ' ', ' ', '', 'dzz', ' ', ' ', ' ', ' ', ' ', 0, 0, 1,-2,0,' ',1); -- -- 转存表中的数据 `dzz_usergroup` @@ -217,7 +216,7 @@ INSERT INTO `dzz_setting` VALUES ('pichomeimportallowext', '*.jpg,*.jpeg,*.gif,* INSERT INTO `dzz_setting` VALUES ('pichomeimportnotdir', 'patch,srv,run,lib64,sys,bin,media,boot,etc,sbin,lib,dev,root,usr,proc,tmp,lost+found,lib32,etc.defaults,var.defaults,@*,.*,$*'); INSERT INTO `dzz_setting` VALUES ('ppathinfo', 0); -INSERT INTO `dzz_pichome_theme` VALUES (1, '超酷时尚', 'white,dark', NULL, 'dark', 'a:8:{s:5:\"slide\";a:2:{s:10:\"horizontal\";a:4:{s:5:\"title\";s:6:\"横幅\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:10:\"horizontal\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:9:\"1800×450\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"25%\";}i:1;a:3:{s:5:\"title\";s:9:\"1800×500\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"28%\";}i:2;a:3:{s:5:\"title\";s:9:\"1800×800\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"44%\";}}}s:4:\"full\";a:4:{s:5:\"title\";s:6:\"满屏\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"full\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:9:\"1800×450\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"25%\";}i:1;a:3:{s:5:\"title\";s:9:\"1800×500\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"28%\";}i:2;a:3:{s:5:\"title\";s:9:\"1800×800\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"44%\";}}}}s:10:\"search_rec\";a:4:{s:6:\"style1\";a:3:{s:5:\"title\";s:21:\"简洁边框中对齐\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"style1\";}s:6:\"style2\";a:3:{s:5:\"title\";s:21:\"简洁边框左对齐\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:6:\"style2\";}s:6:\"style3\";a:3:{s:5:\"title\";s:18:\"无边框中对齐\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:6:\"style3\";}s:6:\"style4\";a:3:{s:5:\"title\";s:18:\"无边框左对齐\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:6:\"style4\";}}s:9:\"rich_text\";a:2:{s:3:\"top\";a:4:{s:5:\"title\";s:12:\"顶部分类\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"top\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}s:4:\"left\";a:4:{s:5:\"title\";s:12:\"左侧分类\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"left\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}}s:4:\"link\";a:3:{s:10:\"horizontal\";a:3:{s:5:\"title\";s:6:\"横排\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:10:\"horizontal\";}s:4:\"card\";a:3:{s:5:\"title\";s:6:\"卡片\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"card\";}s:4:\"icon\";a:3:{s:5:\"title\";s:6:\"图标\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"icon\";}}s:8:\"question\";a:2:{s:3:\"top\";a:4:{s:5:\"title\";s:12:\"顶部分类\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"top\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}s:4:\"left\";a:4:{s:5:\"title\";s:12:\"左侧分类\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"left\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}}s:8:\"file_rec\";a:5:{s:9:\"imageList\";a:3:{s:5:\"title\";s:6:\"网格\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"imageList\";}s:7:\"rowGrid\";a:3:{s:5:\"title\";s:9:\"自适应\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"rowGrid\";}s:6:\"tabodd\";a:3:{s:5:\"title\";s:12:\"列表单列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:6:\"tabodd\";}s:7:\"tabeven\";a:3:{s:5:\"title\";s:12:\"列表双列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"tabeven\";}s:7:\"details\";a:3:{s:5:\"title\";s:6:\"详情\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"details\";}}s:6:\"db_ids\";a:6:{s:9:\"waterFall\";a:3:{s:5:\"title\";s:9:\"瀑布流\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"waterFall\";}s:9:\"imageList\";a:3:{s:5:\"title\";s:6:\"网格\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:9:\"imageList\";}s:7:\"rowGrid\";a:3:{s:5:\"title\";s:9:\"自适应\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"rowGrid\";}s:6:\"tabodd\";a:3:{s:5:\"title\";s:12:\"列表单列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:6:\"tabodd\";}s:7:\"tabeven\";a:3:{s:5:\"title\";s:12:\"列表双列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"tabeven\";}s:7:\"details\";a:3:{s:5:\"title\";s:6:\"详情\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"details\";}}s:10:\"manual_rec\";a:7:{s:3:\"one\";a:4:{s:5:\"title\";s:18:\"单排文字居中\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"one\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:3:\"two\";a:4:{s:5:\"title\";s:18:\"单排文字居下\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"two\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:5:\"three\";a:4:{s:5:\"title\";s:18:\"单排图外文字\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"three\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:4:\"four\";a:4:{s:5:\"title\";s:18:\"双排文字居中\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"four\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:4:\"five\";a:4:{s:5:\"title\";s:18:\"双排文字居下\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"five\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:3:\"six\";a:4:{s:5:\"title\";s:18:\"双排图外文字\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"six\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:5:\"seven\";a:3:{s:5:\"title\";s:18:\"大图小图混排\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"seven\";}}}', 'fashion', 1709777951); +INSERT INTO `dzz_pichome_theme` (`id`, `themename`, `colors`, `templates`, `selcolor`, `themestyle`, `themefolder`, `dateline`) VALUES (1, '超酷时尚', 'white,dark', NULL, 'dark', 'a:7:{s:5:\"slide\";a:2:{s:10:\"horizontal\";a:4:{s:5:\"title\";s:6:\"横幅\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:10:\"horizontal\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:9:\"1800×450\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"25%\";}i:1;a:3:{s:5:\"title\";s:9:\"1800×500\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"28%\";}i:2;a:3:{s:5:\"title\";s:9:\"1800×800\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"44%\";}}}s:4:\"full\";a:4:{s:5:\"title\";s:6:\"满屏\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"full\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:9:\"1800×450\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"25%\";}i:1;a:3:{s:5:\"title\";s:9:\"1800×500\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"28%\";}i:2;a:3:{s:5:\"title\";s:9:\"1800×800\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"44%\";}}}}s:9:\"rich_text\";a:2:{s:3:\"top\";a:4:{s:5:\"title\";s:12:\"顶部分类\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"top\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}s:4:\"left\";a:4:{s:5:\"title\";s:12:\"左侧分类\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"left\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}}s:4:\"link\";a:3:{s:10:\"horizontal\";a:3:{s:5:\"title\";s:6:\"横排\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:10:\"horizontal\";}s:4:\"card\";a:3:{s:5:\"title\";s:6:\"卡片\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"card\";}s:4:\"icon\";a:3:{s:5:\"title\";s:6:\"图标\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"icon\";}}s:8:\"question\";a:2:{s:3:\"top\";a:4:{s:5:\"title\";s:12:\"顶部分类\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"top\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}s:4:\"left\";a:4:{s:5:\"title\";s:12:\"左侧分类\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"left\";s:4:\"size\";a:2:{i:0;a:3:{s:5:\"title\";s:3:\"宽\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:4:\"full\";}i:1;a:3:{s:5:\"title\";s:3:\"窄\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"limit\";}}}}s:8:\"file_rec\";a:5:{s:9:\"imageList\";a:3:{s:5:\"title\";s:6:\"网格\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"imageList\";}s:7:\"rowGrid\";a:3:{s:5:\"title\";s:9:\"自适应\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"rowGrid\";}s:6:\"tabodd\";a:3:{s:5:\"title\";s:12:\"列表单列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:6:\"tabodd\";}s:7:\"tabeven\";a:3:{s:5:\"title\";s:12:\"列表双列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"tabeven\";}s:7:\"details\";a:3:{s:5:\"title\";s:6:\"详情\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"details\";}}s:6:\"db_ids\";a:6:{s:9:\"waterFall\";a:3:{s:5:\"title\";s:9:\"瀑布流\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"waterFall\";}s:9:\"imageList\";a:3:{s:5:\"title\";s:6:\"网格\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:9:\"imageList\";}s:7:\"rowGrid\";a:3:{s:5:\"title\";s:9:\"自适应\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"rowGrid\";}s:6:\"tabodd\";a:3:{s:5:\"title\";s:12:\"列表单列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:6:\"tabodd\";}s:7:\"tabeven\";a:3:{s:5:\"title\";s:12:\"列表双列\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"tabeven\";}s:7:\"details\";a:3:{s:5:\"title\";s:6:\"详情\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:7:\"details\";}}s:10:\"manual_rec\";a:7:{s:3:\"one\";a:4:{s:5:\"title\";s:18:\"单排文字居中\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:3:\"one\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:3:\"two\";a:4:{s:5:\"title\";s:18:\"单排文字居下\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"two\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:5:\"three\";a:4:{s:5:\"title\";s:18:\"单排图外文字\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"three\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:4:\"four\";a:4:{s:5:\"title\";s:18:\"双排文字居中\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"four\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:4:\"five\";a:4:{s:5:\"title\";s:18:\"双排文字居下\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:4:\"five\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:3:\"six\";a:4:{s:5:\"title\";s:18:\"双排图外文字\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:3:\"six\";s:4:\"size\";a:3:{i:0;a:3:{s:5:\"title\";s:8:\"266×182\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:9:\"rectangle\";}i:1;a:3:{s:5:\"title\";s:8:\"266×400\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:8:\"vertical\";}i:2;a:3:{s:5:\"title\";s:8:\"266×266\";s:7:\"default\";s:4:\"true\";s:5:\"value\";s:6:\"square\";}}}s:5:\"seven\";a:3:{s:5:\"title\";s:18:\"大图小图混排\";s:7:\"default\";s:5:\"false\";s:5:\"value\";s:5:\"seven\";}}}', 'fashion', 1706533040); INSERT INTO `dzz_search_template`(`tid`, `title`, `data`, `screen`, `pagesetting`, `searchRange`, `exts`, `dateline`, `disp`) VALUES (3, '音频', '', '[{\"key\":\"ext\",\"label\":\"\\u7c7b\\u578b\"},{\"key\":\"tag\",\"label\":\"\\u6807\\u7b7e\",\"group\":\"\",\"auto\":\"0\",\"sort\":\"hot\"},{\"key\":\"duration\",\"label\":\"\\u65f6\\u957f\"}]', '{\"layout\":\"imageList\",\"display\":[\"name\",\"extension\"],\"other\":\"btime\",\"sort\":\"btime\",\"desc\":\"desc\",\"opentype\":\"current\",\"filterstyle\":\"1\"}', '', 'wav,ogg,mp3,m4a,flac,aac,ape,aiff,amr', 1709696619, 3), diff --git a/misc/createthumb.php b/misc/createthumb.php index 66b5ad0..bdb10f5 100644 --- a/misc/createthumb.php +++ b/misc/createthumb.php @@ -13,19 +13,44 @@ ini_set('memory_limit', -1); $ridarr = isset($_GET['rids']) ? $_GET['rids']:[]; if(!$ridarr) exit(json_encode(['success'=>true,'data'=>false])); +$cachename = 'PICHOMETHUMBSTATUS'; +$thumbstatus = C::t('cache')->fetch_cachedata_by_cachename($cachename); +if (!$thumbstatus) { + $thunbdata = []; + foreach(DB::fetch_all("select id,bz,imagestatus from %t where 1",array('connect_storage')) as $v){ + if($v['bz'] == 'dzz'){ + $key = $v['bz'].'::'; + }else{ + $key = $v['bz'].':'.$v['id'].':'; + } + $thunbdata[$key] = intval($v['imagestatus']); + } + $setarr = ['cachekey' => $cachename, 'cachevalue' => serialize($thunbdata), 'dateline' => time()]; + C::t('cache')->insert_cachedata_by_cachename($setarr); +} else { + $thunbdata = $thumbstatus; +} + +$thumbstate = 0; +foreach($thunbdata as $v){ + if($v) $thumbstate = 1; +} +if(!$thumbstate) exit(json_encode(['success'=>true,'data'=>false])); $data = []; $needcreate = []; $hasrecordrids = []; $thumbrecorddata = []; foreach(DB::fetch_all("select * from %t where rid in(%n) order by stimes",array('thumb_record',$ridarr)) as $v){ if($v['sstatus']){ - $data[$v['rid']][] = getglobal('siteurl').IO::getFileUri($v['spath']); + $uri = IO::getFileUri($v['spath']); + $data[$v['rid']][] = preg_match( '/^http(s)?:\\/\\/.+/',$uri) ? $uri:getglobal('siteurl').$uri; }else{ $needcreate[] = $v['rid']; } $hasrecordrids[] = $v['rid']; $thumbrecorddata[$v['rid']] = $v; } + $diff = array_diff($ridarr,$hasrecordrids); if($diff) $needcreate = array_merge($diff,$needcreate); if(count($needcreate)>=$limit) $needcreate=array_splice($needcreate,0,$limit);