dz论坛QQ互联注册必填密码修改

大家都知道,DZ论坛使用QQ注册帐号的时候是不需要填密码的(当然独立密码还是可以再设置的,但是大多用户是不会去设置的),大多数站长觉得这样很不方便。

这样导致很严重的2中情况为:

1、因为不知道密码,用户必须使用QQ互联方式才能登陆论坛。

2、DZ论坛大多是和其他系统整合的,这种方式导致主站或其他整合站无法登陆。

 

我也是第一次使用DZ论坛,调试了好久,其实修改成注册必填密码还是很简单的,改动不大。需要改动2处地方

1、修改QQ互联挂件:source/plugin/qqconnect/template/module.htm。

这个文件里的一段JS把密码输入框隐藏,注释掉即可

<script type="text/javascript">



		<!--{if $_G['setting']['regconnect']}-->



			$('reginfo_a').parentNode.className = '';



			//$('{$_G['setting']['reginput']['password']}').parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';



			$('{$_G['setting']['reginput']['username']}').outerHTML += '$js1';



			//$('{$_G['setting']['reginput']['password']}').required = 0;



			//$('{$_G['setting']['reginput']['password2']}').parentNode.parentNode.parentNode.parentNode.parentNode.style.display = 'none';



			//$('{$_G['setting']['reginput']['password2']}').required = 0;



			$('main_hnav').outerHTML = '$js2';



			function connect_switch(op) {



				$('returnmessage4').className='';



				$('returnmessage4').innerHTML='';



				if(op == 1) {



					$('loginform_$loginhash').style.display='none';$('registerform').style.display='block';$('connect_member_register_tip').style.display='block';$('connect_member_loginbind_tip').style.display='none';<!--{if $_G['setting']['regconnect']}-->$('connect_tab_1').className='a';$('connect_tab_2').className='';<!--{/if}-->



				} else {



					$('loginform_$loginhash').style.display='block';$('registerform').style.display='none';$('connect_member_register_tip').style.display='none';$('connect_member_loginbind_tip').style.display='block';<!--{if $_G['setting']['regconnect']}-->$('connect_tab_1').className='';$('connect_tab_2').className='a';<!--{/if}-->



				}



			}



			function connect_use_available(value) {



				$('{$_G['setting']['reginput']['username']}').value = value;



				checkusername(value);



			}



			<!--{if !$_G['setting']['regconnect']}-->



				_attachEvent(window, 'load', function () { connect_switch(2); }, document);



			<!--{/if}-->



			<!--{if $_G['qc']['uinlimit']}-->



				$('registerformsubmit').disabled = true;



			<!--{/if}-->



			<!--{if $first_available_username}-->



				$('{$_G['setting']['reginput']['username']}').value = '$first_available_username';



			<!--{/if}-->



			$('{$_G['setting']['reginput']['email']}').value = '$connect_email';



			<!--{if $_G[gp_action] != 'activation'}-->



				$('registerformsubmit').innerHTML = '<span>{lang qqconnect:connect_register_finish}</span>';



			<!--{/if}-->



		<!--{else}-->



			$('layer_reginfo_t').innerHTML = '{lang qqconnect:connect_register_bind}';



		<!--{/if}-->



		<!--{if $_G[gp_action] != 'activation'}-->



			<!--{if !$_G['setting']['autoidselect']}-->



				simulateSelect('loginfield_$loginhash');



			<!--{/if}-->



		<!--{/if}-->



	</script>

 

2、修改QQ互联注册处理文件source/module/member/member_connect.php

  具体我对DZ的架构不熟悉,这段代码也不是很了解,只是尝试性的修改了下,结果就可以了

if($_G['gp_action'] == 'login') {







	$ctl_obj = new logging_ctl();



	$ctl_obj->setting = $_G['setting'];



	$ctl_obj->setting['seccodestatus'] = 0;







	$ctl_obj->extrafile = 'connect_logging';



	$ctl_obj->template = 'member/login';



	$ctl_obj->on_login();







} else {







	require_once libfile('function/connect');



	$params = $_GET;



	connect_params($params, $connect_params);



	$_G['qc']['connect_auth_hash'] = $connect_params['auth_hash'];



	$auth_code = authcode($_G['qc']['connect_auth_hash']);



	$auth_code = explode('|', $auth_code);



	$conopenid = authcode($auth_code[2]);







	$ctl_obj = new register_ctl();



	$ctl_obj->setting = $_G['setting'];







	if($_G['setting']['regconnect']) {



		$ctl_obj->setting['regstatus'] = $ctl_obj->setting['regstatus'] ? $ctl_obj->setting['regstatus'] : 1;



	}







	$_G['setting']['regclosed'] = $_G['setting']['regconnect'] && !$_G['setting']['regstatus'];



	$_G['qc']['uinlimit'] = $_G['setting']['connect']['register_uinlimit'] && DB::result_first("SELECT COUNT(DISTINCT uid) FROM ".DB::table('connect_memberbindlog')." WHERE uin='$conopenid' AND type='1'") >= $_G['setting']['connect']['register_uinlimit'];



	if($_G['qc']['uinlimit']) {



		$_G['setting']['regconnect'] = false;



	}



	if(!$_G['setting']['regconnect']) {



		$ctl_obj->showregisterform = 0;



		$ctl_obj->setting['sitemessage']['register'] = array();



	}







	if($_G['qc']['uinlimit']) {



		$ctl_obj->showregisterform = 0;



		$ctl_obj->setting['sitemessage']['register'] = array();



		$ctl_obj->setting['regconnect'] = false;



	}







	if($_G['setting']['connect']['register_regverify']) {



		$ctl_obj->setting['regverify'] = 0;



	}



	$ctl_obj->setting['seccodestatus'] = 0;



	$ctl_obj->setting['secqaa']['status'] = 0;







	loadcache(array('fields_connect_register', 'profilesetting'));



	foreach($_G['cache']['fields_connect_register'] as $field => $data) {



		unset($_G['cache']['fields_register'][$field]);



	}



	$_G['cache']['profilesetting']['gender']['unchangeable'] = 0;



	$_G['cache']['profilesetting']['birthyear']['unchangeable'] = 0;



	$_G['cache']['profilesetting']['birthmonth']['unchangeable'] = 0;



	$_G['cache']['profilesetting']['birthday']['unchangeable'] = 0;



	$_G['cache']['fields_register'] = array_merge($_G['cache']['fields_connect_register'], $_G['cache']['fields_register']);







	if($_G['setting']['connect']['register_invite']) {



		$ctl_obj->setting['regstatus'] = 1;



	}



	$ctl_obj->setting['ignorepassword'] = 0; //此处修改



	$ctl_obj->setting['checkuinlimit'] = 0;    //此处修改



	$ctl_obj->extrafile = 'connect_register';



	$ctl_obj->template = 'member/register';



	$ctl_obj->on_register();







}

 

做了个补丁包,下载后覆盖就可以了。

http://d.1tpan.com/tp0380059441

最近比较喜欢玩微博,有腾讯微博的可以来互粉下,我是有粉必互的!http://t.qq.com/hackren

你可能感兴趣的:(qq)