Discuz6.0版本在禁用了积分或道具之后发现用户注册过程中出错,注册不了。
临时解决方法:在regist.php文件的第310行加入这个语句就行了。
- if($initcredits=='Array'){
- $initcredits="0,0,0,0,0,0,0,0,0";
- }
多国语言版本开发
找到include/global.php这个文件找到language这个函数修改如下
- function language($file, $templateid = 0, $tpldir = '') {
- $tpldir = $tpldir ? $tpldir : TPLDIR;
- $templateid = $templateid ? $templateid : TEMPLATEID;
- //黄建文2008-09-12修改开始,增加语言选择
- if(isset($_COOKIE['language'])){
- switch($_COOKIE['language']){
- case "zh-cn":
- $languagepack = DISCUZ_ROOT.'./'.$tpldir.'/'.$file.'.lang.php';
- break;
- case "zh-tw":
- $languagepack = DISCUZ_ROOT.'./'.$tpldir.'/tw/'.$file.'.lang.php';
- break;
- case "en":
- $languagepack = DISCUZ_ROOT.'./'.$tpldir.'/en/'.$file.'.lang.php';
- break;
- default:
- $languagepack = DISCUZ_ROOT.'./'.$tpldir.'/'.$file.'.lang.php';
- }
- }else{
- preg_match('/^([a-z-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);
- $lang = $matches[1];
- if($lang=='zh-cn' or $lang=='zh'){
- $languagepack = DISCUZ_ROOT.'./'.$tpldir.'/'.$file.'.lang.php';
- }elseif($lang=='zh-tw' or $lang=='zh-hk' or $lang=='zh-sg'){
- $languagepack = DISCUZ_ROOT.'./'.$tpldir.'/tw/'.$file.'.lang.php';
- }else{
- $languagepack = DISCUZ_ROOT.'./'.$tpldir.'/en/'.$file.'.lang.php';
- }
- }
- //黄建文2008-09-12修改结束 ;增加语言选择
- if(file_exists($languagepack)) {
- return $languagepack;
- } elseif($templateid != 1 && $tpldir != './templates/default') {
- return language($file, 1, './templates/default');
- } else {
- return FALSE;
- }
- }
discuz为了减轻服务器的负担,设置了只有当HTML模块有修改时才会更新缓存,所以除了修改语言文件之外还要让他实时的更新缓存。把template修改成下面的语句就可以实现了。
- function template($file, $templateid = 0, $tpldir = '') {
- global $tplrefresh, $inajax;
- $file .= $inajax && ($file == 'header' || $file == 'footer') ? '_ajax' : '';
- $tpldir = $tpldir ? $tpldir : TPLDIR;
- $templateid = $templateid ? $templateid : TEMPLATEID;
- $tplfile = DISCUZ_ROOT.'./'.$tpldir.'/'.$file.'.htm';
- $objfile = DISCUZ_ROOT.'./forumdata/templates/'.$templateid.'_'.$file.'.tpl.php';
- if(TEMPLATEID != 1 && $templateid != 1 && !file_exists($tplfile)) {
- return template($file, 1, './templates/default/');
- }
- //黄建文2008-09-12修改,把IF条件注释掉可以实现实时更新数语言包的缓存,这样才可以实现语言之间的切换
- if(!defined('IN_ADMINCP')){
- require_once DISCUZ_ROOT.'./include/template.func.php';
- parse_template($file, $templateid, $tpldir);
- }else{
- if($tplrefresh == 1 || ($tplrefresh > 1 && substr($GLOBALS['timestamp'], -1) > $tplrefresh)) {
- if(@filemtime($tplfile) > @filemtime($objfile)) {
- require_once DISCUZ_ROOT.'./include/template.func.php';
- parse_template($file, $templateid, $tpldir);
- }
- }
- }
- return $objfile;
- }