function logout_page() { srand(time() + microtime()); $num = rand(1, 25); if (isset($_GET['secret'])) { $body = "<div id=\"logout_secret\">\n <img src=\"graphic/LOGOUTLOST.jpg\"></div>\n <script language=\"javascript\" type=\"text/javascript\">\n opener.location.href='index.php';\n </script>"; } else { $body = '<div id="logout"> <img src=./graphic/logout' . $num . '.jpg class="logoutimg"><br><br> Logout eseguito. <a href="index.php">Clicca Qui</a> per accedere nuovamente.</div> '; } print_loginout($body, true); }
function register_user() { global $x7c, $print, $txt, $db, $prefix, $g_default_settings; // If admin doesn't want new members then tell them to go away if ($x7c->settings['allow_reg'] == 0) { $print->normal_window($txt[14], "{$txt['15']}"); return 0; } // Let's see if they have already filled out the form if (isset($_GET['step']) && @$_GET['step'] != "act") { // They have already filled out the register form and sent it // Clean up incoming data $_POST['pass1'] = auth_encrypt($_POST['pass1']); $_POST['pass2'] = auth_encrypt($_POST['pass2']); // Check the data they submitted if (!eregi("^[^@]*@[^.]*\\..*\$", $_POST['email'])) { $error = $txt[24]; } if ($_POST['pass1'] == "") { $error = $txt[25]; } if ($_POST['pass1'] != $_POST['pass2']) { $error = $txt[26]; } if ($_POST['username'] == "" || eregi("\\.|'|,|;| |\"|[^a-zA-Z\\-_]", $_POST['username']) || strlen($_POST['username']) > $x7c->settings['maxchars_username'] && $x7c->settings['maxchars_username'] != 0) { $txt[23] = eregi_replace("_n", "{$x7c->settings['maxchars_username']}", $txt[23]); $error = $txt[23]; } $query = $db->DoQuery("SELECT * FROM {$prefix}users WHERE username='******'username']}'"); $row = $db->Do_Fetch_Row($query); if ($row[0] != "") { $error = $txt[27]; } // Did any errors occur? if (isset($error)) { // An error has occured! $body = $error . "<Br><Br><div align=\"center\"><a style=\"cursor: pointer;cursor:hand;\" onClick=\"javascript: history.back();\">[{$txt['77']}]</a></div>"; } else { // No Problems! Create their account // Generate Activation code if ($x7c->settings['req_activation'] == 1) { $seed = "abcdefghijklmnoparstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $act_code = $seed[rand(0, strlen($seed) - 1)]; for ($x = 0; $x < 5; $x++) { $act_code .= $seed[rand(0, strlen($seed) - 1)]; } } else { $act_code = 1; } $time = time(); $ip = $_SERVER['REMOTE_ADDR']; $settings = $g_default_settings; // This is defined in lib/auth.php $default_max_panic = $x7c->settings['default_max_panic']; $default_start_xp = $x7c->settings['starting_xp'] * $x7c->settings['xp_ratio']; $default_spazio = $x7c->settings['default_spazio']; $default_avatar = $x7c->settings['default_avatar']; $gif_query = $db->DoQuery("SELECT logo from {$prefix}permissions \n\t\t\t\t\t\tWHERE usergroup='{$_POST['base_group']}'"); $row = $db->Do_Fetch_Assoc($gif_query); if (!$row) { die("Invalid base group, should not happen"); } $gif = $row['logo']; $db->DoQuery("INSERT INTO {$prefix}users (id,username,password,email,\n\t\t\t\t\tstatus,user_group,time,settings,hideemail,ip,activated,sheet_ok,xp,\n\t\t\t\t\tiscr,max_panic,bio,spazio,base_group,avatar) \n\t\t\t\t\t\tVALUES('0','{$_POST['username']}','{$_POST['pass1']}','{$_POST['email']}',\n\t\t\t\t\t\t\t'{$txt['150']}','{$_POST['base_group']}','{$time}','{$settings}','0',\n\t\t\t\t\t\t\t'{$ip}','{$act_code}','0','{$default_start_xp}','{$time}',\n\t\t\t\t\t\t\t'{$default_max_panic}','{$gif}','{$default_spazio}',\n\t\t\t\t\t\t\t'{$_POST['base_group']}','{$default_avatar}')"); $db->DoQuery("INSERT INTO {$prefix}groups (username,usergroup,corp_master) \n\t\t\t\t\t\tVALUES('{$_POST['username']}','{$_POST['base_group']}','0') \n\t\t\t\t\t\tON DUPLICATE KEY UPDATE username=username"); $query_ab = $db->DoQuery("SELECT * FROM {$prefix}ability WHERE corp=''"); $query_ch = $db->DoQuery("SELECT * FROM {$prefix}characteristic"); //We must create an empty character sheet while ($row_ch = $db->Do_Fetch_Assoc($query_ch)) { $db->DoQuery("INSERT INTO {$prefix}usercharact\n\t\t\t\t\t\t\t(charact_id, username, value)\n\t\t\t\t\t\t\tVALUES('{$row_ch['id']}', '{$_POST['username']}', '0')"); } while ($row_ab = $db->Do_Fetch_Assoc($query_ab)) { $db->DoQuery("INSERT INTO {$prefix}userability\n\t\t\t\t\t\t\t(ability_id, username, value)\n\t\t\t\t\t\t\tVALUES('{$row_ab['id']}', '{$_POST['username']}', '0')"); } $URL = eregi_replace("step=1", "step=act&act_code={$act_code}", "http://{$_SERVER["HTTP_HOST"]}{$_SERVER["REQUEST_URI"]}"); mail($_POST['email'], $txt[618], "{$txt['617']}\r\n\r\n{$URL}\r\n", "From: {$x7c->settings['site_name']} <{$x7c->settings['admin_email']}>\r\n" . "Reply-To: {$x7c->settings['admin_email']}\r\n" . "X-Mailer: PHP/" . phpversion()); include_once "./lib/message.php"; $body = $txt[28]; if ($act_code != 1) { $body .= "<br><br>" . $txt[613]; } } } elseif (@$_GET['step'] == "act") { $body = activate_account(); } else { if (!isset($_GET['disclaimer_done']) && !isset($_GET['base_group'])) { include_once './sources/register_intro.php'; $body = ' <div id="register_banner"> <div id="register_image"> <img src="./graphic/choose_page.gif"> </div> <div id="register_intro"> ' . $register_intro . '<br> </div> </div> '; } else { if (!isset($_GET['base_group'])) { include_once './sources/register_intro.php'; $body = ' <script type="text/javascript"> function over(id) { el = document.getElementById(id); el.style.display = "block"; } function restore(id){ el = document.getElementById(id); el.style.display = "none"; } </script> <div id="register_banner"> <div id="class_choice"> <a href="index.php?act=register&base_group=Umano" class="classlink"> <div class="class_container" onmouseover="over(\'human\')" onmouseout="restore(\'human\')"> <div class="class_image"> <img src="./graphic/adam_el.jpg" class="citizen_banner"> </div> <div class="class_descr" id="human"> Uomini, umani, adamiti o più volgarmente chiamati scimmie, non hanno particolari forze o debolezze, sono i più adattabili... da sempre. Possono far parte di una qualsiasi gremio, gilda, corporazione o semplice aggregazione; tecnici, soldati, esploratori o studiosi non importa: la loro innata capacità di imparare e migrare li rende ottimi individui in qualsiasi campo. Possono divenire espER o mutanti, così come possono imparare le arti arcane in minima parte. L'umano è la scelta più semplice da giocare se si è all'inizio considerando che possono intraprendere carriere multiple o cambiare la loro vita in corso. </div> </div> </a> <a href="index.php?act=register&base_group=NeoUmano" class="classlink"> <div class="class_container" onmouseover="over(\'neohuman\')" onmouseout="restore(\'neohuman\')"> <div class="class_image"> <img src="./graphic/neu_el.jpg" class="citizen_banner"> </div> <div class="class_descr" id="neohuman"> I neoUmani sono individui dotati di corpo umano e cervello positronico, non sono cyborgs ma possono diventarlo senza controindicazioni grazie alla loro -Empatia Sintetica- innata che gli permette di innestarsi arti o organi artificiali senza ripercussioni negative: i loro cervelli positronici sono infatti in grado di metabolizzare facilmente la presenza di parti non umane nel loro corpo. Connessi mentalmente tra di loro attraverso "La Quiete" sono individui più pacati e meno portati agli eccessi rispetto agli umani: imparano molto più in fretta ma hanno limitazioni che non gli permettono di massimizzare le loro abilità e non possono divenire ne mutanti, ne espER. Raramente alcuni hanno imparato, in piccola parte, le arti arcane, sono guidati da una specie di Source artificiale chiamata The Broken Admin che sembra detenere un sacco di sapienza e che è quella che resuscita i morti trapiantando loro il cervello positronico: si i neoUmani sono tutti cadaveri rianimati artificialmente! [Maggiori info in Manuale]. </div> </div> </a> <a href="index.php?act=register&base_group=NephEl" class="classlink"> <div class="class_container" onmouseover="over(\'nephel\')" onmouseout="restore(\'nephel\')"> <div class="class_image"> <img src="./graphic/neph_el.jpg" class="citizen_banner"> </div> <div class="class_descr" id="nephel"> Demoni, mostri, orrori, diavoli, deva, djinn o quant'altro, cosa siano davvero i discendenti dei Nephilim non si sa per certo: queste creature dalle caratteristiche "infernali" che spesso razziano in lungo e in largo utilizzando la loro supremazia fisica e la loro discreta capacità di gestire le energie del Quantum (anima?). Rosse aureole dietro al loro capo vengono spesso sfoggiate con boria, hanno scarsa capacità collaborativa e non possono far parte di alcuna gilda o gremio e sono lenti ad apprendere a causa della loro ottusa tracotanza, possono divenire espER ma non mutanti, i Neph El hanno anche la insolita peculiarità di morire ogni volta che salgono di livello, ognuna di queste morti però diviene anche una resurrezione istantanea (vite di riserva) in caso di decesso accidentale o di battaglia, una specie di immortalità nata tra sofferenza e dolore, come biasimarli se poi amano agghindarsi di ossa e abiti demonici o se spesso si li trova a sghignazzare come folli demoni urlanti? *Tutte le variazioni di razza verranno applicate dallo Staff una volta entrati in Land. [Maggiori info in Manuale]. </div> </div> </a> <a href="index.php?act=register&base_group=ElBeth" class="classlink"> <div class="class_container" onmouseover="over(\'bethel\')" onmouseout="restore(\'bethel\')"> <div class="class_image"> <img src="./graphic/beth_el.jpg" class="citizen_banner"> </div> <div class="class_descr" id="bethel"> I discendenti degli "angeli" è una descrizione volgare ma calzante: le loro origini sono tutt'ora nebulose ma si dice che quando un elohim si unisce con un umano ne nasca poi un ibrido dotato di alcune caratteristiche "angeliche": solitamente dotati di corpi belli e armoniosi ma intrisi di deformità che sottolinea l'impurità della loro discendenza. Hanno 6 dita per mano (due pollici opponibili) e una facilità di manipolazione del Quantum (anima?) eccezionale: le arti arcane non hanno segreti per un El-Beth che possono quindi incanalare il Quantum stesso in auree di energia bianco/azzurre volgarmente chiamate aureole, pur potendo camminare preferiscono levitare a circa 15 cm da terra: questo per differenziarsi bene dalle cosiddette altre "razze grezze". Non temono la morte perchè tornano in vita finchè è presente nei paraggi almeno un altro Beth-El [giocatori o pNg presenti] *Tutte le variazioni di razza verranno applicate dallo Staff una volta entrati in Land. [Maggiori info in Manuale]. </div> </div> </a> </div> </div> '; } else { // No, they still need to fill out this form: // If we make it here then the admin wants all the user's they can get! $body = "\t<form action=\"index.php?act=register&step=1\" method=\"post\" name=\"registerform\">\n\t\t\t\t\t\t<table border=\"0\" width=\"400\" cellspacing=\"0\" cellpadding=\"0\"\n\t\t\t\t\t\tid=\"register_table\">\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td width=\"400\" style=\"text-align: center\" colspan=\"4\">{$txt['19']}<Br><Br></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t\t<td width=\"120\" style=\"vertical-align: middle;\">{$txt['2']}:<br>\n <b>Questo nome verra' utilizzato per il login, la posta e per la lista presenti</b></td>\n\t\t\t\t\t\t\t\t<td width=\"175\" height=\"25\"><input type=\"text\" class=\"text_input\" name=\"username\"></td>\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t\t<td width=\"120\" style=\"vertical-align: middle;\">{$txt['3']}: </td>\n\t\t\t\t\t\t\t\t<td width=\"175\" height=\"25\"><input type=\"password\" class=\"text_input\" name=\"pass1\"></td>\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t\t<td width=\"120\" style=\"vertical-align: middle;\">{$txt['21']}: </td>\n\t\t\t\t\t\t\t\t<td width=\"175\" height=\"25\"><input type=\"password\" class=\"text_input\" name=\"pass2\"></td>\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t\t<td width=\"120\" style=\"vertical-align: middle;\">{$txt['20']}: </td>\n\t\t\t\t\t\t\t\t<td width=\"175\" height=\"25\"><input type=\"text\" class=\"text_input\" name=\"email\"></td>\n\t\t\t\t\t\t\t\t<td width=\"50\"> </td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr valign=\"top\">\n\t\t\t\t\t\t\t\t<td width=\"400\" style=\"text-align: center\" colspan=\"4\"><input type=\"submit\" value=\"{$txt['18']}\" class=\"button\"></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</table>\n\t\t\t\t\t\t<input type=\"hidden\" name=\"base_group\" value=\"{$_GET['base_group']}\">\n\t\t\t\t\t\t</form>\n\t\t\t\t\t\t<div align=\"center\">{$txt['22']}<Br><Br><a href=\"./index.php\">[{$txt['77']}]</a></div>\n\t\t\t\t\t"; } } } // Save the body to the print buffer include_once './sources/loginout.php'; print_loginout($body, true); return 1; }