ACC SHELL

Path : /srv/www/vhosts/centrumlb/inc/
File Upload :
Current File : //srv/www/vhosts/centrumlb/inc/registracni_formular.php

<?php
/*
  include_once($_SERVER['DOCUMENT_ROOT'] . '/administrace/config/config.php');
  include_once($_SERVER['DOCUMENT_ROOT'] . PROJEKT . '/administrace/libs/funkcephp.php');
  include_once($_SERVER['DOCUMENT_ROOT'] . PROJEKT . '/administrace/libs/kategorie.class.php');
 */
$valid = true;

function sendMessageToAdmin($arr) {
    $mail = new NMail;
    $mail->setFrom(EMAIL_FROM);

    //poslat informaci adminovi
    $mail->addTo(EMAIL_TO);
    //poslat informaci uzivateli?
    //$mail->addTo($arr['email']);
    if (MARTIN) {
	$mail->addBcc(MARTIN);
    }
    if (TOMAS) {
	$mail->addBcc(TOMAS);
    }

    $mail->setSubject('Zpráva z registrační formuláře');
    $mail_text = '';
    if (!empty($arr['jmeno'])) {
	$mail_text = 'Zpráva od uživatele: ' . $arr['jmeno'] . ' ' . $arr['prijmeni'] . '<br /><br />';
    }

    $mail_text .= 'Jméno: ' . $arr['jmeno'] . '<br /><br />';
    $mail_text .= 'Příjmení: ' . $arr['prijmeni'] . '<br /><br />';
    $mail_text .= 'Email: ' . $arr['email'] . '<br /><br />';
    $mail_text .= 'Telefon: ' . $arr['telefon'] . '<br /><br />';
    $mail_text .= 'Název firmy: ' . $arr['nazev_firmy'] . '<br /><br />';
    $mail_text .= 'Ulice: ' . $arr['ulice'] . '<br /><br />';
    $mail_text .= 'Město: ' . $arr['obec'] . '<br /><br />';
    $mail_text .= 'PSČ: ' . $arr['psc'] . '<br /><br />';
    $mail_text .= 'IČO: ' . $arr['ico'] . '<br /><br />';
    $mail_text .= 'DIČ: ' . $arr['dic'] . '<br /><br />';
    $mail_text .= 'Jméno dodací: ' . $arr['jmeno_dodaci'] . '<br /><br />';
    $mail_text .= 'Příjmení dodací: ' . $arr['prijmeni_dodaci'] . '<br /><br />';
    $mail_text .= 'Název firmy dodací: ' . $arr['nazev_firmy_dodaci'] . '<br /><br />';
    $mail_text .= 'Ulice dodací: ' . $arr['ulice_dodaci'] . '<br /><br />';
    $mail_text .= 'Město dodací: ' . $arr['obec_dodaci'] . '<br /><br />';
    $mail_text .= 'PSČ dodací: ' . $arr['psc_dodaci'] . '<br /><br />';
    $mail_text .= 'Odběr novinek: ';
    $mail_text .= $arr['newsletter'] == 1 ? 'Ano' : 'Ne';
    $mail_text .='<br /><br />';
    $mail->setHTMLBody($mail_text);
    $mail->send();
    //Tools::redirect($_SERVER['HTTP_REFERER']);
    if (isset($_SESSION['backlink'])) {
	$tmpBacklink = $_SESSION['backlink'];
	unset($_SESSION['backlink']);
	Tools::redirect('http://' . SERVER_NAME . $tmpBacklink);
    }
    else {
	Tools::redirect('http://' . SERVER_NAME . '/profil');
    }

    //NDebugger::barDump($mail_text);
}

