⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 register.php

📁 jsp程序开发系统
💻 PHP
字号:
<?php
// +-------------------------------------------------------------+
// | DeskPRO v [2.0.1 Production]
// | Copyright (C) 2001 - 2004 Headstart Solutions Limited
// | Supplied by WTN-WDYL
// | Nullified by WTN-WDYL
// | Distribution via WebForum, ForumRU and associated file dumps
// +-------------------------------------------------------------+
// | DESKPRO IS NOT FREE SOFTWARE
// +-------------------------------------------------------------+
// | License ID : Full Enterprise License =) ...
// | License Owner : WTN-WDYL Team
// +-------------------------------------------------------------+
// | $RCSfile: register.php,v $
// | $Date: 2004/02/10 01:34:25 $
// | $Revision: 1.33 $
// +-------------------------------------------------------------+
// | File Details:
// | - User registration pages.
// +-------------------------------------------------------------+

error_reporting(E_ALL & ~E_NOTICE);
require_once('./global.php');
//Nullify WTN-WDYL Team

$template_cache = templatecache('REG_register,HF_footer,HF_header');

// default do
$_REQUEST['do'] = trim($_REQUEST['do']);
if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
	$_REQUEST['do'] = "start";
}

$page = 'register';
$navigation = ' // ' . "<a class=\"light\" href=\"register.php\">$dplang[register]</a>";

############################### BASIC CHECKS ###############################

// check registering is enabled
if (!($settings['allow_registration'])) {
	error("error_no_registration");
}

user_p_checks();

if ($user) {
	error("error_already_registered");
}

###############################  PROCESS FORM ###############################	

if ($_REQUEST['do'] == "submit") {	
	
	//////////////// password ////////////////

	// check non match / too short
	if ($_REQUEST[password] != $_REQUEST[password2]) {
		$error_match_password = 1;
		$error_password = 1;
		$stop = 1;
		unset($_REQUEST[password], $_REQUEST[password2]);
	} elseif (strlen($_REQUEST[password]) < 5) {
		$error_short_password = 1;
		$error_password = 1;
		$stop = 1;
		unset($_REQUEST[password], $_REQUEST[password2]);
	}
	
	//////////////// username ////////////////

	// check length/invalid characters and current use

	if (!validate_username($_REQUEST[username])) {
		$stop = 1;
		$error_bad_username = 1;
		$error_username = 1;
	} elseif (!unique_username($_REQUEST[username])) {
		// $stop = 1;
		$error_duplicate_username = 1;
		$error_username = 1;
		$stop = 1;
	}

	//////////////// email ////////////////

	// check valid email, non duplicated and not banned

	if (!validate_email($_REQUEST[email])) {
		$stop = 1;
		$error_bad_email = 1;
		$error_email = 1;
	} elseif (!unique_email($_REQUEST[email])) {
		$stop = 1;
		$error_duplicate_email = 1;
		$error_email = 1;
	} elseif (banned_email($_REQUEST[email])) {
		$stop = 1;
		$error_banned_email = 1;
		$error_email = 1;
	}

	//////////////// custom fields ////////////////
	
	// get the fields that we are expecting to be created
	$db->query("SELECT * from user_def WHERE user_start");

	while ($result = $db->row_array()) {

		$data = field_def_val($result, $_REQUEST[custom_fields][$result[name]], $_REQUEST[custom_fields]["extra" . $result[name]]);

		if ($data === NULL) {
			
			$tmp = unserialize($result[error_message]);
			$error_message = $tmp[$session[language]];

			// form errors;
			$custom_error[] = array('error' => $error_message);

			// for form design
			$custom_errors[] = $result[name];
	
			$stop = 1;
	
		} else {

			$query2 .= " $result[name] = '" . mysql_escape_string($data) . "', ";
		
		}
	}

	if ($stop) {
		$_REQUEST['do'] = "start";
		$redo = 1;
	} else {
		$create_user = 1;
	}

}

############################### PAGE 1: START PAGE ###############################

