dedecms会员注册通知各phpbb3添加新用户_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > dedecms会员注册通知各phpbb3添加新用户

dedecms会员注册通知各phpbb3添加新用户

 2011/1/2 10:31:48  ljl_xyf  http://ljl-xyf.javaeye.com  我要评论(0)
  • 摘要:dedecms会员注册通知各phpbb3添加新用户,主要看面dedecms安装目录下member目录下的reg_new.php文件。其中红色字体是dedecms用户注册时同时向phpbb3论坛添加用户的代码。reg_new.php<?phprequire_once(dirname(__FILE__)."/config.php");require_onceDEDEINC.'/membermodel.cls.php';define('IN_PHPBB',true)
  • 标签:PHP 用户 CMS

dedecms会员注册通知各phpbb3添加新用户,主要看面 dedecms安装目录下member目录下的reg_new.php文件。

其中红色字体是dedecms 用户注册时同时向 phpbb3 论坛添加用户的代码。

?

reg_new.php

<?php
require_once(dirname(__FILE__)."/config.php");
require_once DEDEINC.'/membermodel.cls.php';

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../phpbb/';

$phpEx = substr(strrchr(__FILE__, '.'), 1);
//die( $phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'common.' . $phpEx);

include($phpbb_root_path . 'includes/functions_display.' . $phpEx);


include($phpbb_root_path.'includes/ucp/ucp_register.php');
include($phpbb_root_path.'includes/functions_user.php');
//die( $phpbb_root_path . 'common.' . $phpEx);



if($cfg_mb_allowreg=='N')
{
??? ShowMsg('系统关闭了新用户注册!', 'index.php');
??? exit();
}


if(!isset($dopost))
{
??? $dopost = '';
}
$step = empty($step)? 1 : intval(preg_replace("/[^\d]/",'', $step));

