// установить Cookie пользователю для чего угодно
function set_cookie($name_cookie, $value_cookie){
global $time_cookie;
@setcookie($name_cookie, $value_cookie, $time_cookie, "/"); }
// удалить Cookie пользователя для чего угодно
function unset_cookie($name_cookie){
if(!$this->check_cookie($name_cookie)){
return false;
}else{
}
}
// проверить cookie пользователя для чего угодно
function check_cookie($name_cookie = false){
if(isset($_COOKIE[$name_cookie])){ return true;
}else{
return false;
}
}
// установить Cookie пользователю для авторизации
function set_user_cookie($login_domain){
global $time_cookie;
@setcookie("user_login_domain", $login_domain, $time_cookie, "/"); }
// проверить cookie пользователя
function check_user_cookie(){
global $query, $assoc;
if(isset($_COOKIE["user_login_domain"])){ // проверить наличие в базе данных
$sql = "SELECT id FROM users WHERE login_domain = '".$_COOKIE["user_login_domain"]."'";
$sender_query = $query($sql);
if($sender_query){
while($row = $assoc($sender_query)){
$sender = $row['id'];
}
}
if($sender!=false){
return $_COOKIE["user_login_domain"];
}else{
return false;
}
}else{
return false;
}
}
// удалить Cookie пользователя
function unset_user_cookie(){
if(!$this->check_user_cookie()){
return false;
}else{
}
}
// регистрация нового пользователя
function reg_users(){
global $query, $invite_rate, $senders, $uri_site, $site_name, $regsumm;
// ПРИНИМАЕМ ВВЕДЕННЫЕ ДАННЫЕ
$email = $this->str_decode($_POST['email']);
$user_pass = $this->str_decode($_POST['you_pass']);
$repass = $this->str_decode($_POST['you_repass']);
$pass = md5 ($user_pass); $login_domain = md5 ($email.$pass);
$reg_name = $this->str_decode($_POST['reg_name']);
$reg_family = $this->str_decode($_POST['reg_family']);
$age = $this->str_decode($_POST['age']);
$floor = $this->str_decode($_POST['floor']);
// ПРОВЕРКА ОШИБОК
$is_name = $this->isNf($reg_name);
$is_family = $this->isNf($reg_family);
$is_Pass = $this->isText($user_pass);
$is_email = $this->isEmail($email);
$howreg = $this->howreg($is_email, $user_pass, $repass, $is_name, $is_family, $is_Pass);
// ПОКАЗАТЬ СООБЩЕНИЕ ОБ ОШИБКАХ
switch($howreg) {
case "1":
$ermess = "Имя содержит запрещенные символы!";
break;
case "2":
$ermess = "Фамилия содержит запрещенные символы!";
break;
case "3":
$ermess = "Неверный E-mail!";
break;
case "4":
$ermess = "Введенный Email уже занят!";
break;
case "5":
$ermess = "Не указан пароль!";
break;
case "6":
$ermess = "Пароль содержит запрещенные символы!";
break;
case "7":
$ermess = "Введенные пароли не совпадают!";
break;
case "8":
$ermess = "Неверный код с картинки!";
break;
}
// ЕСЛИ НЕ ВОЗНИКЛО ОШИБОК РЕГИСТРИРУЕМ
if(!$ermess){
// ЕСЛИ ПРИШЕЛ ПО ИНВАЙТУ НАЧИСЛИТЬ БОНУС
if($_COOKIE["user_invite"]){
$user_invite = $_COOKIE["user_invite"];
// проверить есть ли фото на голосовании
$check_photo = $this->check_info('main_photo_id', 'users', 'id', $user_invite);
if($check_photo){
// начислить рейтинг фотографии и пользователю
$query("UPDATE users_album_photos SET photo_rate = (photo_rate + '$invite_rate') WHERE photo_id = '$check_photo' LIMIT 1");
$query("UPDATE users SET rate = (rate + '$invite_rate') WHERE id = '$user_invite' LIMIT 1");
}
}
// добавляем пользователя в базу
$sql = "INSERT INTO users (id, email, pass, name, family, age, floor, login_domain, users_date, user_invite, users_update1, rate)
VALUE ('', '$email', '$pass', '$reg_name', '$reg_family', '$age', '$floor', '$login_domain', NOW(), '$user_invite', NOW(), '$regsumm')";
$query($sql);
// авторизируем
$this->set_user_cookie($login_domain);
// Данные пользователя
$sender = $this->last_obj('users', 'id');
// отправляем уведомления
include "addon_pages/reg_mess.php";
}
return $ermess;
}
// ПЕРЕКЛЮЧАТЕЛЬ ДЛЯ ВЫВОДА ОШИБОК И ПРЕДУПРЕЖДЕНИЙ
function howreg($is_email, $user_pass, $repass, $is_name, $is_family, $is_Pass){
global $query, $num_rows;
if(!$is_name){
$error = 1; // в имени запрещенные символы!
}
if(!$is_family){
$error = 2; // в фамилии запрещенные символы!
}
if(!$is_email){
$error = 3; // неверный емайл адрес!
}
$email_query = $query("SELECT email FROM users WHERE email='$is_email'");
if($num_rows($email_query)!=0){
$error = 4; // email уже занят!
}
if($user_pass==""){
$error = 5; // не указан пароль
}
if(!$is_Pass){
$error = 6; // в пароле запрещенные символы!
}
if($user_pass != $repass){
$error = 7; // пароли не совпадают
}
if($_SESSION['captcha_keystring'] != $_POST['captcha_string']){
$error = 8; // неверный код с картинки!
}
return $error;
}// end howreg
/////// START этот блок надо заменить на новую функцию preg_match() ///////////
// ПРОВЕРКА ДОПУСТИМЫХ СИМВОЛОВ
function isText($text){
return true;
}
}// end isText
// ПРОВЕРКА ПРАВИЛЬНОСТИ ВВЕДЕННОГО ЕМАЙЛ АДРЕСА
function isEmail($email){
if (!preg_match('|([a-z0-9_\.\-]{1,20})@([a-z0-9\.\-]{1,20})\.([a-z]{2,4})|is', $email)){ return false;
}else{
return true;
}
}// end isEmail
// ПРОВЕРКА ПРАВИЛЬНОСТИ ВВЕДЕННЫХ ИМЕНИ И ФАМИЛИИ
function isNf($nf){
//return eregi('[0-9_a-zA-Zа-яА-я]', $nf);
return true;
}
}// end isNf
// ПРОВЕРКА ПРАВИЛЬНОСТИ ССЫЛКИ
function isLink($link){
if (preg_match("/([a-z]+:\/\/+[_a-z0-9-]+\.+[a-z])/i", $link)) { return $link;
}
}// end isLink