%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/nailstv/public_html/ru.nails.tv/
Upload File :
Create Path :
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);
}

?>

Zerion Mini Shell 1.0