if ($_REQUEST['do'] == "start") {

	// get user data
	$db->query("SELECT * from user_def WHERE user_start ORDER BY displayorder");

	$custom = array();
	while ($result = $db->row_array()) {

		unset($name, $description, $error, $html);

		$tmp = unserialize($result[display_name]);
		$name = $tmp[$session[language]];

		$tmp = unserialize($result[description]);
		$description = $tmp[$session[language]];

		if ($stop) {
			$html = field_def($result, iff($redo, 'redo', 'default'), $_REQUEST[custom_fields][$result[name]], $_REQUEST[custom_fields]["extra" . $result[name]]);
		} else {
			$html = field_def($result);
		}

		$tmp = unserialize($result[error_message]);
		$error_message = $tmp[$session[language]];
		if (@in_array($result[name], $custom_errors)) {
			$error = $tmp[$session[language]];
			give_default($error, ' ');
		}

		// two arrays, one for loop and one to allow custom form design
		$custom[] = array(
			'name' => $name,
			'description' => $description,
			'html' => $html,
			'error' => $error
		);

		${$result[name]} = array(
			'name' => $name,
			'description' => $description,
			'html' => $html,
			'error' => $error
		);
	
	}

	// sanitize variables
	$_REQUEST['email'] = htmlspecialchars($_REQUEST['email']);
	$_REQUEST['username'] = htmlspecialchars($_REQUEST['username']);
	$_REQUEST['password'] = htmlspecialchars($_REQUEST['password1']);
	$_REQUEST['password'] = htmlspecialchars($_REQUEST['password2']);

	// display the page
	eval(makeeval('header', 'HF_header'));
	eval(makeeval('footer', 'HF_footer'));
	eval(makeeval('echo', 'REG_register'));

}

############################### CREATE THE USER ###############################

if ($create_user == '1') {

	// start the sql statment
	$query = "INSERT into user SET
		password = '" . mysql_escape_string($_REQUEST[password]) . "' ,
		name = '" . mysql_escape_string($_REQUEST[name]) . "',
		username = '" . mysql_escape_string($_REQUEST[username]) . "',
		email = '" . mysql_escape_string($_REQUEST[email]) . "',
		timezone = '" . mysql_escape_string($settings['timezone']) . "',
		date_registered = '" . mktime() . "',
	";

	// add custom fields
	$query .= $query2;

	// passwords
	$password_cookie = md5($session[sessionid] . $_REQUEST['password1'] . uniqid(rand(),1));
	$password_cookie = substr($password_cookie, 0, 8);
	$password_url = md5($_REQUEST['password1'] . uniqid(rand(),1) . $session[sessionid]);
	$password_url = substr($password_url, 0, 8);
	
	$query .= "password_url = '" . mysql_escape_string($password_url) . "', password_cookie = '" . mysql_escape_string($password_cookie) . "',";

	$validate_number = substr(md5(time()),0,6);
	$query .= " validate_key = '" . mysql_escape_string($validate_number) . "', ";

	// require email validation
	if ($settings[validate_email]) {
		$query .= "	awaiting_validation = '1', ";
	}

	if ($settings[manual_validation]) {
		$query .= " awaiting_manual_validation = '1', ";
	}

	// language
	$query .= " language = '$session[language]' ";

	// add new user to database and get back id
	$db->query($query);
	$id = $db->last_id();

	// get user information into array for emailing
	$user_details = $db->query_return("SELECT * FROM user WHERE id = '$id'");

	// update session
	$session = update_session('user', $id);

	$user_details = update_user_details($user_details);;

	// need to validate email
	if ($settings[validate_email]) {
		eval(makeemaileval('message', 'BODY_register_confirm', $subject));
		dp_mail($_REQUEST['email'], $subject, $message);

	} elseif ($settings[manual_validation]) {
		eval(makeemaileval('message', 'BODY_register', $subject));
		dp_mail($_REQUEST['email'], $subject, $message);

	// general email welcome
	} elseif ($settings[register_welcome]) {
		eval(makeemaileval('message', 'BODY_register', $subject));
		dp_mail($_REQUEST['email'], $subject, $message);
	}
		
	// email admins if wanted
	$send_emails = explode(',', $settings[email_registeradmin]);
	if (is_array($send_emails)) {
		foreach ($send_emails AS $key => $var) {
			$var = trim($var);
			if (validate_email($var)) {
				$toemail = $var;
				eval(makeemaileval('message', 'TECHBODY_newuser', $subject));
				dp_mail($var, $subject, $message);
			}
		}	
	}
		
	// redirect to control panel
	jump("newticket.php", "redirect_registered");
		
}

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -