%PDF- %PDF-
Direktori : /home/nailstv/public_html/ru.nails.tv/ |
Current File : /home/nailstv/public_html/ru.nails.tv/registration.php |
<?php require_once 'config/config.php'; //Registry::set('debug', true); $p['title'] = 'Регистрация в систему nailtube.com.'; $p['desc'] = 'Регистрация в систему nailtube.com. Используйте любимые, голосовать.'; $p['keywords'] = 'накладные ногти, мастер, регистрация'; $p['pagename'] = 'Регистрация'; $page = new Page(Registry::get('site'), false, $p); Registry::set('page', $page); $page->assign('content', content()); $page->display('page.tpl.html'); //////////////////////////////////////////////////////////////////////////////// function content() { //Registry::get('page')->assign('crop_img', 1); $db = Registry::get('db'); $c = new Content(); $v = new Inputvalidator; $c->assign('jobb_banner', Page::banner(2,'jobb')); Page::seoFromDb(2); $table = 'felhasznalo'; if(isset($_SESSION['reg_ok']) && $_SESSION['reg_ok']) { $_SESSION['reg_ok'] = false; $c->assign('cim', 'Регистрация'); $c->assign('msg', 'Успешная регистрация'); return $c->fetch('regisztracio.tpl.html'); } if($_POST && isset($_POST['func']) && $_POST['func'] == 'reg') { $rec = validate($_POST, $v); if($v->isError) { $c->assign('reg_error', $v->printError()); $c->assign('edit', $rec); } else { if(empty($_POST['id'])) { $rec['id'] = $db->GenID('_felhasznalo_id'); $rec['last_ip'] = $_SERVER['REMOTE_ADDR']; $db->insert($rec, $table); sendAdminMail($rec); if($rec['hirlevel'] == 't'){ $hl['datum'] = date("Y-m-d H:i:s"); $hl['nev'] = $rec['nev']; $hl['email'] = $rec['email']; $db->insert($hl, 'hirlevel_cimek'); } //User::pont($rec['id'], 1); if($rec['tipus'] == 'mukormos') { User::pont($rec['id'], 2); } if(!empty($rec['meghivo']) && $rec['tipus'] == 'mukormos'){ $bind = $rec['meghivo']; $sql = "SELECT id FROM felhasznalo WHERE email = ? AND storno = 'f'"; $hivo = $db->GetRow($sql, $bind); $sql = "select COUNT(id) AS num from felhasznalo where email = '". $rec['email'] ."'"; $volt_mar_regisztralva = $db->GetRow($sql); } $user = new User(Registry::get('site'), 'felhasznalo'); $user->checkLogin($rec['login'], $rec['not_crypted_pass'], 'login'); $ma = date("Y-m-d H:i:s"); $bind = array($ma, $rec['id']); $sql = "UPDATE felhasznalo SET last_login = ? WHERE id = ?"; $db->query($sql, $bind); $_SESSION['reg_ok'] = true; sendRegMail($rec); } else { $db->update($rec, $table); if($rec['hirlevel'] == 'f'){ $sql = "UPDATE hirlevel_cimek SET storno = 't' WHERE email = '" . $rec['email'] . "'"; $db->execute($sql); $sql = "DELETE FROM hirlevel_cimek WHERE email = '" . $rec['email'] . "'"; $db->execute($sql); } else { $hl['datum'] = date("Y-m-d H:i:s"); $hl['nev'] = $rec['nev']; $hl['email'] = $rec['email']; $db->insert($hl, 'hirlevel_cimek'); $sql = "UPDATE felhasznalo SET hirlevel = 't' WHERE id = '" . $_SESSION[Registry::get('site')]['user_id'] . "'"; $db->execute($sql); } } header('Location: ' . Registry::get('wwwroot'). '/registration'); die; } } if(!empty($_SESSION[Registry::get('site')]['user_id'])) { $c->assign('cim', 'Adatmódosítás'); } else { $c->assign('cim', 'Regisztráció'); } if(!empty($_SESSION[Registry::get('site')]['user_id']) && empty($edit)) { $sql = "SELECT * FROM felhasznalo WHERE id = ?"; $edit = $db->GetRow($sql, array($_SESSION[Registry::get('site')]['user_id'])); $c->assign('edit', $edit); } return $c->fetch('regisztracio.tpl.html'); } function validate($rec, $v) { $db = Registry::get('db'); $l = Registry::get('lang'); // teljes név $msg = array('Обязательно надо дать полное имя'); $rec['nev'] = $v->v($rec['nev'], 'required, stripHtml', $msg); // login $msg = array('Обязательно надо дать имя пользователя'); $rec['login'] = $v->v($rec['login'], 'required, stripHtml', $msg); if(!preg_match("/^[a-z0-9A-Z]{3,30}$/", $rec['login'])) { $v->addError('Имя пользователя должно содержать только буквы и цифры латиницы и не менее 3 и не более 30 символов.'); } $sql = "SELECT id FROM felhasznalo WHERE login = ? AND storno = 'f'"; $bind = array($rec['login']); if(!empty($rec['id'])) { $sql .= " AND id != ?"; $bind[] = $rec['id']; } $row = $db->GetRow($sql, $bind); if(!empty($row['id'])) { $v->addError('Это имя пользователя уже используется, пожалуйста, выберите другой.'); } // jelszó if(!empty($rec['pass']) && $rec['pass'] != $rec['pass2']) { $v->addError('Пароли не совпадают.'); } else if(empty($rec['id']) && empty($rec['pass'])) { $v->addError('Обязательно надо дать пароль.'); } else if(!empty($rec['pass'])) { $rec['not_crypted_pass'] = $rec['pass']; $rec['pass'] = String2::cryptPass($rec['pass']); } else { unset($rec['pass']); } // email $msg = array('Обязательно надо дать адрес электронной почты.', 'Неверный адрес электронной почты.'); $rec['email'] = $v->v($rec['email'], 'required, email', $msg); $sql = "SELECT id FROM felhasznalo WHERE email = ? AND storno = 'f'"; $bind = array($rec['email']); if(!empty($rec['id'])) { $sql .= " AND id != ?"; $bind[] = $rec['id']; } $row = $db->GetRow($sql, $bind); if(!empty($row['id'])) { $v->addError('Этот адрес уже используется, пожалуйста выберите другой, или попросить напоминания пароля.<a href=http://ru.nailtube.com/password_reminder><u>jelszóemlékeztetőnket </u></a>.'); } $rec['hirlevel'] = 't'; if(!isset($_POST['tizenhat']) && empty($rec['id'])) { $v->addError('На сайт nailtube.com могут зарегистрироваться лица старше 16-и лет. Вы должны заявить, что Вам исполнилось 16 лет.'); } else { $rec['tizenhat'] = 't'; } if(!isset($_POST['elfogad']) && empty($rec['id'])) { $v->addError('Вы должны согласиться с правилами и политикой конфиденциальности.'); } else { $rec['elfogad'] = 't'; } $rec['reg_date'] = date("Y-m-d H:i:s"); return $rec; } function sendRegMail($rec) { $c = new Content; $c->assign('rec', $rec); $mail = new PHPMailer(); $mail->CharSet = "utf-8"; /*$mail->IsSMTP(); $mail->Host = Registry::get('smtp_host'); $mail->SMTPAuth = true; $mail->Username = Registry::get('smtp_user'); $mail->Password = Registry::get('smtp_pass');*/ $mail->Subject = 'Успешная регистрация'; $mail->From = Registry::get('email'); $mail->FromName = Registry::get('from'); $mail->Body = $c->fetch('mail_regisztracio.tpl.html'); $mail->AddAddress($rec['email']); if(!$mail->Send()) { echo "Писмо не отправлено"; echo "Ошибка: " . $mail->ErrorInfo; exit; } } function sendAdminMail($rec) { $db = Registry::get('db'); $c = new Content; $ip = $_SERVER['REMOTE_ADDR']; $email['subject'] = $ip . ' - Регистрация на nailtube.com - '. $rec['nev']; $email['from'] = Registry::get('email'); $email['fromname'] = Registry::get('from'); $email['to'] = Registry::get('email'); $c->assign('rec', $rec); $email['body'] = $c->fetch('admin/mail_admin_reg.tpl.html'); Page::sendEmail($email); } ?>