先贴个截图,比较毛糙,有BUG或者其他问题,请回复

使用方法:
首先修改编辑器_editor.htm :
查找
- //自定义按扭显示
- if(!undefined(custombbcodes)) {
- if (custombbcodes.length > 0){
- document.writeln('<td><img src="editor/images/separator.gif" width="6" height="23"></td>');
- for (var i = 0; i < custombbcodes.length; i++){
- document.writeln('<td><div class="editor_buttonnormal" id="posteditor_cmd_custom' + custombbcodes[i][5] + '_' + i + '" onClick="discuzcode(\'custom' + custombbcodes[i][5] + '_' + i/*custombbcodes[i][0]*/ + '\')" onMouseOver="buttonContext(this, \'mouseover\')" onMouseOut="buttonContext(this, \'mouseout\')"><img title="' + custombbcodes[i][2] + '" alt="' + custombbcodes[i][2] + '" src = "editor/images/' + custombbcodes[i][1] + '" width="21" height="20"></div></td>');
- }
- }
- }
- </script>
复制代码在下面加上:
- <!-- //手写板开始! -->
- <td><div class="editor_buttonnormal" id="posteditor_cmd_writer"> <a href="http://boylee.net" onclick="spwhitepad();return false;"><img src="spwhitepad/whitepad_icon.gif" border="0" alt="手写板"></a></div>
- <script language="JavaScript">
- function spwhitepad(){
- var win = window.open("spwhitepad/editor.htm?name=message","spwhitepadeditor","width=420,height=340,left=200,top=50,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
- win.focus();
- }
- </script>
- </td>
- <!-- //手写板结束! -->
复制代码生成_editor,postreply,posttopic
然后:
1.将spwhitepad文件夹放到论坛根目录
2.将Discuz.Plugin.Writer.dll文件拷贝到BIN文件夹里
3.将showtopic.aspx拷贝到论坛根目录/aspx/1/下(我在默认风格下改的)
如果不是默认风格,其他风格的自己修改吧.
1.把模板showtopic.htm顶部加上 <%namespace Discuz.Plugin%>
2.查找(其实就是最上面那几行)
- <script type="text/javascript">
- var templatepath = "{templatepath}";
- var postminchars = parseInt({config.minpostsize});
- var postmaxchars = parseInt({config.maxpostsize});
- var disablepostctrl = parseInt({disablepostctrl});
- </script>
复制代码在下面加上:
- <script tyle="text/javascript" language="javascript" src="spwhitepad/createShapes.js"></script>
复制代码3.生成showtopic.
4.查找aspx/你风格生成那个文件夹/showtopic.aspx,在其中查找post["message"].ToString().Trim(),并替换为:
- Writer.whitepad(post["message"].ToString().Trim() ,loopi)
复制代码 注意:如果你是老风格升级而来的自定义的风格,变量可能不是loopi,而是post__loop__id,具体的请看自己模版中的变量名.之所以没有模版中直接生成,好象是双参数的函数生成会出错,只好麻烦大家手动修改
所见即所得方式下返回代码修正,感谢"俺踏月色而来"修改
在WYSWYG模式下不能正确返回编辑代码,修改\spwhitepad\editor.htm,函数returnVal变为如下代码:- function returnVal(){
- var code=make_code();
- if(code){
- try{
- //var name = getQueryString('name',window.location.href);
- //var obj = window.opener.document.getElementsByName(name)[0];
- window.opener.insertText('[whitepad]'+code+'[/whitepad]');
- //insertAtCaret(obj,'[whitepad]'+code+'[/whitepad]');
- }catch(e){
- document.getElementById('value_codetext').value = '[whitepad]'+code+'[/whitepad]';
- codeTableShow(1);
- alert("找不到输入框,返回失败.");
- return false;
- }
- }
- window.close();
- }
复制代码 即可,这时候参数实际也就没用了。.net framework 2.0版本插件
附件: spwhitepad.rar (2007/5/29 15:19:16, 26.07 K)
该附件被下载次数 666
.net framework 2.0的请再下载下面的DLL,更新修复一个楼层内两幅画的BUG.详见24楼
点击下载.net framework 1.1的请下载1.1版本的插件,详见26楼点击下载源代码很简单.手写板是下的纯粹空间的那个,我只是小做修改使DNT能用,如下:
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Text.RegularExpressions;
- namespace Discuz.Plugin
- {
- public class Writer
- {
- public static string whitepad(string str, int i)
- {
- Regex r;
- Match m;
- int j = 0;
- r = new Regex(@"(\[whitepad\])([ \S]*?)(\[\/whitepad\])", RegexOptions.IgnoreCase | RegexOptions.Singleline);
- for (m = r.Match(str); m.Success; m = m.NextMatch())
- {
- str = str.Replace(m.Groups[0].ToString(), "<br \\><input type=\"hidden\" id=\"value_spwhitepad_" + i + "_" + j + "\" value=\"" + m.Groups[2].ToString() + "\"><iframe src=\"spwhitepad/show.htm\" name=\"spwhitepad_" + i + "_" + j + "\" frameborder=\"0\" style=\"width:400px;height:200px;margin:5px;border:1px dashed #CCCCCC;\" scrolling=\"no\"></iframe><br \\>");
- j++;
- }
- return str;
- }
- }
- }
复制代码 广告时间:我自己的AD欢迎访问我的个人博客 BoyLee's Blog {卡西莫多}私人志 http://boylee.netDST官方的AD