//NDebugger::dump($_POST);
if ($_POST['robot'] * 1 != 6) {
    Tools::message('Zodpověděli jste špatně kontrolní otázku.', 'ERR');
    $valid = false;
} else {
    $mail = Validate::validateMail($_POST['email']);
    if (!$mail) {
	$valid = false;
    }

    $jmeno = Validate::validateString($_POST['jmeno'], 'Jméno', true);
    if (!$jmeno) {
	$valid = false;
    }
    $prijmeni = Validate::validateString($_POST['prijmeni'], 'Příjmení', true);
    if (!$prijmeni) {
	$valid = false;
    }
    $telefon = Validate::validateString($_POST['telefon'], 'Telefon', true);
    if (!$telefon) {
	$valid = false;
    }
    $ulice = Validate::validateString($_POST['ulice'], 'Ulice', true);
    if (!$ulice) {
	$valid = false;
    }
    $obec = Validate::validateString($_POST['obec'], 'Město', true);
    if (!$obec) {
	$valid = false;
    }
    $psc = Validate::validatePSC($_POST['psc'], 'PSČ', true);
    if (!$psc) {
	$valid = false;
    }

    $firma = htmlspecialchars($_POST['firma']);
    $ico = htmlspecialchars($_POST['ico']);
    $dic = htmlspecialchars($_POST['dic']);

    $jmeno_dodaci = htmlspecialchars($_POST['jmenododaci']);
    $prijmeni_dodaci = htmlspecialchars($_POST['prijmenidodaci']);
    $firma_dodaci = htmlspecialchars($_POST['firmadodaci']);
    $ulice_dodaci = htmlspecialchars($_POST['ulicedodaci']);
    $obec_dodaci = htmlspecialchars($_POST['obecdodaci']);
    $psc_dodaci = htmlspecialchars($_POST['pscdodaci']);
    $newsletter = isset($_POST['newsletter']) ? 1 : 0;


    $password = Tools::getPassword($_POST['password']);
    $passwordVerify = Tools::getPassword($_POST['passwordVerify']);

    if ($password !== $passwordVerify) {
	$valid = false;
	Tools::message('Zadané hesla se neshodují.', 'ERR');
    }
}

if ($valid) {
    $token = Tools::generujHeslo(12);
    $user_login = array(
	//'jmeno' => !empty($jmeno) ? $jmeno : false,
	'login' => $mail,
	'email' => $mail,
	'password' => $password,
	'token' => $token,
    );
    $user_detail = array(
	'jmeno' => $jmeno,
	'prijmeni' => $prijmeni,
	'email' => $mail,
	'telefon' => $telefon,
	'nazev_firmy' => $firma,
	'ulice' => $ulice,
	'obec' => $obec,
	'psc' => $psc,
	'ico' => $ico,
	'dic' => $dic,
	'jmeno_dodaci' => $jmeno_dodaci,
	'prijmeni_dodaci' => $prijmeni_dodaci,
	'nazev_firmy_dodaci' => $firma_dodaci,
	'ulice_dodaci' => $ulice_dodaci,
	'obec_dodaci' => $obec_dodaci,
	'psc_dodaci' => $psc_dodaci,
	'registrovany' => 1,
	'newsletter' => $newsletter,
	'tm_registered' => new DateTime,
	'tm_changed' => new DateTime,
    );

    $user = new User();
    $user_detail['id_login'] = $user->doRegistration($user_login);
    //NDebugger::dump($user_detail);NDebugger::dump($_SESSION);exit;

    if ($user_detail['id_login']) {
	if ($user->insert($user_detail)) {
	    Tools::message('Registrace proběhla.', 'OK');
	    //NDebugger::dump($_POST);NDebugger::dump($user_detail);NDebugger::dump($user_login);exit;
	    if (isset($_POST['permanent'])) {
		$info['name'] = $PURE['PERMANENT_LOGIN']['name'];
		$info['value'] = 'usr=' . $login . '&pwd=' . $password . '&token=' . $token;
		$info['expiry'] = time() + $PURE['PERMANENT_LOGIN']['expiry'];
		$user->setCookie($info);
		$_SESSION['user'] = $user->permanentLogin($user_login);
		$lastLogin['id'] = $user_detail['id_login'];
		$lastLogin['last_login'] = new DateTime;
		$user->updateLogin($lastLogin);
	    } else {
		//Prihlasit ihned po registraci
		$user->login($user_login);
	    }
	    $_SESSION['user'] = $user->fetchSingle($user_detail['id_login']);

//Poslat uzivateli email s informaci ohledne registrace
	    sendMessageToAdmin($user_detail);
	} else {
	    Tools::message('Při registraci se vyskytl problém.', 'ERR');
	}
    } else {
	Tools::message('Při registraci se vyskytl problém', 'ERR');
    }
}
?>

ACC SHELL 2018