OpenSencillo  2015.009
Long live the simplicity of PHP
 All Data Structures Namespaces Files Functions Pages
D:/DATA/GIT/GH/OpenSencillo/ajax.slot.php
1 <?php
2 error_reporting(E_ERROR | E_PARSE);
3 session_start();
4 require_once("./basicstrap.php");
5 
6 $logman=new logMan;
7 $email=new mailGen;
8 $emailhead=new headerSeo;
9 
10 $log=$logman->getSignedUser();
11 $status=array(
12  'called'=>$_POST['atype'],
13  'date'=>date('Y-m-d'),
14  'time'=>date('H:i:s')
15 );
16 if($_POST['atype']!='')
17 {
18  $ajax=$_POST;
19 }
20 switch($ajax['atype'])
21 {
22  case 'login':
23  $logman->openTable('users');
24  if(filter_var($ajax[$ajax['atype'].'email'],FILTER_VALIDATE_EMAIL))
25  {
26  $status['user']=$logman->output("`login`='".strtolower($ajax[$ajax['atype'].'email'])."' AND `pass`=MD5('".$ajax[$ajax['atype'].'pass']."')","`id` ASC",1);
27  if($status['user']['line'][1][0]>0)
28  {
29  $status['status']='authorized';
30  $status['code']=202;
31 
32  $_SESSION['userid']=$status['user']['line'][1][0];
33  $_SESSION['login']=$status['user']['line'][1][3];
34  $_SESSION['email']=$status['user']['line'][1][5];
35  $_SESSION['perm']=$status['user']['line'][1][8];
36  $_SESSION['sessionid']=session_id();
37  $_SESSION['start']=date('Y-m-d H:i:s');
38  if($status['user']['line'][1][1]=='first_use')
39  {
40  $_SESSION['tutorial']=true;
41  }
42  else
43  {
44  $_SESSION['tutorial']=false;
45  }
46  $logman->update('`id`='.$status['user']['line'][1][0],"`sign`='".$_SESSION['sessionid']."'");
47  }
48  else
49  {
50  $status['status'] = 'unauthorized';
51  $status['code'] = 404;
52  }
53  } else {
54  $status['status'] = 'invalid';
55  $status['code'] = 403;
56  }
57  break;
58  case 'ereg':
59  $logman->openTable('users');
60  if(filter_var($_POST[$ajax['atype'].'email'], FILTER_VALIDATE_EMAIL))
61  {
62  if($_POST[$ajax['atype'].'pass']===$_POST[$ajax['atype'].'rtp'])
63  {
64  $status['user']=$logman->output("`login`='".strtolower($ajax[$ajax['atype'].'email'])."'","`id` ASC",1);
65  if(empty($status['user']['line'][1][0]))
66  {
67  try {
68  $name = explode(" ",$_POST[$ajax['atype'].'fullname']);
69  $logman->insert("'first_use',0,'" . strtolower($_POST[$ajax['atype'].'email']) . "',MD5('" . $_POST[$ajax['atype'].'pass'] . "'),'" . strtolower($_POST[$ajax['atype'].'email']) . "','" . $logman->clean(ucwords(strtolower($name[0]))) . "','" . $logman->clean(ucwords(strtolower($name[1]))) . "',1000,'" . $log['external_ip'] . ":" . $log['port'] . "','" . $log['agent'] . "',DATE(NOW()),TIME(NOW())");
70  $status['status'] = 'ok';
71  $status['code'] = 200;
72  } catch (Exception $e) {
73  $status['status'] = 'failed';
74  $status['code'] = 417;
75  }
76  }
77  else
78  {
79  $status['status'] = 'exist';
80  $status['code'] = 409;
81  }
82  }
83  else
84  {
85  $status['status'] = 'conflict pass retype';
86  $status['code'] = 409.1;
87  }
88  } else {
89  $status['status'] = 'invalid';
90  $status['code'] = 403;
91  }
92  break;
93  case 'forgot':
94  $_POST['email']=$_POST[$ajax['atype'].'email'];
95  $status=$logman->forgot();
96  if($status['code']===200)
97  {
98  $log=$logman->getSignedUser();
99  $logman->openTable('users');
100  $logman->update("`email`='{$_POST['email']}'","`sign`='change_pass',`pass`=MD5('{$status['confirm-code']}'),`ip`='".$log['external_ip'].":".$log['port']."',`agent`='".$log['agent']."',`date`='".$status['date']."',`time`='".$status['time']."'");
101  $email->to($_POST['email']);
102  $email->from('info@'.$_SERVER['SERVER_NAME']);
103  $email->subject('New password - '.$_SERVER['SERVER_NAME']);
104  $email->html();
105  $emailhead->encode();
106  $email->body($emailhead->save()."<body><p>Hello {$_POST['email']},</p><p>your new password is <b>{$status['confirm-code']}</b>.</p></body></html>");
107  $email->send();
108  }
109  break;
110  case 'install::first_info':
111  break;
112  case 'install::automatic_validation':
113  break;
114  case 'install::create_fs':
115  break;
116  case 'install::create_db':
117  break;
118 
119  default:
120  $status['status'] = 'not acceptable';
121  $status['code'] = 405;
122  break;
123 }
124 unset($status['user']);
125 print json_encode($status);
126 ?>