<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "maincore.php";
require_once "subheader2.php";
require_once "side_left.php";

include LOCALE.LOCALESET."register.php";
include LOCALE.LOCALESET."user_fields.php";

if (iMEMBER) fallback("index.php");

if ($settings['enable_registration']) {



/** Configuration **/
$bad_username = "admin,webmaster,test";
$password_length = 6;
/** END OF CONFIGURATION **/

function usernamechecker($username) {
global $bad_username;
       $usernamerules=$bad_username!="" ? explode(",",$bad_username) : array();
       $usernamecheck  = str_replace($usernamerules, 'NOUSER', strtolower($username));
       if (eregi("NOUSER",$usernamecheck)) { return false;} else { return true;}   
}
	
function pw_generate($length) {
$chars_for_pw  = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$chars_for_pw .= "abcdefghijklmnopqrstuvwxyz";
$chars_for_pw .= "0123456789";
$char_control  = "";
        srand((double) microtime() * 1000000);
        for($i = 0;$i < 50;$i++) {
            $number = rand(2, strlen($chars_for_pw)-2);
            $char_control .= $chars_for_pw[$number];
        }
        $char_control = substr($char_control, 0, $length);
        return $char_control;
}
$safe_pw=pw_generate($password_length);

if (isset($activate)) {
	if (!preg_match("/^[0-9a-z]{32}$/", $activate)) fallback("index.php");
	$result = dbquery("SELECT * FROM ".$db_prefix."new_users WHERE user_code='$activate'");
	if (dbrows($result) != 0) {
		$data = dbarray($result);
		$user_info = unserialize($data['user_info']);
		$activation = $settings['admin_activation'] == "1" ? "2" : "0";
		$result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status) VALUES('".$user_info['user_name']."', '".md5(md5($user_info['user_password']))."', '".$user_info['user_email']."', '".$user_info['user_hide_email']."', '', '0000-00-00', '', '', '', '', '', 'Default', '0', '', '', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation')");
		$result = dbquery("DELETE FROM ".$db_prefix."new_users WHERE user_code='$activate'");	
		opentable($locale['401']);
		if ($settings['admin_activation'] == "1") {
			echo "<center><br>\n".$locale['455']."<br><br>\n".$locale['453']."<br><br>\n</center>\n";
		} else {
			echo "<center><br>\n".$locale['455']."<br><br>\n".$locale['452']."<br><br>\n</center>\n";
		}
		closetable();
	} else {
		fallback("index.php");
	}
} else if (isset($_POST['register'])) {
	$error = "";
	$username = stripinput(trim(eregi_replace(" +", "_", $_POST['username'])));
	$email = stripinput(trim(eregi_replace(" +", "", $_POST['email'])));
	$password1 = stripinput(trim(eregi_replace(" +", "", $_POST['password1'])));
	
	if ($username == "" || $password1 == "" || $email == "") $error .= $locale['402']."<br>\n";
       if (!empty($username) && !usernamechecker($username)) { $error .= $locale['553'];}   
       if (!preg_match("/^[-0-9A-Z_@\s]{3,20}+$/i", $username)) $error .= $locale['403']."<br>\n";

	if (preg_match("/^[0-9A-Z@]{6,20}$/i", $password1)) {
		if ($password1 != $_POST['password2']) $error .= $locale['404']."<br>\n";
	} else {
		$error .= $locale['405']."<br>\n";
	}
 
	if (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
		$error .= $locale['406']."<br>\n";
	}
	
	$email_domain = substr(strrchr($email, "@"), 1);
	$result = dbquery("SELECT * FROM ".$db_prefix."blacklist WHERE blacklist_email='".$email."' OR blacklist_email='$email_domain'");
	if (dbrows($result) != 0) $error = $locale['411']."<br>\n";
	
	$result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_name='$username'");
	if (dbrows($result) != 0) $error = $locale['407']."<br>\n";
	
	$result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_email='".$email."'");
	if (dbrows($result) != 0) $error = $locale['408']."<br>\n";
	
	if ($settings['email_verification'] == "1") {
		$result = dbquery("SELECT * FROM ".$db_prefix."new_users");
		while ($new_users = dbarray($result)) {
			$user_info = unserialize($new_users['user_info']); 
			if ($new_users['user_email'] == $email) { $error = $locale['409']."<br>\n"; }
			if ($user_info['user_name'] == $username) { $error = $locale['407']."<br>\n"; break; }
		}
	}
$user_code="";	
	if ($settings['display_validation'] == "1") {
		if (!check_captcha($_POST['captcha_encode'], $_POST['user_code'])) {
			$error .= $locale['410']."<br>\n";
		} 
	}
	
	$user_hide_email = isNum($_POST['user_hide_email']) ? $_POST['user_hide_email'] : "1";
	
	if ($settings['email_verification'] == "0") {
		$user_location = isset($_POST['user_location']) ? stripinput(trim($_POST['user_location'])) : "";
		if ($_POST['user_month'] != 0 && $_POST['user_day'] != 0 && $_POST['user_year'] != 0) {
			$user_birthdate = (isNum($_POST['user_year']) ? $_POST['user_year'] : "0000")
			."-".(isNum($_POST['user_month']) ? $_POST['user_month'] : "00")
			."-".(isNum($_POST['user_day']) ? $_POST['user_day'] : "00");
		} else {
			$user_birthdate = "0000-00-00";
		}
		$user_aim = isset($_POST['user_aim']) ? stripinput(trim($_POST['user_aim'])) : "";
		$user_icq = isset($_POST['user_icq']) ? stripinput(trim($_POST['user_icq'])) : "";
		$user_msn = isset($_POST['user_msn']) ? stripinput(trim($_POST['user_msn'])) : "";
		$user_yahoo = isset($_POST['user_yahoo']) ? stripinput(trim($_POST['user_yahoo'])) : "";
		$user_web = isset($_POST['user_web']) ? stripinput(trim($_POST['user_web'])) : "";
		$user_theme = stripinput($_POST['user_theme']);
		$user_offset = is_numeric($_POST['user_offset']) ? $_POST['user_offset'] : "0";
		$user_sig = isset($_POST['user_sig']) ? stripinput(trim($_POST['user_sig'])) : "";
	}
	if ($error == "") {
		if ($settings['email_verification'] == "1") {
			require_once INCLUDES."sendmail_include.php";
			mt_srand((double)microtime()*1000000); $salt = "";
			for ($i=0;$i<=7;$i++) { $salt .= chr(rand(97, 122)); }
			$user_code = md5($email.$salt);
			$activation_url = $settings['siteurl']."register.php?activate=".$user_code;
			if (sendemail($username,$email,$settings['siteusername'],$settings['siteemail'],$locale['449'], $locale['450'].$activation_url)) {
				$user_info = serialize(array(
					"user_name" => $username,
					"user_password" => $password1,
					"user_email" => $email,
					"user_hide_email" => isNum($_POST['user_hide_email']) ? $_POST['user_hide_email'] : "1"
				));
				$result = dbquery("INSERT INTO ".$db_prefix."new_users (user_code, user_email, user_datestamp, user_info) VALUES('$user_code', '".$email."', '".time()."', '$user_info')");
				opentable($locale['400']);
				echo "<center><br>\n".$locale['454']."<br><br>\n</center>\n";
				closetable();
			} else {
				opentable($locale['456']);
				echo "<center><br>\n".$locale['457']."<br><br>\n</center>\n";
				closetable();
			}
		} else {
			$activation = $settings['admin_activation'] == "1" ? "2" : "0";
                     $result = dbquery("INSERT INTO ".$db_prefix."users (user_name, user_password, user_email, user_hide_email, user_location, user_birthdate, user_aim, user_icq, user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar, user_sig, user_posts, user_joined, user_lastvisit, user_ip, user_rights, user_groups, user_level, user_status) VALUES('$username', md5(md5('".$password1."')), '".$email."', '$user_hide_email', '$user_location', '$user_birthdate', '$user_aim', '$user_icq', '$user_msn', '$user_yahoo', '$user_web', '$user_theme', '$user_offset', '', '$user_sig', '0', '".time()."', '0', '".USER_IP."', '', '', '101', '$activation')");

			opentable($locale['400']);
			if ($settings['admin_activation'] == "1") {
				echo "<center><br>\n".$locale['451']."<br><br>\n".$locale['453']."<br><br>\n</center>\n";
			} else {
				echo "<center><br>\n".$locale['451']."<br><br>\n".$locale['452']."<br><br>\n</center>\n";
			}
			closetable();
		}
	} else {
		opentable($locale['456']);
		echo "<center><br>\n".$locale['458']."<br><br>\n$error<br>\n<a href='".FUSION_SELF."'>".$locale['459']."</a></div></br>\n";
		closetable();
	}
} else {
	if ($settings['email_verification'] == "0") {
		$theme_files = makefilelist(THEMES, ".|..", true, "folders");
		array_unshift($theme_files, "Default");
		$offset_list = "";
		for ($i=-13;$i<17;$i++) {
			if ($i > 0) { $offset="+".$i; } else { $offset=$i; }
			$offset_list .= "<option".($offset == "0" ? " selected" : "").">$offset</option>\n";
		}
	}
	opentable($locale['400']);
	echo "<div class='quote'>".$locale['500']."\n";
	if ($settings['email_verification'] == "1") echo $locale['501']."\n";
	echo $locale['502'];
	if ($settings['email_verification'] == "1") echo "\n".$locale['503'];
	echo "</div><br>";

echo "<table align='center' cellpadding='3' cellspacing='1'>
<form name='inputform' method='post' action='".FUSION_SELF."' onSubmit='return ValidateForm(this)'>
<tr>
<td class='tbl2'>".$locale['u001']."<span style='color:#ff0000'>*</span></td>
<td class='tbl1'><input type='text' name='username' maxlength='30' class='textbox' style='width:200px;'></td>
</tr>
<tr><td colspan=2 class='tbl2'>Rekomenduotinas slaptumo slapta&#254;odis: <b>$safe_pw</b><br>B&#251;simasis slapta&#254;odis jau pa&#254;ym&#235;tas formoje ir bus u&#254;registruotas.Atsiminkite!</td></tr>
<tr>
<td class='tbl2'>".$locale['u002']."<span style='color:#ff0000'>*</span></td>
<td class='tbl1'><input type='password' name='password1' maxlength='20' class='textbox' style='width:200px;' value='$safe_pw'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u004']."<span style='color:#ff0000'>*</span></td>
<td class='tbl1'><input type='password' name='password2' maxlength='20' class='textbox' style='width:200px;'  value='$safe_pw'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u005']."<span style='color:#ff0000'>*</span></td>
<td class='tbl1'><input type='text' name='email' maxlength='100' class='textbox' style='width:200px;'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u006']."</td>
<td class='tbl1'><input type='radio' name='user_hide_email' value='1'>".$locale['u007']."
<input type='radio' name='user_hide_email' value='0' checked>".$locale['u008']."</td>
</tr>\n";
	if ($settings['display_validation'] == "1") {
		echo "<tr>\n<td class='tbl2'>".$locale['504']."</td>\n<td class='tbl1'>";
		echo make_captcha();
		echo "</td>\n</tr>\n";
		echo "<tr>
<td class='tbl2'>".$locale['505']."<span style='color:#ff0000'>*</span></td>
<td class='tbl1'><input type='text' name='user_code' class='textbox' style='width:100px'></td>
</tr>\n";
	}
	if ($settings['email_verification'] == "0") {
		echo "<tr>
<td class='tbl2'>".$locale['u009']."</td>
<td class='tbl1'><input type='text' name='user_location' maxlength='50' class='textbox' style='width:200px;'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u010']." <span class='small2'>(mm/dd/yyyy)</span></td>
<td class='tbl1'><select name='user_month' class='textbox'>\n<option> </option>\n";
		for ($i=1;$i<=12;$i++) echo "<option".($user_month == $i ? " selected" : "").">$i</option>\n";
		echo "</select>\n<select name='user_day' class='textbox'>\n<option> </option>\n";
		for ($i=1;$i<=31;$i++) echo "<option".($user_day == $i ? " selected" : "").">$i</option>\n";
		echo "</select>\n<select name='user_year' class='textbox'>\n<option> </option>\n";
		for ($i=1900;$i<=2004;$i++) echo "<option".($user_year == $i ? " selected" : "").">$i</option>\n";
		echo "</select>
</td>
</tr> 
<tr>
<td class='tbl2'>".$locale['u021']."</td>
<td class='tbl1'><input type='text' name='user_aim' maxlength='16' class='textbox' style='width:200px;'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u011']."</td>
<td class='tbl1'><input type='text' name='user_icq' maxlength='15' class='textbox' style='width:200px;'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u012']."</td>
<td class='tbl1'><input type='text' name='user_msn' maxlength='100' class='textbox' style='width:200px;'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u013']."</td>
<td class='tbl1'>
<input type='text' name='user_yahoo' maxlength='100' class='textbox' style='width:200px;'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u014']."</td>
<td class='tbl1'><input type='text' name='user_web' maxlength='100' class='textbox' style='width:200px;'></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u015']."</td>
<td class='tbl1'><select name='user_theme' class='textbox' style='width:200px;'>
".makefileopts($theme_files)."
</select></td>
</tr>
<tr>
<td class='tbl2'>".$locale['u016']."</td>
<td class='tbl1'><select name='user_offset' class='textbox'>
$offset_list</select></td>
</tr>
<tr>
<td valign='top' class='tbl2'>".$locale['u020']."</td>
<td class='tbl1'>
<textarea name='user_sig' rows='5' class='textbox' style='width:295px'>".$userdata['user_sig']."</textarea><br>
<input type='button' value='b' class='button' style='font-weight:bold;width:25px;' onClick=\"addText('user_sig', '[b]', '[/b]');\">
<input type='button' value='i' class='button' style='font-style:italic;width:25px;' onClick=\"addText('user_sig', '[i]', '[/i]');\">
<input type='button' value='u' class='button' style='text-decoration:underline;width:25px;' onClick=\"addText('user_sig', '[u]', '[/u]');\">
<input type='button' value='url' class='button' style='width:30px;' onClick=\"addText('user_sig', '[url]', '[/url]');\">
<input type='button' value='mail' class='button' style='width:35px;' onClick=\"addText('user_sig', '[mail]', '[/mail]');\">
<input type='button' value='img' class='button' style='width:30px;' onClick=\"addText('user_sig', '[img]', '[/img]');\">
<input type='button' value='center' class='button' style='width:45px;' onClick=\"addText('user_sig', '[center]', '[/center]');\">
<input type='button' value='small' class='button' style='width:40px;' onClick=\"addText('user_sig', '[small]', '[/small]');\">
</td>
</tr>\n";
	}
	echo "<tr><td colspan='2' class='tbl1'><div style='width:600px; height:200px; overflow:auto; border:0px;' class='textbox'><a name='deu'></a>
	<table border='0' width='100%' cellspacing='0' cellpadding='4'><tr><td align='center'>
<font style='font-size:16px; font-weight:800;'>Registracijos s&#224;lygos</font><br><br>

	<p align='left'>Sveiki atvyk¿ Administratoriai ir Moderatoriai &#225; <b>".$settings['sitename']."</b> &#208;io portalo administratoriai ir moderatoriai visais b&#251;dais stengiasi pa&#240;alinti netinkamas &#254;inutes, ta&#232;iau ne&#225;manoma pa&#240;alinti ir per&#254;i&#251;r&#235;ti vis¸ &#254;inu&#232;i¸, tod&#235;l j&#251;s turite suprasti, kad visos &#254;inut&#235;s &#240;iose diskusijose yra j¸ autori¸, o ne administratori¸ ar moderatori¸ nuomon&#235; ir pa&#254;i&#251;ros (i&#240;skyrus &#240;i¸ &#254;moni¸ &#254;inutes).
Taigi administratoriai ir/arba moderatoriai negali b&#251;ti atsakingi u&#254; j¸ turin&#225;. 
<br>
J&#251;s sutinkate nera&#240;yti &#225;&#254;eid&#254;ian&#232;i¸, ne&#240;vanki¸, vulgari¸, &#240;mei&#254;ian&#232;i¸, grasinan&#232;i¸ ir kitoki¸ vietinius &#225;statymus pa&#254;eid&#254;ian&#232;i¸ &#254;inu&#232;i¸. Prie&#240;ingu atveju tuojau pat b&#251;site blokuotas (banned) ir apie tai prane&#240;ta j&#251;s¸ Interneto tiek&#235;jui. Vis¸ &#254;inu&#232;i¸ IP adresas yra &#225;ra&#240;omas &#225; duomen¸ baz¿. J&#251;s sutinkate, kad administratoriai ir/arba moderatoriai turi teis¿ i&#240;trinti, redaguoti, perkelti arba u&#254;daryti betkuri&#224; tem&#224;/&#254;inut¿, jeigu jie mano jog tai reikalinga. Kaip vartotojas sutinkate su tuo, kad bet kokia j&#251;s¸ &#225;vesta informacija b&#251;t¸ saugoma duomen¸ baz&#235;je. &#208;i informacija nebus suteikta jokioms tre&#232;ioms &#240;alims, ta&#232;iau administratoriai ir/arba moderatoriai negali u&#254;tikrinti visi&#240;ko informacijos saugumo.
<br><br>
&#208;is portalas naudoja sausain&#235;lius (cookies). Juose nesaugoma jokia j&#251;s¸ &#225;vesta informacija. Sausain&#235;liai naudojami tik kaip pagalbin&#235; dizaino ir strukt&#251;ros priemon&#235; suteikdama jums patogumo. J&#251;s¸ el. pa&#240;to adresas naudojamas tik patvirtinti j&#251;s¸ registracijos detales (taip pat atsi¸sti jums nauj&#224; slapta&#254;od&#225;, jeigu kartais u&#254;mir&#240;ote sen&#224;).
</td></tr></p>
<tr><td align='center'><hr>
<font style='font-size:16px; font-weight:800;'>Declaration</font><br><br>
The administrators and moderators of <b>".$settings['sitename']."</b> are struggling to keep up on the portal contributions with questionable content as quickly as possible to edit or delete; But it is not possible to review every message. You confirm with submitting this declaration, that you accept that any contribution the opinion of its author and that reflects the administrators, moderators and operator of the portal only for their own contributions.
<br><br>
You agree not defamatory, obscene, vulgar, defamatory, violent or criminal reasons other content on this site to publish. Violations of this rule will cause an immediate and permanent banning. The operators reserve the right combination of data, etc. To aid in enforcing these conditions. You agree that the operators, administrators and moderators of this portal the right to contribute, in its sole discretion to remove, edit, move or block. You agree that the framework of the registration data stored in a database.
<br><br>
This system uses cookies to information on your computer. These cookies do not contain any of the above information, but only with operator comfort. Your e-mail address is used only for confirming the registration and for sending new passwords. The display of your e-mail can you personally or other off.
</td></tr>
</table>
</div>
</td></tr>\n";
	echo "<tr>
<td align='center' colspan='2' class='tbl2'><noscript><font color='red'><b>JavaScript muss aktiviert sein. / Javascript must be activated.</b></font><br></noscript><br>
 <table><tr><td><input type='checkbox' name='la' value='1' onClick='check(this, document.inputform.register)'></td><td>Sutinku su &#240;iomis s&#224;lygomis
<br>I read and accept the conditions.</td></tr></table>
<input type='submit' name='register' value='".$locale['506']."' class='button'disabled>
</td>
</tr>
</form>
</table>";
	closetable();
	echo "<script language='JavaScript'>
function ValidateForm(frm) {
	if (frm.username.value==\"\") {
		alert(\"".$locale['550']."\");
		return false;
	}
	if (frm.password1.value==\"\") {
		alert(\"".$locale['551']."\");
		return false;
	}
	if (frm.email.value==\"\") {
		alert(\"".$locale['552']."\");
		return false;
	}
}
function check(checkbox, register) {
if(checkbox.checked==true){
register.disabled = false;
}
else {
register.disabled = true;
}
}

</script>\n";
}

} else {
	opentable($locale['400']);
	echo "<center><br>\n".$locale['507']."<br><br>\n</center>\n";
	closetable();
}

require_once "side_right.php";
require_once "footer.php";
?>

