Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] (增加演示站)DZ7.0正式版远程图片本地化插件(修改自scckfzx的全局钩子版本)

[复制链接]
cctext 发表于 2009-1-18 21:49:05 | 显示全部楼层 |阅读模式
插件发布
插件名称: DZ7.0正式版远程图片本地化插件(修改自scckfzx的全局钩子版本)
插件来源:
适用版本: Discuz! 7.0
语言编码: GBK简体 
最后更新时间:
插件作者: scckfzx
插件简介: 适用版本Discuz!7.0正式版本。
此插件是很多论坛朋友都需要的功能,但discuz考虑到安全及布局问题,始终没有为广大站长提供此功能。为此一起买主机团购网为大家做了这个插件,此插件采用官方推荐的钩子方式。安装方便,卸载方便干净,系统升级方便希望能方便广大网友。但您在使用此插件前必须清楚可能存在的风险,正如discuz所说,让一个普通的用户任意下载远程文件到服务器上对服务器的安全绝对是一大挑战,因此您务必要小心。
本插件可以下载目前大部分图片文件,默认是不支持无图片后缀的图片文件下载,如新浪博客图片就没有后缀,大家可以去看看,但为了一起买主机团购网下一步DISCUZ自动采集、内容发布插件的开发,在此还是为站长提供了此功能,你可以在./plugins/17buyhost/17buyhost.inc.php 文件中找到一段关于图片获取的正则说明,说明中有两种正则表达式,另外一种就是可以下载新浪等无图片后缀的图片文件,你只要用另外一种正则代替当前正则就可以了。出于安全考虑,不建议你这么做。我们会针对权限控制进行升级,当然你们也可以自己升级。
另httpdown.class.php是一个比较完整的HTTP下载类,大家可以用来用PHP下载除脚本之外的任何文件。
本帖最后由 cctext 于 2009-1-21 21:41 编辑

对了,大家去测试不要发太大的图片啊。。快没空间了。。。手下留情。。最晚25号关闭测试。。最早可能很快。。。
2009-01-21增加演示站点:http://www.z7z8.info/thread-1-1-1.html ,你可以注册发贴,我临时建的测试站点。
论坛程序版本 Discuz! 7.0.0 Release 20081224 查看最新版本 专业支持与服务 Discuz!专用主机
UCenter 客户端版本 UCenter 1.5.0 Release 20081224
说明:这个演示站是刚刚新装的,插件和修改文件是直接从下面附件下载的,演示的这个贴是非静态化是发的,现在静态化了,大家可以去测试,也是没问题的。有问题的朋友自己先检查下吧。。。或者等scckfzx出新版本


补充:有人说用了发帖都发不了,这几天我没有用自己的电脑,登陆不了FTP,改天我重新测试下。另外,直接下载原帖的插件按下面的方法安装一样可用,只是不支持[img=11,111]这样有宽度的图片的本地化。如果一样有问题,那就是自己论坛或者自己安装的问题了。
再补充我修改了插件的内容:
我仅修改了第15行的preg_match_all("/(src|SRC|\[img\])=?[\"|'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png)(\[\/img\])?)/isU",$body,$img_array);

preg_match_all("/(src|SRC|\[img\])=?[\"|'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png)(\[\/img\])?)/isU",$body,$img_array);
增加了一个正则判断;
还有16行:$img_array = array_unique($img_array[2]); 改为:$img_array = array_unique($img_array[3]);
修改了数组数量。
我检查了附件,没有传错,应该不会有问题的,DZ原文件你可以手工修改,不用我的,除非原插件有bug或者自己安装错误,否则绝对不会出问题的。


我发现这插件是scckfzx发布,原帖:
https://discuz.dismall.com/thread-1021033-1-1.html


修改实现了[img=11,111]这样有宽度的图片一样可以本地化,不过无后缀和水印功能,因为能力问题,还在研究。
仅适用于gbk版,utf版请自行转码


我从7.0重新导出的,不知导入会不会有版本错误,如果有选中:允许导入不同版本 Discuz! 的插件(易产生错误!!) 就可以了。

