Jelajahi Sumber

支持采集时,不同资源站,独立配置同步图片选项

magicblack 4 tahun lalu
induk
melakukan
ca4391bfc1

+ 4 - 4
application/admin/view/collect/index.html

@@ -49,11 +49,11 @@
                 <td>{$vo.collect_id}</td>
                 <td>{if condition="$vo['collect_type'] eq 1"}xml{else/}json{/if} </td>
                 <td>{$vo.collect_mid|mac_get_mid_text}</td>
-                <td><a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'list','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="进入资源库">【{$vo.collect_name}】{$vo.collect_url}</a></td>
+                <td><a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'list','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'sync_pic_opt'=>$vo.collect_sync_pic_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="进入资源库">【{$vo.collect_name}】{$vo.collect_url}</a></td>
                 <td>
-                    <a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'24','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="采集当天">采集当天</a>
-                    <a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'168','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="采集本周">采集本周</a>
-                    <a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="采集所有">采集所有</a>
+                    <a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'24','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'sync_pic_opt'=>$vo.collect_sync_pic_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="采集当天">采集当天</a>
+                    <a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'168','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'sync_pic_opt'=>$vo.collect_sync_pic_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="采集本周">采集本周</a>
+                    <a class="layui-badge-rim" href="{:url('api')}?{:http_build_query(['ac'=>'cj','cjflag'=>md5($vo.collect_url),'cjurl'=>$vo.collect_url,'h'=>'','t'=>'','ids'=>'','wd'=>'','type'=>$vo.collect_type,'mid'=>$vo.collect_mid,'opt'=>$vo.collect_opt,'sync_pic_opt'=>$vo.collect_sync_pic_opt,'filter'=>$vo.collect_filter,'filter_from'=>$vo.collect_filter_from,'param'=>base64_encode($vo.collect_param)])}" title="采集所有">采集所有</a>
                 </td>
                 <td>
                     <a class="layui-badge-rim j-iframe" data-href="{:url('info?id='.$vo['collect_id'])}" data-width="800px" data-height="610px" href="javascript:;" title="{:lang('edit')}">{:lang('edit')}</a>

+ 10 - 0
application/admin/view/collect/info.html

@@ -67,6 +67,16 @@
             </div>
             <div class="layui-form-mid layui-word-aux" style="margin-left:110px; ">{:lang('admin/collect/filter_code_tip')}</div>
         </div>
+        <div class="layui-form-item row_filer">
+            <label class="layui-form-label">{:lang('pic_sync')}:</label>
+            <div class="layui-input-block">
+                <input name="collect_sync_pic_opt" type="radio" value="0" title="{:lang('follow_global')}" {if condition="$info['collect_sync_pic_opt'] eq 0"}checked {/if}>
+                <input name="collect_sync_pic_opt" type="radio" value="1" title="{:lang('open')}" {if condition="$info['collect_sync_pic_opt'] eq 1"}checked {/if}>
+                <input name="collect_sync_pic_opt" type="radio" value="2" title="{:lang('close')}" {if condition="$info['collect_sync_pic_opt'] eq 2"}checked {/if}>
+            </div>
+        </div>
+
+        <br>
         <div class="layui-form-item center">
             <div class="layui-input-block">
                 <button class="layui-btn layui-btn-normal" type="button" id="btnTest" >{:lang('test')}</button>

+ 1 - 1
application/common.php

