- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
<?php
abstract class registration{
/**
* @desc тип пользователя (soiskatel, rabotodatel, agent)
*/
protected $type;
abstract protected function set_BDToValidationUsers($login,$passwd,$lastName,$firstName,$patronymic,$phone,$sex,$year_month_day,$key);
abstract protected function set_BDFinalRegistration();
/**
* @desc сохраняет данные в таблице БД валидатор
*/
static public function pre_registration(){
#ПРОВЕРКА ПЕРЕДАННЫХ ДАННЫХ#
#НЕ СДЕЛАНО#
$array=$_POST;
$array['year_month_day']=$array['year'].'-'.$array['month'].'-'.$array['day'];
#СОХРАНЕНИЕ ДАННЫХ В БАЗЕ#
if(self::set_BDToValidationUsers($array['login'],$array['passwd'],$array['lastName'],$array['firstName'],$array['patronymic'],$array['phone'],$array['sex'],$array['year_month_day'],$array['key'])){
#ОТПРАВКА СООБЩЕНИЯ НА ПОЧТУ ДЛЯ ПОДТВЕРЖДЕНИЯ#
if(!self::send_mailRegistration($mail)){
return array(true);
}else{ return array(false,'mail');}
}else{ return array(false,'dataBase');}
}
protected function test_activation_key($key){
$query="SELECT * FROM validation_users WHERE activation_key='".$key."'";
$test=Mysql::prepare($query)->execute()->fetchall_assoc();
if(count($test)>0) return $test[0];
else return false;
}
protected function send_mailRegistration($mail){
$send=md5($mail.microtime());
$subject='регистрация на сайте';
$tetx2mail='регистрация на сайте my-new-job.wd<br>для подтверждения регистрации перейдите по ссылке <br><a href="http://my-new-job.wd/register/'.self::$type.'/mail/?key='.$send.'&save=y">подтвердить регистрацию</a><br><a href="http://my-new-job.wd/register/'.self::$type.'/mail/?key='.$send.'&save=n">отказаться от регистрации</a>';
$tetx2mail=iconv('utf-8','windows-1251',$tetx2mail);
if(@mail($mail,$subject,$tetx2mail)) return true;
else return false;
}
}
final class register_soiskatel extends registration{
protected $type='soiskatel';
static function registraion($key){
#ВАЛИДАЦИЯ ПЕРЕДАННЫХ ДАННЫХ#
#НЕ СДЕЛАНО#
#СОХРАНЕНИЕ ДАННЫХ В БАЗЕ#
if($test=self::test_activation_key($key)){
if(self::set_BDFinalRegistration($test)){
return array(true);
}else return array(false,'dataBase');
}else return array(false,'actiavation_key');
}
/**
* @desc заполняем предварительную таблицу БД для регистрации соискателя
* @see registration::set_BDToValidationUsers()
* @param string логин соискателя
* @param string пароль соискателя
* @param string имя соискателя
* @param string фамилия соискателя
* @param string отчество соискателя
* @param string телефон(ы) соискателя
* @param string пол соискателя
* @param string дата рождения соискателя
* @param string ключ активации
* @return bool занесена новая запись в БД или нет
*/
protected function set_BDToValidationUsers($login,$passwd,$lastName,$firstName,$patronymic,$phone,$sex,$year_month_day,$key){
$query='INSERT INTO validation_users
(login,
user_type,
password,
last_name,
first_name,
patronymic,
phones,
sex,
birthdate,
activation_key,
puttime)
VALUES
("'.$login.'",
"'.Qualifier::getCompetitorID().'",
"'.md5($passwd).'",
"'.$lastName.'",
"'.$firstName.'",
"'.$patronymic.'",
"'.$phone.'",