people.class.php 3.78 KB
<?php
Class People{
 private $db;
 private $lang;
 
 function __construct($lang){
  $this->db = sdb::getInstance();
  $this->lang = $lang;
 }
 
	public function valid($data){
		$error = array();
		if(isset($data['name'])){
			if( !preg_match("/.{1,100}/i",$data['name']) ) $error[] = "Îøèáêà ââîäà ïîëÿ Èìÿ (Ìàêñèìóì 100 ñèìâîëîâ).";
		}
  
	
		if(isset($data['email'])){
			if( !preg_match("/^([^@]+)+@([^@]+)\.([^@]+)$/i",$data['email']) || strlen($data['email'])>80 ) $error[] = "Îøèáêà ââîäà ïîëÿ E-mail, äî 80 ñèìâîëîâ.";
			elseif($this->isEmail($data['email']))$error[] = "Îøèáêà ââîäà ïîëÿ E-mail, òàêîé E-mail óæå çàðåãèñòðèðîâàí.";
		}

		if(isset($data['psw'])){
			if( !preg_match("/.{1,100}/i",$data['psw']) ) $error[] = "Îøèáêà ââîäà ïîëÿ Ïàðîëü (Ìàêñèìóì 100 ñèìâîëîâ).";
			elseif($data['psw']!=$data['psw_to'])$error[] = "Îøèáêà ââîäà ïîëÿ Ïàðîëü è ïîëÿ Ïîâòîðèòü ïàðîëü.";
		}		
  
		return $error;
	} 
 
 private function password(){
	$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; 
	$max=10; 
	$size=StrLen($chars)-1; 
	$password=null; 

    while($max--) 
    $password.=$chars[rand(0,$size)];

	return $password;	
 }
 
 public function saveOrder($people_id,$data){
	$table_name = "people_orders";
	$fields_values = array('people_id'=>$people_id,
							'name'=>$data['order_name'],
							'adress'=>$data['order_adress'],
							'email'=>$data['order_email'],
							'phone'=>$data['order_phone'],
							'comment'=>$data['order_comment']
							);
	
	$this->db->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT);
	
	return mysql_insert_id();
 }  

 public function save($data){
	$table_name = "people";
	$fields_values = array('email'=>$data['email'],'psw'=>$data['psw'],'name'=>$data['name']);
	
	$this->db->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT);
	
	return mysql_insert_id();
 } 

 public function savePeople($data){
	$table_name = "people";
	$fields_values = array('email'=>$data['order_email'],'psw'=>$this->password(),'name'=>$data['order_name']);
	
	$this->db->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT);
	
	return mysql_insert_id();
 }
 
 public function login($data){
	$error = array();
	$id = $this->db->getOne("select id from people where email=? and psw=?",array($data['login'],$data['psw']));
	if(!$id)$error[] = "Îøèáêà ââîäà ëîãèíà èëè ïàðîëÿ!";
	return $error;
 }
 
 public function isLogin(){
	return $this->db->getOne("select id from people where email=? and psw=?",array($_SESSION['people']['login'], $_SESSION['people']['psw']));
 }
 
 public function isEmail($email){
	return $this->db->getOne("select id from people where email=?",array($email));
 }
 
 public function is_login_session(){
  if( $this->db->getOne("select count(*) from people where email=? and psw=?",array($_SESSION['people']['login'], $_SESSION['people']['psw'])) ) return true;
  return false;
 }

 public function getLogin(){
	return $this->db->getRow("select * from people where email=? and psw=?",array($_SESSION['people']['login'], $_SESSION['people']['psw']),DB_FETCHMODE_ASSOC);
 }

 public function sendLoginPswPeople($people_id){
	$row = $this->db->getRow("select * from people where id=?",array($people_id),DB_FETCHMODE_ASSOC);
	$mail = new PHPMailer();
	$mail->CharSet = "windows-1251";
	$mail->From = "send@gopro.com.ua";
	$mail->FromName = "GoPro";
	$mail->AddAddress($row['email'], $row['name']);
	$mail->Subject = "Íàïîìèíàíèå ïàðîëÿ"; 
	$msg = "Çäðàâñòâóéòå, ".$row['name']." !<br />";
	$msg .= "Äëÿ âõîäà â ëè÷íûé êàáèíåò èñïîëüçóéòå ñëåäóþùèå äàííûå:<br />";
	$msg .= "ËÎÃÈÍ: ".$row['email']."<br />";
	$msg .= "ÏÀÐÎËÜ: ".$row['psw']."<br />";
	$msg .= "Æåëàåì ïðèÿòíûõ ïîêóïîê!";
	$mail->MsgHTML($msg);
   
	if(!$mail->Send()){echo "There has been a mail error sending to <br>";return false;}
	$mail->ClearAddresses();
	$mail->ClearAttachments();	
 } 

}
?>