下面是scckfzx对此插件的介绍:
简介:     
        适用版本discuz6.1.0版本。
        此插件是很多论坛朋友都需要的功能,但discuz考虑到安全及布局问题,始终没有为广大站长提供此功能。为此一起买主机团购网为大家做了这个插件,此插件采用官方推荐的钩子方式。安装方便,卸载方便干净,系统升级方便希望能方便广大网友。但您在使用此插件前必须清楚可能存在的风险,正如discuz所说,让一个普通的用户任意下载远程文件到服务器上对服务器的安全绝对是一大挑战,因此您务必要小心。
     本插件可以下载目前大部分图片文件,默认是不支持无图片后缀的图片文件下载,如新浪博客图片就没有后缀,大家可以去看看,但为了一起买主机团购网下一步DISCUZ自动采集、内容发布插件的开发,在此还是为站长提供了此功能,你可以在./plugins/17buyhost/17buyhost.inc.php 文件中找到一段关于图片获取的正则说明,说明中有两种正则表达式,另外一种就是可以下载新浪等无图片后缀的图片文件,你只要用另外一种正则代替当前正则就可以了。出于安全考虑,不建议你这么做。我们会针对权限控制进行升级,当然你们也可以自己升级。
另httpdown.class.php是一个比较完整的HTTP下载类,大家可以用来用PHP下载除脚本之外的任何文件。



下面是7.0的安装方法:
安装:
1、将17buyhost文件夹拷贝到plugins目录下。进入后台-->扩展-->导入-->/plugins/17buyhost/discuz_plugin_picture.txt导入。


2、打开include/newreply.inc.php在约229行找到
  1. $pinvisible = $modnewreplies ? -2 : 0;
复制代码
在其后面插入
  1. eval($hooks['picture_down']);
复制代码
保存。

3、打开include/newthread.inc.php在约364行找到
  1. $pinvisible = $modnewthreads ? -2 : 0;
复制代码
在其后面插入
  1. eval($hooks['picture_down']);
复制代码
保存。

安装完成。


另外需要编辑时也实现图片本地化的话 :
由于安装此插件后发过的帖子的图片都是本地化的了,如果在编辑中在运行插件的话等于无谓的消耗了系统资源.因此插件没在这挂钩子,但如果,如果安装插件之前论坛已经有很多图片是远程的话,你可以通过下面的办法,采用编辑的方式重新保存一下就可以本地化了.
include/editpost.inc.php  中约765行
  1. $message = preg_replace('/\[attachimg\](\d+)\[\/attachimg\]/is', '[attach]\1[/attach]', $message);
复制代码
后加上
  1. eval($hooks['picture_down']);
复制代码
等图片本地化了之后把这句在删除.可以节约系统资源.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| cctext 发表于 2009-1-18 21:50:48 | 显示全部楼层
我第一个插件大家多多支持,虽然只是小修改,呵呵
回复

使用道具 举报

daxingplay 发表于 2009-1-18 22:00:19 | 显示全部楼层
支持下~呵呵。不知道是否影响速度。
回复

使用道具 举报

winstear 发表于 2009-1-18 22:57:40 | 显示全部楼层
不错,但安全性有一定威胁。适合有一定基础的人使用撒
回复

使用道具 举报

otavis 发表于 2009-1-18 23:30:39 | 显示全部楼层
支持下,先研究考虑下装不装
回复

使用道具 举报

xxwlnet001 发表于 2009-1-18 23:33:08 | 显示全部楼层
支持下,先研究考虑下装不装
回复

使用道具 举报

C.c 发表于 2009-1-19 13:40:31 | 显示全部楼层
测试中。。
回复

使用道具 举报

C.c 发表于 2009-1-19 21:37:38 | 显示全部楼层
楼主测试过么....
装了后发帖都有问题 别话本地化了
回复

使用道具 举报

 楼主| cctext 发表于 2009-1-19 22:24:15 | 显示全部楼层
本帖最后由 cctext 于 2009-1-19 23:06 编辑
楼主测试过么....
装了后发帖都有问题 别话本地化了
C.c 发表于 2009-1-19 21:37



我的站没有问题。。而且根据我修改时测试结果来看,就算安装不成功,也只是无法实现插件功能,不会对原功能产生影响,插件间冲突除外。。
我的论坛是刚升级到7.0的干净的论坛,没有其他任何插件。
因为我的站还在调试UCH,升级SS,论坛关闭注册了,暂时不方便给演示,我在本地测试和服务器上应用都没问题的
回复

使用道具 举报

 楼主| cctext 发表于 2009-1-19 22:34:53 | 显示全部楼层
还有,请注意编码,我在上面的说明说得很清楚了的,只适用于gbk编码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-20 13:32 , Processed in 0.036090 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表