function registration($login, $pass, $email, $name, $flag_email_approve) { $login = mysql_escape_string(killMagic($login)); $pass = mysql_escape_string(killMagic($pass)); $email = mysql_escape_string(killMagic($email)); $name = mysql_escape_string(killMagic($name)); $stor = new Storage(); $stor = $stor->storType(TE_STORTYPE); $hamster = $stor->make('hamster'); $hamster->setProperty('login', $login); $data = $hamster->getList(); $hamster = $stor->make('hamster'); $hamster->setProperty('email', $email); $e_data = $hamster->getList(); if ($name == "") { $name = $login; } if (count($data) > 0) { $regmes = my_lang('regist_t1'); } elseif (count($e_data) > 0) { $regmes = my_lang('regist_t2'); } else { // подтвердить email if ($flag_email_approve !== true) { $eapp = 0; } else { $eapp = 1; sub_add($email); // lib.php } $user = array('status' => 'user', 'login' => $login, 'name' => $name, 'email' => $email, 'password' => $pass, 'approve' => $eapp); $hamster->setProps($user); $hamster->add(); $_SESSION['login'] = $login; $_SESSION['pass'] = $pass; $_SESSION['name'] = $name; $hamster->setProperty('login', $login); $hamster->get(); $data = array(); $data = $hamster->getProps(); $_SESSION['author_id'] = $data['id']; $_SESSION['status'] = $data['status']; $_SESSION['tz'] = $data['tz']; if ($flag_email_approve !== true) { include_once 'lib/mail_lib.php'; send_email_req($data); } $regmes = true; } return $regmes; }
function profile($pass, $email, $name, $tz, $resp = '') { $pstl = strlen($pass); $pro_data = get_profile(intval($_SESSION['author_id'])); $stor = new Storage(); $stor = $stor->storType(TE_STORTYPE); $user = $stor->make('hamster'); $user->setProperty('email', $email); $res = $user->get(); if ($res !== false) { $e_data = $user->getProps(); } else { $e_data = false; } $name_user = $stor->make('hamster'); $name_user->setProperty('name', $name); $res = $name_user->get(); if ($res !== false) { $n_data = $name_user->getProps(); } else { $n_data = false; } if ($name == "") { $name = $_SESSION['login']; } // чужой email if ($e_data !== false && $e_data['email'] == $email && $e_data['id'] != $_SESSION['author_id']) { $regmes = my_lang('profile_t1'); } elseif ($n_data !== false && $n_data['id'] != $_SESSION['author_id']) { $regmes = my_lang('profile_t8'); } elseif ($pass !== '' && ($pstl < 3 or $pstl > 45)) { $regmes = my_lang('profile_t2'); } elseif (filter_var($email, FILTER_VALIDATE_EMAIL) == false) { $regmes = my_lang('feedback_t1'); } elseif (intval($tz) < -12 || intval($tz) > 12) { exit; } else { $name = mysql_escape_string(killMagic($name)); $pass = mysql_escape_string(killMagic($pass)); $email = mysql_escape_string(killMagic($email)); $tz = intval($tz); if (!isset($_REQUEST['new_resp'])) { $resp = $pro_data['respect']; } else { $resp = htmlspecialchars(killMagic($resp)); } if ($pro_data['email'] !== $email) { include_once 'lib/mail_lib.php'; loot_add($email); $reg = Registry::instance(); $hamster = $reg->get('hamster_info'); $hamster['email'] = $email; send_email_req($hamster); $regmes .= my_lang('profile_t5') . '<br/>'; } $props = array('name' => $name, 'tz' => $tz, 'id' => $_SESSION['author_id'], 'respect' => $resp); if ($pass !== '') { $props['password'] = sha1($pass); } $user = $stor->make('hamster'); $user->setProperty('id', $_SESSION['author_id']); $sql_upd = $user->upd($props); if ($sql_upd == true) { $regmes .= my_lang('profile_t3'); } else { $regmes .= my_lang('error'); } $pro_data = get_profile(intval($_SESSION['author_id'])); $_SESSION['pass'] = $pro_data['password']; $_SESSION['name'] = $pro_data['name']; $_SESSION['tz'] = $pro_data['tz']; } return $regmes; }