存档

文章标签 ‘discuz7’

迁移drupal用户到discuz7(ucenter)

2009年2月27日
1,236 views 3 条评论

extjs.org.cn是用drupal来做论坛的,真他妈的不好用了. 被逼无耐,只好安装了个现在国内最多人使用,功能强大的discuz7.现在问题来了,以前的注册用户你总不能让用户再注册一次吧?没有办法,只能把原来drupal上的所有注册用户都迁移到discuz7上.

由于我的论坛跟drupal在同一个服务器,只是在不同的数据库服务器上,操作办法非常简单.只需一条sql语言即可搞定.

在导入用户之前你必须了解discuz7(ucenter)用户的加密算法.

discuz7(ucenter)用户的加密算法: md5密码后,再加上一个随机6位数,再md5一次.如下sql

1
SELECT md5(concat(md5('mypassword'),'extjs.')) AS pass

‘mypassword’ 为用户密码,’extjs.’为随机的6位数(其实不一定要随机,只要6位就可以了).

完整的迁移用户名密码的sql如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
INSERT INTO discuz7.cdb_uc_members 
	( 
	username, 
	password, 
	email, 
	myid, 
	myidkey, 
	regip, 
	regdate, 
	lastloginip, 
	lastlogintime, 
	salt, 
	secques
	)
SELECT name,md5(concat(pass,'extjs.')) AS pass
	,mail,'','','hidden',created,0,0,'extjs.',''
FROM drupal.users WHERE name != 'fatjames' AND name!= 'extjs.org.cn'

DataBase, 网站应用 , , ,

安装设置Discuz7 源代码高亮

2009年2月24日
1,438 views 1 条评论

经过几个小时的苦战,终于搞定了Discuz7.0的源代码高亮了.还是要呼吁康盛创想能提供这个功能.当然还是要借助强大的SyntaxHighlighter来做了.请一定要下载(GBK版本,UTF8版)这个修改过的,否则会出现换行符.
效果图如下:

discuz7代码高亮

discuz7代码高亮

修改文件:
1./templates/default/discuzcode.htm(修改代码框展现样式)
2./templates/你的风格/header.htm (增加dp.SyntaxHighlighter脚本)
3./templates/你的风格/foot.htm (增加dp.SyntaxHighlighter脚本)
4./include/discuzcode.func.php(修改代码语法标签的解析)
5./include/js/post.js(修改代码语法标签的插入命令)
具体安装:
一./templates/default/discuzcode.htm(修改代码框展现样式)
查找:
function tpl_codedisp($discuzcodes, $code) {
}–>
<!–{block return}–><div class=”blockcode”><div id=”code$discuzcodes[codecount]“><ol><li>$code</ol></div><em onclick=”copycode($(‘code$discuzcodes[codecount]‘));”>{lang discuzcode_copyclipboard}</em></div><!–{/block}–>
<!–{eval return $return;}–>
<!–{eval
}
在这个函数的前面增加:
function tpl_codecsh($discuzcodes, $code, $lang) {
}–>
<!–{block return}–><code id=”code$discuzcodes[codecount]“><pre name=”code” class=”$lang”>$code</pre></code><!–{/block}–>
<!–{eval return $return;}–>
<!–{eval
}
二./templates/你的风格/header.htm (增加dp.SyntaxHighlighter脚本)
在</head>前添加:
<link href=”plugins/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css” type=”text/css” rel=”stylesheet” />
<script src=”plugins/dp.SyntaxHighlighter/Scripts/shCore.js” type=”text/javascript”></script>
<script class=”javascript”>
dp.SyntaxHighlighter.ClipboardSwf = ‘plugins/dp.SyntaxHighlighter/Scripts/clipboard.swf’;
</script>
三.打开/templates/你的风格/foot.htm (增加dp.SyntaxHighlighter脚本)
在</body>前添加:
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shCore.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushCode.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushCSharp.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushPhp.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushJScript.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushJava.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushVb.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushSql.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushXml.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushDelphi.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushPython.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushRuby.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushCss.js”></script>
<script class=”javascript” src=”plugins/dp.SyntaxHighlighter/Scripts/shBrushCpp.js”></script>
<script class=”javascript”>
dp.SyntaxHighlighter.ClipboardSwf = ‘plugins/dp.SyntaxHighlighter/Scripts/clipboard.swf’;
dp.SyntaxHighlighter.HighlightAll(‘code’);
</script>
四./include/discuzcode.func.php(修改代码语法标签的解析)
查找:
function codedisp($code)
在其下添加一个函数:
function codedpdisp($code, $lang) {
global $discuzcodes;
$discuzcodes['pcodecount']++;
$code = htmlspecialchars(str_replace(‘\\”‘, ‘”‘, preg_replace(“/^[\n\r]*(.+?)[\n\r]*$/is”, “\\1″, $code)));
$discuzcodes['codehtml'][$discuzcodes['pcodecount']] = tpl_codecsh($discuzcodes, $code, $lang);
$discuzcodes['codecount']++;
return “[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]”;
}
查找:
$message = preg_replace(“/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
在其上增加:
$message = preg_replace("/\s*\[code=\"(php|xhtml|sql|js|css|xml|html|jscript|javascript|cpp|c|c++|c#|c-sharp|csharp|delphi|pascal|java|py|python|ruby|rails|ror|vb|vb.net|xslt){1}\"\](.+?)\[\/code\]\s*/ies", "codedpdisp('\\2', '\\1')", $message);
查找:
return $htmlon ? $message : nl2br(str_replace(array("\t", '   ', '  '), array('&nbsp; &nbsp; &nbsp; &nbsp; ', '&nbsp; &nbsp;', '&nbsp;&nbsp;'), $message));
替换为:
    $message = $htmlon ? $message : nl2br(str_replace(array("\t", '   ', '  '), array('&nbsp; &nbsp; &nbsp; &nbsp; ', '&nbsp; &nbsp;', '&nbsp;&nbsp;'), $message));
    for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
        $message = str_replace("[\tDISCUZ_CODE_$i\t]", $discuzcodes['codehtml'][$i], $message);
}
    return $message;