if($step == 1)
{
??? if($cfg_ml->IsLogin())
??? {
??? ??? if($cfg_mb_reginfo == 'Y')
??? ??? {
??? ??? ??? //如果启用注册详细信息? http://www.my400800.cn
??? ??? ??? if($cfg_ml->fields['spacesta'] == 0 || $cfg_ml->fields['spacesta'] == 1)
??? ??? ??? {
??? ??? ??? ??? ?ShowMsg("尚未完成详细资料,请完善...","index_do.php?fmdo=user&dopost=regnew&step=2",0,1000);
??? ??? ??? ??? ?exit;
??? ??? ??? }
??? ??? }
??? ??? ShowMsg('你已经登陆系统,无需重新注册!', 'index.php');
??? ??? exit();
??? }
??? if($dopost=='regbase')
??? {
??? ??? $svali = GetCkVdValue();
??? ??? if(preg_match("/1/",$safe_gdopen)){
??? ??? ??? if(strtolower($vdcode)!=$svali || $svali=='')
??? ??? ??? {
??? ??? ??? ??? ResetVdValue();
??? ??? ??? ??? ShowMsg('验证码错误!', '-1');
??? ??? ??? ??? exit();
??? ??? ??? }
??? ??? ???
??? ??? }
??? ???
??? ??? $faqkey = isset($faqkey) && is_numeric($faqkey) ? $faqkey : 0;
??? ??? if($safe_faq_reg == '1')
??? ??? {
??? ??? ??? if($safefaqs[$faqkey]['answer'] != $rsafeanswer || $rsafeanswer=='')
??? ??? ??? {
??? ??? ??? ??? ShowMsg('验证问题答案错误', '-1');
??? ??? ??? ??? exit();
??? ??? ??? }
??? ??? }
??? ???
??? ??? $userid = trim($userid);
??? ??? $pwd = trim($userpwd);
??? ??? $pwdc = trim($userpwdok);
??? ??? $rs = CheckUserID($userid, '用户名');
??? ??? if($rs != 'ok')
??? ??? {
??? ??? ??? ShowMsg($rs, '-1');
??? ??? ??? exit();
??? ??? }
??? ??? if(strlen($userid) > 20 || strlen($uname) > 36)
??? ??? {
??? ??? ??? ShowMsg('你的用户名或用户笔名过长,不允许注册!', '-1');
??? ??? ??? exit();
??? ??? }
??? ??? if(strlen($userid) < $cfg_mb_idmin || strlen($pwd) < $cfg_mb_pwdmin)
??? ??? {
??? ??? ??? ShowMsg("你的用户名或密码过短,不允许注册!","-1");
??? ??? ??? exit();
??? ??? }
??? ??? if($pwdc != $pwd)
??? ??? {
??? ??? ??? ShowMsg('你两次输入的密码不一致!', '-1');
??? ??? ??? exit();
??? ??? }
??? ???
??? ??? $uname = HtmlReplace($uname, 1);
??? ??? //用户笔名重复检测
??? ??? if($cfg_mb_wnameone=='N')
??? ??? {
??? ??? ??? $row = $dsql->GetOne("Select * From `#@__member` where uname like '$uname' ");
??? ??? ??? if(is_array($row))
??? ??? ??? {
??? ??? ??? ??? ShowMsg('用户笔名或公司名称不能重复!', '-1');
??? ??? ??? ??? exit();
??? ??? ??? }
??? ??? }
??? ??? if(!CheckEmail($email))
??? ??? {
??? ??? ??? ShowMsg('Email格式不正确!', '-1');
??? ??? ??? exit();
??? ??? }
??? ???
??? ??? #api{{
??? ??? if(defined('UC_API') && @include_once DEDEROOT.'/uc_client/client.php')
??? ??? {
??? ??? ??? $uid = uc_user_register($userid, $pwd, $email);
??? ??? ??? if($uid <= 0)
??? ??? ??? {
??? ??? ??? ??? if($uid == -1)
??? ??? ??? ??? {
??? ??? ??? ??? ??? ShowMsg("用户名不合法!","-1");
??? ??? ??? ??? ??? exit();
??? ??? ??? ??? }
??? ??? ??? ??? elseif($uid == -2)
??? ??? ??? ??? {
??? ??? ??? ??? ??? ShowMsg("包含要允许注册的词语!","-1");
??? ??? ??? ??? ??? exit();
??? ??? ??? ??? }
??? ??? ??? ??? elseif($uid == -3)
??? ??? ??? ??? {
??? ??? ??? ??? ??? ShowMsg("你指定的用户名 {$userid} 已存在,请使用别的用户名!","-1");
??? ??? ??? ??? ??? exit();
??? ??? ??? ??? }
??? ??? ??? ??? elseif($uid == -5)
??? ??? ??? ??? {
??? ??? ??? ??? ??? ShowMsg("你使用的Email 不允许注册!","-1");
??? ??? ??? ??? ??? exit();
??? ??? ??? ??? }
??? ??? ??? ??? elseif($uid == -6)
??? ??? ??? ??? {
??? ??? ??? ??? ??? ShowMsg("你使用的Email已经被另一帐号注册,请使其它帐号","-1");
??? ??? ??? ??? ??? exit();
??? ??? ??? ??? }
??? ??? ??? ??? else
??? ??? ??? ??? {
??? ??? ??? ??? ??? ShowMsg("注删失改!","-1");
??? ??? ??? ??? ??? exit();
??? ??? ??? ??? }
??? ??? ??? }
??? ??? ??? else
??? ??? ??? {
??? ??? ??? ??? $ucsynlogin = uc_user_synlogin($uid);
??? ??? ??? }
??? ??? }
??? ??? #/aip}}
??? ???
??? ??? if($cfg_md_mailtest=='Y')
??? ??? {
??? ??? ??? $row = $dsql->GetOne("Select mid From `#@__member` where email like '$email' ");
??? ??? ??? if(is_array($row))
??? ??? ??? {
??? ??? ??? ??? ShowMsg('你使用的Email已经被另一帐号注册,请使其它帐号!', '-1');
??? ??? ??? ??? exit();
??? ??? ??? }
??? ??? }
???
??? ??? //检测用户名是否存在
??? ??? $row = $dsql->GetOne("Select mid From `#@__member` where userid like '$userid' ");
??? ??? if(is_array($row))
??? ??? {
??? ??? ??? ShowMsg("你指定的用户名 {$userid} 已存在,请使用别的用户名!", "-1");
??? ??? ??? exit();
??? ??? }
??? ??? if($safequestion==0)
??? ??? {
??? ??? ??? $safeanswer = '';
??? ??? }
??? ??? else
??? ??? {
??? ??? ??? if(strlen($safeanswer)>30)
??? ??? ??? {
??? ??? ??? ??? ShowMsg('你的新安全问题的答案太长了,请控制在30字节以内!', '-1');
??? ??? ??? ??? exit();
??? ??? ??? }
??? ??? }
???
??? ??? //会员的默认金币
??? ??? $dfscores = 0;
??? ??? $dfmoney = 0;
??? ??? $dfrank = $dsql->GetOne("Select money,scores From `#@__arcrank` where rank='10' ");
??? ??? if(is_array($dfrank))
??? ??? {
??? ??? ??? $dfmoney = $dfrank['money'];
??? ??? ??? $dfscores = $dfrank['scores'];
??? ??? }
??? ??? $jointime = time();
??? ??? $logintime = time();
??? ??? $joinip = GetIP();
??? ??? $loginip = GetIP();
??? ??? $pwd = md5($userpwd);
??? ???
??? ??? $spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);
??? ???
??? ??? $inQuery = "INSERT INTO `#@__member` (`mtype` ,`userid` ,`pwd` ,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,
??? ??? `matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip` )
??? ?? VALUES ('$mtype','$userid','$pwd','$uname','$sex','10','$dfmoney','$email','$dfscores',
??? ?? '0','$spaceSta','','$safequestion','$safeanswer','$jointime','$joinip','$logintime','$loginip'); ";
??? ??? if($dsql->ExecuteNoneQuery($inQuery))
??? ??? {
??? ??? ??? $mid = $dsql->GetLastID();
???
??? ??? ??? //写入默认会员详细资料
??? ??? ??? if($mtype=='个人'){
??? ??? ??? ??? $space='person';
??? ??? ??? }else if($mtype=='企业'){
??? ??? ??? ??? $space='company';
??? ??? ??? }else{
??? ??? ??? ??? $space='person';
??? ??? ??? }
???
??? ??? ??? //写入默认统计数据
??? ??? ??? $membertjquery = "INSERT INTO `#@__member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`)
??? ?????????????? VALUES ('$mid','0','0','0','0','0','0','0','0'); ";
??? ??? ??? $dsql->ExecuteNoneQuery($membertjquery);
???
??? ??? ??? //写入默认空间配置数据
??? ??? ??? $spacequery = "Insert Into `#@__member_space`(`mid` ,`pagesize` ,`matt` ,`spacename` ,`spacelogo` ,`spacestyle`, `sign` ,`spacenews`)
??? ??? ??????????? Values('{$mid}','10','0','{$uname}的空间','','$space','',''); ";
??? ??? ??? $dsql->ExecuteNoneQuery($spacequery);
???
??? ??? ??? //写入其它默认数据
??? ??? ??? $dsql->ExecuteNoneQuery("INSERT INTO `#@__member_flink`(mid,title,url) VALUES('$mid','织梦内容管理系统','http://www.dedecms.com'); ");
??? ??? ???
??? ??? ??? $membermodel = new membermodel($mtype);
??? ??? ??? $modid=$membermodel->modid;
??? ??? ??? $modid = empty($modid)? 0 : intval(preg_replace("/[^\d]/",'', $modid));
??? ??? ??? $modelform = $dsql->getOne("select * from #@__member_model where id='$modid' ");
??? ??? ???
??? ??? ??? if(!is_array($modelform))
??? ??? ??? {
??? ??? ??? ??? showmsg('模型表单不存在', '-1');
??? ??? ??? ??? exit();
??? ??? ??? }else{
??? ??? ??? ??? $dsql->ExecuteNoneQuery("INSERT INTO `{$membermodel->table}` (`mid`) VALUES ('{$mid}');");
??? ??? ??? }
??? ??? ???
??? ??? ??? //----------------------------------------------
??? ??? ??? //模拟登录
??? ??? ??? //---------------------------
??? ??? ??? $cfg_ml = new MemberLogin(7*3600);
??? ??? ??? $rs = $cfg_ml->CheckUser($userid, $userpwd);

??? ??? ???
??? ??? //邮件验证
??? ??? if($cfg_mb_spacesta==-10)
??? ??? {
??? ??? ??? $userhash = md5($cfg_cookie_encode.'--'.$mid.'--'.$email);
??? ? ??? $url = $cfg_basehost.(empty($cfg_cmspath) ? '/' : $cfg_cmspath)."/member/index_do.php?fmdo=checkMail&mid={$mid}&userhash={$userhash}&do=1";
??? ? ??? $url = eregi_replace('http://', '', $url);
??? ? ??? $url = 'http://'.eregi_replace('//', '/', $url);
??? ? ??? $mailtitle = "{$cfg_webname}--会员邮件验证通知";
??? ? ??? $mailbody = '';
??? ? ??? $mailbody .= "尊敬的用户[{$uname}],您好:\r\n";
??? ? ??? $mailbody .= "欢迎注册成为[{$cfg_webname}]的会员。\r\n";
??? ? ??? $mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏访问这地址:\r\n\r\n";
??? ? ??? $mailbody .= "{$url}\r\n\r\n";
??? ? ??? $mailbody .= "Power by http://www.dedecms.com 织梦内容管理系统!\r\n";
??? ?
??? ??? ??? $headers = "From: ".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;
??? ??? ??? if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
??? ??? ??? {??? ???
??? ??? ??? ??? $mailtype = 'TXT';
??? ??? ??? ??? require_once(DEDEINC.'/mail.class.php');
??? ??? ??? ??? $smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
??? ??? ??? ??? $smtp->debug = false;
??? ??? ??? ??? $smtp->sendmail($email,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
??? ??? ??? }
??? ??? ??? else
??? ??? ??? {
??? ??? ??? ??? @mail($email, $mailtitle, $mailbody, $headers);
??? ??? ??? }
??? ??? }//End 邮件验证
??? ??? //phpbb整合
??? ??? echo $user->ip;
??? ??? $user_row = array(
??? ??? ??? ??? ??? 'username'??? ??? ??? ??? => $userid,
??? ??? ??? ??? ??? 'user_password'??? ??? ??? => phpbb_hash($userpwd),
??? ??? ??? ??? ??? 'user_email'??? ??? ??? => $email,
??? ??? ??? ??? ??? 'group_id'??? ??? ??? ??? => (int) $group_id,
??? ??? ??? ??? ??? 'user_timezone'??? ??? ??? => (float) 0,
??? ??? ??? ??? ??? 'user_dst'??? ??? ??? ??? => $is_dst,
??? ??? ??? ??? ??? 'user_lang'??? ??? ??? ??? => "zh_cmn_hans",
??? ??? ??? ??? ??? 'user_type'??? ??? ??? ??? => 0,
??? ??? ??? ??? ??? 'user_actkey'??? ??? ??? => $user_actkey,
??? ??? ??? ??? ??? 'user_ip'??? ??? ??? ??? => $user->ip,
??? ??? ??? ??? ??? 'user_regdate'??? ??? ??? => time(),
??? ??? ??? ??? ??? 'user_inactive_reason'??? => $user_inactive_reason,
??? ??? ??? ??? ??? 'user_inactive_time'??? => $user_inactive_time,
??? ??? ??? ??? );

??? ??? ??? ??? if ($config['new_member_post_limit'])
??? ??? ??? ??? {
??? ??? ??? ??? ??? $user_row['user_new'] = 1;
??? ??? ??? ??? }
??? ??? ??? $user_id = user_add($user_row, $cp_data);
??? ??? ???

??? ??? ???
??? ??? ???
??? ??? ??? if($cfg_mb_reginfo == 'Y')
??? ??? ??? {
??? ??? ??? ??? ShowMsg("完成基本信息的注册,接下来完善详细资料...","index_do.php?fmdo=user&dopost=regnew&step=2",0,1000);
??? ??? ??? ??? exit();
??? ??? ? } else {
??? ??? ? ??? ? require_once(DEDEMEMBER."/templets/reg-new3.htm");
??? ??? ? ??? ? exit;
??? ??? ? }
??? ??? ???
??? ??? }
??? ??? else
??? ??? {
??? ??? ??? ShowMsg("注册失败,请检查资料是否有误或与管理员联系!", "-1");
??? ??? ??? exit();
??? ??? }
??? }
???
??? require_once(DEDEMEMBER."/templets/reg-new.htm");
???
}else {
??? if(!$cfg_ml->IsLogin())
??? {
??? ??? ShowMsg("尚未完成基本信息的注册,请返回重新填写!", "index_do.php?fmdo=user&dopost=regnew");
??? ??? exit;
??? } else {
??? ??? ??? if($cfg_ml->fields['spacesta'] == 2)
??? ??? ??? {
??? ??? ??? ??? ?ShowMsg('你已经登陆系统,无需重新注册!', 'index.php');
??? ??? ??? ??? ?exit;
??? ??? ??? }
??? }
??? $membermodel = new membermodel($cfg_ml->M_MbType);
??? $postform = $membermodel->getForm(true);
??? if($dopost == 'reginfo')
??? {
??? ??? //这里完成详细内容填写
??? ??? $dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
??? ??? $dede_fieldshash = empty($dede_fieldshash) ? '' : trim($dede_fieldshash);
??? ??? $modid = empty($modid)? 0 : intval(preg_replace("/[^\d]/",'', $modid));
??? ???
??? ??? if(!empty($dede_fields))
??? ??? {
??? ??? ??? if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))
??? ??? ??? {
??? ??? ??? ??? showMsg('数据校验不对,程序返回', '-1');
??? ??? ??? ??? exit();
??? ??? ??? }
??? ??? }
??? ??? $modelform = $dsql->getOne("select * from #@__member_model where id='$modid' ");
??? ??? if(!is_array($modelform))
??? ??? {
??? ??? ??? showmsg('模型表单不存在', '-1');
??? ??? ??? exit();
??? ??? }
??? ???
??? ??? $inadd_f = '';
??? ??? if(!empty($dede_fields))
??? ??? {
??? ??? ??? $fieldarr = explode(';', $dede_fields);
??? ??? ??? if(is_array($fieldarr))
??? ??? ??? {
??? ??? ??? ??? foreach($fieldarr as $field)
??? ??? ??? ??? {
??? ??? ??? ??? ??? if($field == '') continue;
??? ??? ??? ??? ??? $fieldinfo = explode(',', $field);
??? ??? ??? ??? ??? if($fieldinfo[1] == 'textdata')
??? ??? ??? ??? ??? {
??? ??? ??? ??? ??? ??? ${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
??? ??? ??? ??? ??? ??? ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
??? ??? ??? ??? ??? }
??? ??? ??? ??? ??? else
??? ??? ??? ??? ??? {
??? ??? ??? ??? ??? ??? if(empty(${$fieldinfo[0]})) ${$fieldinfo[0]} = '';
??? ??? ??? ??? ??? ??? ${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1],0,'add','','diy', $fieldinfo[0]);
??? ??? ??? ??? ??? }
??? ??? ??? ??? ??? if($fieldinfo[0]=="birthday") ${$fieldinfo[0]}=GetDateMk(${$fieldinfo[0]});
??? ??? ??? ??? ??? $inadd_f .= ','.$fieldinfo[0]." ='".${$fieldinfo[0]}."' ";
??? ??? ??? ??? }
??? ??? ??? }

??? ??? }
?
??? ? $query = "UPDATE `{$membermodel->table}` SET `mid`='{$cfg_ml->M_ID}' $inadd_f WHERE `mid`='{$cfg_ml->M_ID}'; ";
??? ? if($dsql->executenonequery($query)){
? ??? ? $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET `spacesta`='2' WHERE `mid`='{$cfg_ml->M_ID}'");
? ??? ? require_once(DEDEMEMBER."/templets/reg-new3.htm");
? ??? ? exit;
? ??? }
??? }

??? require_once(DEDEMEMBER."/templets/reg-new2.htm");
}



?>

发表评论
用户名: 匿名