mirror of
https://github.com/DzzXH/DzzOffice.git
synced 2026-04-10 00:46:43 +08:00
136 lines
4.3 KiB
PHP
136 lines
4.3 KiB
PHP
<?php
|
|
/*
|
|
* @copyright Leyun internet Technology(Shanghai)Co.,Ltd
|
|
* @license http://www.dzzoffice.com/licenses/license.txt
|
|
* @package DzzOffice
|
|
* @link http://www.dzzoffice.com
|
|
* @author zyx(zyx@dzz.cc)
|
|
*/
|
|
if (!defined('IN_DZZ')) {
|
|
exit('Access Denied');
|
|
}
|
|
$setting = $_G['setting'];
|
|
$htmls = $settings = array();
|
|
foreach($_G['cache']['fields_register'] as $field) {
|
|
$fieldid = $field['fieldid'];
|
|
$field_val = $_GET[''.$field_key];
|
|
$html = profile_setting($fieldid, array(), false, false, true);
|
|
if($html) {
|
|
$settings[$fieldid] = $_G['cache']['profilesetting'][$fieldid];
|
|
$htmls[$fieldid] = $html;
|
|
}
|
|
}
|
|
$ismobile=helper_browser::ismobile();
|
|
$showregisterform = 1;
|
|
Hook::listen('register_before');//注册预处理钩子
|
|
|
|
if($_G['uid']) {
|
|
|
|
$url_forward = dreferer();
|
|
if(strpos($url_forward, 'user.php') !== false) {
|
|
$url_forward = 'index.php';
|
|
}
|
|
showmessage('login_succeed', $url_forward ? $url_forward : './', array('username' => $_G['member']['username'], 'usergroup' => $_G['group']['grouptitle'], 'uid' => $_G['uid']), array());
|
|
} elseif($setting['bbclosed']) {
|
|
dheader("Location: user.php?mod=login");
|
|
} elseif(!$setting['regclosed']) {
|
|
if($_GET['action'] == 'activation' || $_GET['activationauth']) {
|
|
if(!$setting['ucactivation'] && !$setting['closedallowactivation']) {
|
|
showmessage('register_disable_activation');
|
|
}
|
|
} elseif(!$setting['regstatus']) {
|
|
showmessage(!$setting['regclosemessage'] ? 'register_disable' : str_replace(array("\r", "\n"), '', $setting['regclosemessage']));
|
|
}
|
|
}
|
|
$seccodecheck = $setting['seccodestatus'] & 1;
|
|
|
|
|
|
//判断是否提交
|
|
if(!submitcheck('regsubmit', 0, $seccodecheck)) {
|
|
|
|
//应用注册页挂载点
|
|
Hook::listen('appregister');
|
|
$bbrules = $setting['bbrules'];
|
|
|
|
$regname =$setting['regname'];
|
|
|
|
$bbrulehash = $bbrules ? substr(md5(FORMHASH), 0, 8) : '';
|
|
$auth = $_GET['auth'];
|
|
|
|
$username = isset($_GET['username']) ? dhtmlspecialchars($_GET['username']) : '';
|
|
if($seccodecheck) {
|
|
$seccode = random(6, 1);
|
|
}
|
|
$navtitle = $setting['reglinkname'];
|
|
|
|
$dreferer = dreferer();
|
|
include template('register');
|
|
exit();
|
|
//QQ登陆相关
|
|
@session_start();
|
|
$qqopenid = $_SESSION['openid'] ? $_SESSION['openid'] :'';
|
|
$qquinfo = $_SESSION['uinfo'] ? $_SESSION['uinfo'] :'';
|
|
include template($this->template);
|
|
}else{
|
|
|
|
Hook::listen('check_val',$_GET);//用户数据验证钩子,用户注册资料信息提交验证
|
|
$result=$_GET;
|
|
Hook::listen('register_common',$result);//用户注册钩子
|
|
$type = isset($_GET['returnType']) ? $_GET['returnType']:'';
|
|
|
|
//获取ip
|
|
$ip = $_G['clientip'];
|
|
//用户状态表数据
|
|
$status = array(
|
|
'uid' => $result['uid'],
|
|
'regip' => (string)$ip,
|
|
'lastip' => (string)$ip,
|
|
'lastvisit' => TIMESTAMP,
|
|
'lastactivity' => TIMESTAMP,
|
|
'lastsendmail' => 0
|
|
);
|
|
//插入用户状态表
|
|
\DB::insert('user_status',$status,1);
|
|
|
|
//新用户登录
|
|
setloginstatus(array(
|
|
'uid' => $result['uid'],
|
|
'username' => $result['username'],
|
|
'password' => $result['password'],
|
|
'groupid' => $result['groupid'],
|
|
), 0);
|
|
if ($_G['uid']) {
|
|
//发送通知
|
|
$notevars=array(
|
|
'from_id' => '0',
|
|
'from_idtype' => 'app',
|
|
'url' => '',
|
|
'author' => getglobal('username'),
|
|
'authorid' => getglobal('uid'),
|
|
'dataline' => dgmdate(TIMESTAMP),
|
|
'title'=> replacesitevar($_G['setting']['welcomemsgtxt'])
|
|
);
|
|
|
|
$action = 'register';
|
|
$type = 'register_'.$_G['uid'];
|
|
|
|
dzz_notification::notification_add($_G['uid'], $type, $action, $notevars);
|
|
}
|
|
//设置显示提示文字
|
|
$param = daddslashes(array('sitename' => $setting['sitename'], 'username' => $result['username'], 'usergroup' => $_G['cache']['usergroups'][$result['groupid']]['grouptitle'], 'uid' => $result['uid']));
|
|
|
|
$messageText = lang('register_succeed', $param);
|
|
|
|
//获取之前的链接
|
|
$url_forward = (isset($_GET['referer'])) ? $_GET['referer']:dreferer();
|
|
|
|
|
|
$url_forward = $url_forward ? $url_forward : './';
|
|
if(strpos($url_forward, 'user.php') !== false) {
|
|
$url_forward = 'index.php';
|
|
}
|
|
showTips(array('success'=>array('message'=>$messageText,'url_forward'=>$url_forward)),$type);
|
|
|
|
}
|
|
|