(注意:上面的替换其他人的好像和我的不一样.这个替换只供参照)
五./include/javascript/post.js(修改代码语法标签的插入命令)
查找:
</textarea>';
在其下增加:
if (cmd == 'code') {
                str += '<br />Lang: <select id="' + ctrlid + '_param_2">'
     + '<option value="">Choose Language</option>'
                    + '<option value="php">php</option>'
                    + '<option value="xhtml">xhtml</option>'
                    + '<option value="sql">sql</option>'
                    + '<option value="js">js</option>'
                    + '<option value="css">css</option>'
                    + '<option value="xml">xml</option>'
                    + '<option value="html">html</option>'
                    + '<option value="jscript">jscript</option>'
                    + '<option value="javascript">javascript</option>'
                    + '<option value="cpp">cpp</option>'
                    + '<option value="c">c</option>'
                    + '<option value="c++">c++</option>'
                    + '<option value="c#">c#</option>'
                    + '<option value="c-sharp">c-sharp</option>'
                    + '<option value="csharp">csharp</option>'
                    + '<option value="delphi">delphi</option>'
                    + '<option value="pascal">pascal</option>'
                    + '<option value="java">java</option>'
                    + '<option value="py">py</option>'
                    + '<option value="python">python</option>'
                    + '<option value="ruby">ruby</option>'
                    + '<option value="rails">rails</option>'
                    + '<option value="ror">ror</option>'
                    + '<option value="vb">vb</option>'
                    + '<option value="vb.net">vb.net</option>'
                    + '<option value="xslt">xslt</option>'
                    + '</select>';
            }
查找:
if(wysiwyg) {
    if(cmd == 'code') {
     text = preg_replace(['<', '>'], ['&lt;', '&gt;'], text);
    }
    text = text.replace(/\r?\n/g, '<br />');
   }
下面添加:
if (cmd == 'code' && $(ctrlid + '_param_2').value != '') {
                opentag = '[code="' + $(ctrlid + '_param_2').value + '"]';
                text = "\n" + text + "\n";
            }

 

作者: 果子
原文地址: http://www.delphires.com/home/space.php?uid=1&do=blog&id=25

网站应用 ,