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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

X2中修改允许添加file本地文件传输协议超链

[复制链接]
vinsonwang 发表于 2011-4-1 14:56:47 | 显示全部楼层 |阅读模式
本帖最后由 vinsonwang 于 2011-4-1 15:04 编辑


*************************************************
** 本教程基于版本:Discuz! X 2.0 &Discuz!X1.5**
*************************************************

file本地文件传输协议,主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。Discuz!X1.0时内置过此传输协议,但是考虑到Discuz!X2.0及Discuz!X1.5主要被应用在能被外网访问的服务器上,所以去掉了此功能。现在有些站长提出自己使用Discuz!X系列产品是引用在公司内网,供内部交流使用,在发一些资料文档时,加一些file本地文件链接,但file本地文件传输协议在Discuz!X1.5及Discuz!X2.0中失效,现在写些修改方法,提供给需要在内网使用Discuz!X系列版本产品的用户。下面以Discuz!X2.0为例,介绍修改方法:

找到source\class\class_bbcode.php文件,大约36行,
  1. "/\[url\]\s*(https?:\/\/|ftp:\/\/|gopher:\/\/|news:\/\/|telnet:\/\/|rtsp:\/\/|mms:\/\/|callto:\/\/|ed2k:\/\/){1}([^\["']+?)\s*\[\/url\]/i",
复制代码
在|ftp:\/\/|后面加上file:\/\/|;

大约第60行,
  1. return preg_replace("/(?<=[^\]a-z0-9-="'\\/])((https?|ftp|gopher|news|telnet|mms|rtsp):\/\/)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+)/i", "[url]\\1\\3[/url]", ' '.$message);
复制代码
在|ftp|后面加上file|;

大约97行,
  1. if(!in_array(strtolower(substr($url, 0, 6)), array('http:/', 'https:', 'ftp://', 'rtsp:/', 'mms://'))) {
复制代码
在'http:/',后面加上'file://',;

找到\source\function\function_core.php文件,大约2689行,
  1. if(preg_match_all("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto):\/\/|www\.)([a-z0-9\/\-_+=.~!%@?#%&;:$\\()|]+\s*)/i", $message, $urllist)) {
复制代码
在|ftp|后面加上file|;
找到\source\function\function_discuzcode.php文件,大约100行处,

  1. "/\[url(=((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.|mailto:)?([^\s\["']+?))?\](.+?)\[\/url\]/ies", "parseurl('\\1', '\\5', '\\2')", $message);
复制代码
在|ftp|后面加上file|;

大约237行,
  1. if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\["']+/i", trim($text), $matches))
复制代码
在|ftp|后面加上file|;

大约405行,
  1. if(!in_array(strtolower(substr($url, 0, 6)), array('http:/', 'https:', 'ftp://', 'rtsp:/', 'mms://')) && !preg_match('/^static\//', $url))
复制代码
在'http:/',后面加上'file://',。

这些位置修的改完,只适用于论坛发主题时使用,这样修改完后,内网用户发本地文件超链接,就会直接打开了。



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

本版积分规则

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

GMT+8, 2024-5-7 07:03 , Processed in 0.148297 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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