@@ -912,7 +912,7 @@ function mac_rep_pse_syn($psearr,$txt)
 }
 
 function mac_get_tag($title,$content){
-    $url = base64_decode('aHR0cDovL2FwaS5tYWNjbXMubGE=').'/keyword/index?name='.rawurlencode($title).'&txt='.rawurlencode($title).rawurlencode(mac_substring(strip_tags($content),200));
+    $url = base64_decode('aHR0cDovL2FwaS5kcGxheWVyc3RhdGljLmNvbQ==').'/keyword/index?name='.rawurlencode($title).'&txt='.rawurlencode($title).rawurlencode(mac_substring(strip_tags($content),200));
     $data = mac_curl_get($url);
     $json = @json_decode($data,true);
     if($json){

+ 26 - 12
application/common/model/Collect.php

@@ -381,7 +381,15 @@ class Collect extends Base {
         return $res;
     }
 
-    public function syncImages($pic_status,$pic_url,$flag='vod')
+    /**
+     * 同步图片
+     *
+     * @param $pic_status int 是否同步。为1时,同步图片
+     * @param $pic_url
+     * @param string $flag
+     * @return array
+     */
+    private function syncImages($pic_status,$pic_url,$flag='vod')
     {
         if($pic_status == 1){
             $img_url = model('Image')->down_load($pic_url, $GLOBALS['config']['upload'], $flag);
@@ -404,11 +412,12 @@ class Collect extends Base {
     public function vod_data($param,$data,$show=1)
     {
         if($show==1) {
-            mac_echo('[' . __FUNCTION__ . '] ' . lang('model/collect/data_tip1',[$data['page']['page'],$data['page']['pagecount'],$data['page']['url']]));
+            mac_echo('[' . __FUNCTION__ . '] ' . lang('model/collect/data_tip1', [$data['page']['page'],$data['page']['pagecount'],$data['page']['url']]));
         }
 
         $config = config('maccms.collect');
         $config = $config['vod'];
+        $config_sync_pic = $param['sync_pic_opt'] > 0 ? $param['sync_pic_opt'] : $config['pic'];
         $players = config('vodplayer');
         $downers = config('voddowner');
 
@@ -675,7 +684,7 @@ class Collect extends Base {
                             $v['vod_down_note'] = (string)join('$$$', $collect_filter['down'][$param['filter']]['cj_down_note_arr']);
                         }
 
-                        $tmp = $this->syncImages($config['pic'], $v['vod_pic'], 'vod');
+                        $tmp = $this->syncImages($config_sync_pic,  $v['vod_pic'], 'vod');
                         $v['vod_pic'] = mac_filter_xss((string)$tmp['pic']);
                         $msg = $tmp['msg'];
                         $res = model('Vod')->insert($v);
@@ -850,7 +859,7 @@ class Collect extends Base {
                             $update['vod_lang'] = $v['vod_lang'];
                         }
                         if (strpos(',' . $config['uprule'], 'j')!==false && (substr($info["vod_pic"], 0, 4) == "http" || empty($info['vod_pic']) ) && $v['vod_pic']!=$info['vod_pic'] ) {
-                            $tmp = $this->syncImages($config['pic'],$v['vod_pic'],'vod');
+                            $tmp = $this->syncImages($config_sync_pic, $v['vod_pic'],'vod');
                             $update['vod_pic'] = mac_filter_xss((string)$tmp['pic']);
                             $msg =$tmp['msg'];
                         }
@@ -1052,6 +1061,7 @@ class Collect extends Base {
 
         $config = config('maccms.collect');
         $config = $config['art'];
+        $config_sync_pic = $param['sync_pic_opt'] > 0 ? $param['sync_pic_opt'] : $config['pic'];
 
         $type_list = model('Type')->getCache('type_list');
         $filter_arr = explode(',',$config['filter']); $filter_arr = array_filter($filter_arr);
@@ -1163,7 +1173,7 @@ class Collect extends Base {
 
                 $info = model('Art')->where($where)->find();
                 if (!$info) {
-                    $tmp = $this->syncImages($config['pic'],$v['art_pic'],'art');
+                    $tmp = $this->syncImages($config_sync_pic, $v['art_pic'],'art');
                     $v['art_pic'] = mac_filter_xss((string)$tmp['pic']);
 
                     $msg = $tmp['msg'];
@@ -1210,7 +1220,7 @@ class Collect extends Base {
                             }
 
                             if(strpos(','.$config['uprule'],'d')!==false && (substr($info["art_pic"], 0, 4) == "http" || empty($info['art_pic']))  && $v['art_pic']!=$info['art_pic'] ){
-                                $tmp = $this->syncImages($config['pic'],$v['art_pic'],'art');
+                                $tmp = $this->syncImages($config_sync_pic, $v['art_pic'],'art');
                                 $update['art_pic'] = mac_filter_xss((string)$tmp['pic']);
                                 $msg =$tmp['msg'];
                             }
@@ -1378,6 +1388,7 @@ class Collect extends Base {
 
         $config = config('maccms.collect');
         $config = $config['actor'];
+        $config_sync_pic = $param['sync_pic_opt'] > 0 ? $param['sync_pic_opt'] : $config['pic'];
 
         $type_list = model('Type')->getCache('type_list');
         $filter_arr = explode(',',$config['filter']); $filter_arr = array_filter($filter_arr);
@@ -1472,7 +1483,7 @@ class Collect extends Base {
 
                 $info = model('Actor')->where($where)->find();
                 if (!$info) {
-                    $tmp = $this->syncImages($config['pic'],$v['actor_pic'],'actor');
+                    $tmp = $this->syncImages($config_sync_pic, $v['actor_pic'],'actor');
                     $v['actor_pic'] = $tmp['pic'];
                     $msg = $tmp['msg'];
                     $res = model('Actor')->insert($v);
@@ -1508,7 +1519,7 @@ class Collect extends Base {
                                 $update['actor_works'] = $v['actor_works'];
                             }
                             if(strpos(','.$config['uprule'],'e')!==false && (substr($info["actor_pic"], 0, 4) == "http" ||empty($info['actor_pic']) ) && $v['actor_pic']!=$info['actor_pic'] ){
-                                $tmp = $this->syncImages($config['pic'],$v['actor_pic'],'actor');
+                                $tmp = $this->syncImages($config_sync_pic, $v['actor_pic'],'actor');
                                 $update['actor_pic'] =$tmp['pic'];
                                 $msg =$tmp['msg'];
                             }
@@ -1649,6 +1660,7 @@ class Collect extends Base {
 
         $config = config('maccms.collect');
         $config = $config['role'];
+        $config_sync_pic = $param['sync_pic_opt'] > 0 ? $param['sync_pic_opt'] : $config['pic'];
 
         $filter_arr = explode(',',$config['filter']); $filter_arr = array_filter($filter_arr);
         $pse_rnd = explode('#',$config['words']); $pse_rnd = array_filter($pse_rnd);
@@ -1774,7 +1786,7 @@ class Collect extends Base {
                     $where['role_rid'] = $vod_info['vod_id'];
                     $info = model('Role')->where($where)->find();
                     if (!$info) {
-                        $tmp = $this->syncImages($config['pic'], $v['role_pic'], 'role');
+                        $tmp = $this->syncImages($config_sync_pic,  $v['role_pic'], 'role');
                         $v['role_pic'] = $tmp['pic'];
                         $msg = $tmp['msg'];
                         $res = model('Role')->insert($v);
@@ -1804,7 +1816,7 @@ class Collect extends Base {
                                     $update['role_remarks'] = $v['role_remarks'];
                                 }
                                 if (strpos(',' . $config['uprule'], 'c') !== false && (substr($info["role_pic"], 0, 4) == "http" || empty($info['role_pic'])) && $v['role_pic'] != $info['role_pic']) {
-                                    $tmp = $this->syncImages($config['pic'], $v['role_pic'], 'role');
+                                    $tmp = $this->syncImages($config_sync_pic,  $v['role_pic'], 'role');
                                     $update['role_pic'] = $tmp['pic'];
                                     $msg = $tmp['msg'];
                                 }
@@ -1967,6 +1979,7 @@ class Collect extends Base {
 
         $config = config('maccms.collect');
         $config = $config['website'];
+        $config_sync_pic = $param['sync_pic_opt'] > 0 ? $param['sync_pic_opt'] : $config['pic'];
 
         $type_list = model('Type')->getCache('type_list');
         $filter_arr = explode(',',$config['filter']); $filter_arr = array_filter($filter_arr);
@@ -2059,7 +2072,7 @@ class Collect extends Base {
 
                 $info = model('Website')->where($where)->find();
                 if (!$info) {
-                    $tmp = $this->syncImages($config['pic'],$v['website_pic'],'website');
+                    $tmp = $this->syncImages($config_sync_pic, $v['website_pic'],'website');
                     $v['website_pic'] = $tmp['pic'];
                     $msg = $tmp['msg'];
                     $res = model('Website')->insert($v);
@@ -2095,7 +2108,7 @@ class Collect extends Base {
                                 $update['website_jumpurl'] = $v['website_jumpurl'];
                             }
                             if(strpos(','.$config['uprule'],'e')!==false && (substr($info["website_pic"], 0, 4) == "http" ||empty($info['website_pic']) ) && $v['website_pic']!=$info['website_pic'] ){
-                                $tmp = $this->syncImages($config['pic'],$v['website_pic'],'website');
+                                $tmp = $this->syncImages($config_sync_pic, $v['website_pic'],'website');
                                 $update['website_pic'] =$tmp['pic'];
                                 $msg =$tmp['msg'];
                             }
@@ -2236,6 +2249,7 @@ class Collect extends Base {
 
         $config = config('maccms.collect');
         $config = $config['comment'];
+        $config_sync_pic = $param['sync_pic_opt'] > 0 ? $param['sync_pic_opt'] : $config['pic'];
 
         $filter_arr = explode(',',$config['filter']); $filter_arr = array_filter($filter_arr);
         $pse_rnd = explode('#',$config['words']); $pse_rnd = array_filter($pse_rnd);

+ 6 - 1
application/data/update/database.php

@@ -75,4 +75,9 @@ if(empty($col_list[$pre.'plog'])){
 if(empty($col_list[$pre.'cash'])){
     $sql .= "CREATE TABLE `mac_cash` (  `cash_id` int(10) unsigned NOT NULL AUTO_INCREMENT,  `user_id` int(10) unsigned NOT NULL DEFAULT '0',  `cash_status` tinyint(1) unsigned NOT NULL DEFAULT '0',  `cash_points` smallint(6) unsigned NOT NULL DEFAULT '0',  `cash_money` decimal(12,2) unsigned NOT NULL DEFAULT '0.00',  `cash_bank_name` varchar(60) NOT NULL DEFAULT '',  `cash_bank_no` varchar(30) NOT NULL DEFAULT '',  `cash_payee_name` varchar(30) NOT NULL DEFAULT '',  `cash_time` int(10) unsigned NOT NULL DEFAULT '0',  `cash_time_audit` int(10) unsigned NOT NULL DEFAULT '0',  PRIMARY KEY (`cash_id`),  KEY `user_id` (`user_id`),  KEY `cash_status` (`cash_status`) USING BTREE) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;";
     $sql .="\r";
-}
+}
+// 采集时,不同资源站,独立配置同步图片选项
+if(empty($col_list[$pre.'collect']['collect_sync_pic_opt'])){
+    $sql .= "ALTER TABLE `mac_collect` ADD `collect_sync_pic_opt` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '同步图片选项,0-跟随全局,1-开启,2-关闭';";
+    $sql .="\r";
+}

+ 1 - 0
application/install/sql/install.sql

@@ -299,6 +299,7 @@ CREATE TABLE `mac_collect` (
   `collect_filter` tinyint(1) unsigned NOT NULL DEFAULT '0' ,
   `collect_filter_from` varchar(255) NOT NULL DEFAULT '' ,
   `collect_opt` tinyint(1) unsigned NOT NULL DEFAULT '0' ,
+  `collect_sync_pic_opt` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '同步图片选项,0-跟随全局,1-开启,2-关闭',
   PRIMARY KEY (`collect_id`)
 ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ;
 

+ 1 - 2
application/lang/zh-cn.php

@@ -226,7 +226,6 @@ return [
     'birthday'=>'生日',
     'starsign'=>'星座',
     'school'=>'毕业学校',
-    'author'=>'作者',
     'view'=>'查看',
     'multi_set'=>'批量设置',
     'multi_separate_tip'=>'多个用,号分隔',
@@ -283,6 +282,7 @@ return [
     'opt_err'=>'操作失败',
     'update_ok'=>'更新成功',
     'update_err'=>'更新失败',
+    'follow_global'=>'跟随全局',
 
     'btn_save' =>'保 存',
     'btn_reset' =>'还 原',
@@ -1596,7 +1596,6 @@ https://www.baidu.com/123.jpg
     'admin/collect/filter_code_tip'=>'过滤提示:多组地址的资源开启白名单后只会入库指定代码的地址。比如 youku,iqiyi',
     'admin/collect/test_ok'=>'测试类型成功,接口类型',
 
-
     'admin/comment/title'=>'评论管理',
 
     'admin/gbook/title'=>'留言本管理',

+ 1 - 1
application/lang/zh-tw.php

@@ -226,7 +226,6 @@ return [
     'birthday'=>'生日',
     'starsign'=>'星座',
     'school'=>'畢業學校',
-    'author'=>'作者',
     'view'=>'查看',
     'multi_set'=>'批量設置',
     'multi_separate_tip'=>'多個用,號分隔',
@@ -283,6 +282,7 @@ return [
     'opt_err'=>'操作失敗',
     'update_ok'=>'更新成功',
     'update_err'=>'更新失敗',
+    'follow_global'=>'跟隨全局',
 
     'btn_save' =>'保 存',
     'btn_reset' =>'還 原',

+ 1 - 1
说明文档/标签说明.txt

@@ -1019,7 +1019,7 @@ cachetime自定义缓存时间单位秒
 {maccms:website num="10" paging="no" order="asc" by="sort"}
    内部同下方,{$obj.改为{$vo.开头即可
 {/maccms:website}
-=======角色内容页独有标签=======
+=======网址内容页独有标签=======
 {$obj.website_id} 网址id
 {$obj.type_id} 分类id
 {$obj.type_id_1} 一级分类id