%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/notification/cgi-bin/src/Controller/ |
Upload File : |
<?php
namespace App\Controller;
use Cake\Core\Configure;
use Cake\Network\Exception\ForbiddenException;
use Cake\Network\Exception\NotFoundException;
use Cake\View\Exception\MissingTemplateException;
use Cake\Event\Event;
use Cake\Network\Session\DatabaseSession;
use Cake\Validation\Validator;
use App\Model\Validation\PictureValidator;
use App\Model\Validation\LoginValidator;
use App\Model\Validation\ProfileValidator;
use Cake\Utility\Security;
use Cake\ORM\Table;
use Cake\ORM\Entity;
use Cake\Auth\DefaultPasswordHasher;
use Cake\Mailer\Email;
class UsersController extends AppController
{
public function beforeFilter(Event $event)
{
parent::beforeFilter($event);
$this->loadModel("cities");
$querycities = $this->cities->find('all', ['conditions' => ['action' => 'YES'],'order' => 'name'])->enableHydration(false);
$this->set('querycities', $querycities);
$this->loadModel("treatments");
$treatmentsvalue = $this->treatments->find('all', ['conditions' => ['action' => 'YES'],'order' => 'name'])->enableHydration(false);
$this->set(compact('treatmentsvalue'));
$treatmentsoptions=$this->treatments->find('list',['keyField' => 'name','valueField' => 'name','conditions' => ['action' => 'YES'],'order'=>'treatments.name']);
$this->set(compact('treatmentsoptions'));
$this->loadModel("leads");
$totalleads=$this->leads->find('all',['conditions' => array('approved' => 'YES','visible' => 'YES','purchased'=>'')])->count();
$this->set(compact('totalleads'));
}
public function login()
{
if($this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
$validator = new LoginValidator();
$errors = $validator->errors($this->request->getData());
if ($this->request->is('post')) {
if (empty($errors)) {
$this->loadModel("centres");
$auserlogin = $this->centres->find('all', ['conditions' => ['username' => $this->request->getData('username'),'password' =>hash('gost', $this->request->getData('password').'67hb*-/852@'),'action'=>'YES'],])->enableHydration(false);
$this->set(compact('auserlogin'));
if (!$auserlogin->isEmpty())
{
$this->request->getSession()->write('adminname',$this->request->getData('username'));
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
} else {
$this->set('errors', $errors);
}
}
}
public function register()
{
if($this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
$this->loadModel("centres");
$this->loadModel("cities");
$cityoptions=$this->cities->find('list',['keyField' => 'name','valueField' => 'name','conditions' => ['action' => 'YES'],'order'=>'cities.name']);
$this->set(compact('cityoptions'));
$this->loadModel("treatments");
$treatmentsoptions=$this->treatments->find('list',['keyField' => 'name','valueField' => 'name','conditions' => ['action' => 'YES'],'order'=>'treatments.name'])->toArray();
$this->set(compact('treatmentsoptions'));
//pr($treatmentsoptions);die;
$validator = new LoginValidator();
$errors = $validator->errors($this->request->getData());
if ($this->request->is('post')) {
if (empty($errors)) {
$centreduplicate=$this->centres->find('all',['conditions' => array('username' => $this->request->getData('username'))]);
$this->set(compact('centreduplicate'));
$centreduplicate = $centreduplicate->toArray();
if(!empty($centreduplicate))
{
$errors['username']['_empty']='USERNAME OR EMAIL ALREADY EXIST';
}
}
if (empty($errors)) {
$otp=rand(1111,9999);
$password=hash('gost', $this->request->getData('password').'67hb*-/852@');
if(!empty($this->request->getData('email'))){
$msg="Addiction Free India Portal Account Created";
$msg="COMPLETE ACTIVATION BY VERIFY YOUR ACCOUNT";
$msg=$msg."<table border='1' width='100%'>";
$msg=$msg."<tr><td>Phone</td><td>".$this->request->getData('username')."</td></tr>";
$msg=$msg."<tr><td>OTP</td><td>".$otp."</td></tr>";
//$msg=$msg."<tr><td>PASSWORD</td><td>".$this->request->getData('password')."</td></tr>";
$msg=$msg."<tr><td>Treatment</td><td>".$this->request->getData('treatment')."</td></tr>";
$msg=$msg."<tr><td>City</td><td>".$this->request->getData('city')."</td></tr>";
$msg=$msg."<tr><td>Center Name</td><td>".$this->request->getData('name')."</td></tr>";
$msg=$msg."<tr><td>Ownername</td><td>".$this->request->getData('ownername')."</td></tr>";
$msg=$msg."<tr><td>Whatsapp</td><td>".$this->request->getData('whatsapp')."</td></tr>";
$msg=$msg."<tr><td>Email</td><td>".$this->request->getData('email')."</td></tr>";
$msg=$msg."<tr><td>Address</td><td>".$this->request->getData('address')."</td></tr>";
$msg=$msg."<tr><td>Googlemap</td><td>".$this->request->getData('googlemap')."</td></tr>";
$msg=$msg."<tr><td>Just Dial</td><td>".$this->request->getData('justdial')."</td></tr>";
$msg=$msg."<tr><td>Sulekha</td><td>".$this->request->getData('sulekha')."</td></tr>";
$msg=$msg."<tr><td>Facebook</td><td>".$this->request->getData('facebook')."</td></tr>";
$msg=$msg."<tr><td>Instagram</td><td>".$this->request->getData('instagram')."</td></tr>";
$msg=$msg."<tr><td>youtube</td><td>".$this->request->getData('youtube')."</td></tr>";
$msg=$msg."<tr><td>Established Year</td><td>".$this->request->getData('established')."</td></tr>";
$msg=$msg."<tr><td>About</td><td>".$this->request->getData('about')."</td></tr>";
$msg=$msg."<tr><td>Picture</td><td>".$this->request->getData('picture')."</td></tr>";
$msg=$msg."<tr><td>Picture 2</td><td>".$this->request->getData('picture2')."</td></tr>";
$msg=$msg."<tr><td>Picture 3</td><td>".$this->request->getData('picture3')."</td></tr>";
$msg=$msg."<tr><td>Picture 4</td><td>".$this->request->getData('picture4')."</td></tr>";
$msg=$msg."<tr><td>Picture 5</td><td>".$this->request->getData('picture5')."</td></tr>";
$msg=$msg."<tr><td>Picture 6</td><td>".$this->request->getData('picture6')."</td></tr>";
$msg=$msg."<tr><td>Picture 7</td><td>".$this->request->getData('picture7')."</td></tr>";
$msg=$msg."<tr><td>Picture 8</td><td>".$this->request->getData('picture8')."</td></tr>";
$msg=$msg."</table>";
$email = new Email('default');
$email
->transport('webmail')
->from('nashamuktiportal@gmail.com')
->to($this->request->getData('email'))
->subject('Addiction Free India Portal Account Created')
->emailFormat('html')
->viewVars(array('msg' => $msg))
->send($msg);
}
//$contents = file_get_contents("http://smsdigital.in/httpapi/smsapi?uname=gdigital&password=password963&sender=GDIGTL&receiver=".$_REQUEST['username']."&route=T1&msgtype=1&sms=NASHA%20MUKTI%20ACCOUNT%20CREATED%20USE%20OTP%0A".$otp);
// $contents = file_get_contents("http://www.smsdigital.in/httpapi/smsapi?uname=babaji&password=babaji123&sender=DTBABA&receiver=".$_REQUEST['username']."&route=P1&msgtype=1&sms=NASHA%20MUKTI%20ACCOUNT%20CREATED%20USE%20OTP%0A".$otp);
$contents = file_get_contents("http://www.smsdigital.in/httpapi/smsapi?uname=babaji&password=babaji123&sender=DTBABA&receiver=".$_REQUEST['username']."&route=P1&msgtype=1&tid=1707166158223908971".$otp);
$savecentres = $this->centres->newEntity();
$savecentres = $this->centres->patchEntity($savecentres,['otp'=>$otp,'username'=>strtoupper($this->request->getData('username')),'name'=>$this->request->getData('name'),'email'=>$this->request->getData('email'),'ownername'=>$this->request->getData('ownername'),'treatment'=>$this->request->getData('treatment'),'whatsapp'=>$this->request->getData('whatsapp'),'googlemap'=>$this->request->getData('googlemap'),'justdial'=>$this->request->getData('justdial'),'sulekha'=>$this->request->getData('sulekha'),'facebook'=>$this->request->getData('facebook'),'instagram'=>$this->request->getData('instagram'),'youtube'=>$this->request->getData('youtube'),'address'=>$this->request->getData('address'),'city'=>$this->request->getData('city'),'password'=>$password]);
$this->centres->save($savecentres);
return $this->redirect(array('controller'=>'users','action'=>'verify',$this->request->getData('username')));
} else {
$this->set('errors', $errors);
}
}
}
public function verify($username)
{
if($this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
$this->loadModel("centres");
$validator = new LoginValidator();
$errors = $validator->errors($this->request->getData());
if ($this->request->is('post')) {
if (empty($errors)) {
$auserlogin = $this->centres->find('all', ['conditions' => ['username' => $username,'otp' =>$this->request->getData('otp')]])->enableHydration(false);
$this->set(compact('auserlogin'));
if (!$auserlogin->isEmpty())
{
$savecentres = $this->centres->updateAll(['otp'=>rand(1111,9999),'action'=>'YES'],['username' => $username]);
$this->request->getSession()->write('adminname',$username);
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
} else {
$this->set('errors', $errors);
}
}
$this->set('username',$username);
}
public function forgot()
{
if($this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
$this->loadModel("centres");
$validator = new LoginValidator();
$errors = $validator->errors($this->request->getData());
if ($this->request->is('post')) {
if (empty($errors)) {
$auserlogin = $this->centres->find('all', ['conditions' => ['username' => $this->request->getData('username')]])->enableHydration(false);
$this->set(compact('auserlogin'));
if (!$auserlogin->isEmpty())
{
$otp=rand(1111,9999);
$contents = file_get_contents("http://smsdigital.in/httpapi/smsapi?uname=gdigital&password=password963&sender=GDIGTL&receiver=".$_REQUEST['username']."&route=T1&msgtype=1&sms=SOMEONE%20REQUEST%20TO%20RESET%20YOUR%20PASSWORD%20IF%20IT%20WAS%20YOU%20USE%20BELLOW%20OTP%20ELSE%20NEVER%20SHARE%20WITH%20ANYONE%0A".$otp);
$savecentres = $this->centres->updateAll(['otp'=>$otp],['username' => $this->request->getData('username')]);
$auserlogin = $auserlogin->toArray();
if(!empty($auserlogin[0]['email']))
{
$msg="NASHA MUKTI FORGOT PASSWORD";
$msg="SOMEONE REQUEST TO RESET YOUR PASSWORD IF IT WAS YOU USE BELLOW OTP ELSE NEVER SHARE WITH ANYONE";
$msg=$msg."<table border='1' width='100%'>";
$msg=$msg."<tr><td>OTP</td><td>".$otp."</td></tr>";
$msg=$msg."</table>";
$email = new Email('default');
$email
->transport('webmail')
->from('nashamuktiportal@gmail.com')
->to($auserlogin[0]['email'])
->subject('NASHA MUKTI ACCOUNT CREATED')
->emailFormat('html')
->viewVars(array('msg' => $msg))
->send($msg);
}
return $this->redirect(array('controller'=>'users','action'=>'resetpassword',$this->request->getData('username')));
}
} else {
$this->set('errors', $errors);
}
}
$this->set('username',$username);
}
public function resetpassword($username)
{
$this->loadModel("centres");
$validator = new LoginValidator();
$errors = $validator->errors($this->request->getData());
if ($this->request->is('post')) {
if (empty($errors)) {
$centreduplicate=$this->centres->find('all',['conditions' => array('username' => $username,'otp' => $this->request->getData('otp'))]);
$this->set(compact('centreduplicate'));
$centreduplicate = $centreduplicate->toArray();
if(empty($centreduplicate))
{
$errors['otp']['_empty']='OTP MISMATCH';
}
}
if (empty($errors)) {
$savecentres = $this->centres->updateAll(['otp'=>rand(1111,9999),'password' =>hash('gost', $this->request->getData('password').'67hb*-/852@'),'action'=>'YES'],['username' => $username]);
$this->request->getSession()->write('adminname',$username);
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
} else {
$this->set('errors', $errors);
}
}
$this->set('username',$username);
}
public function myaccount() {
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
$this->viewBuilder()->layout('centre');
$this->loadModel("leads");
$this->paginate = array('all','conditions' => ['approved' => 'YES','visible' => 'YES','purchased'=>''],'order'=>(['date' => 'DESC']),'limit' => 100);
$this->set('exploreleads',$this->paginate('leads'));
}
public function profile() {
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
$this->viewBuilder()->layout('centre');
$this->loadModel("centres");
$centre=$this->centres->find('all',['conditions' => array('username' => $this->request->getsession()->read('adminname'))]);
$this->set(compact('centre'));
if ($this->request->is('post') AND empty($errors)) {
$validator = new ProfileValidator();
$errors = $validator->errors($this->request->getData());
if(empty($errors)) {
$savemeetings = $this->centres->updateAll(['name'=>trim($this->request->getData('name')),'ownername'=>trim($this->request->getData('ownername')),'established'=>trim($this->request->getData('established')),'phone'=>trim($this->request->getData('phone')),'whatsapp'=>trim($this->request->getData('whatsapp')),'email'=>trim($this->request->getData('email')),'address'=>trim($this->request->getData('address')),'about'=>trim($this->request->getData('about')),'picture'=>trim($this->request->getData('picture')),'picture2'=>trim($this->request->getData('picture2')),'picture3'=>trim($this->request->getData('picture3')),'city'=>trim($this->request->getData('city')),'address'=>trim($this->request->getData('address'))],['username' => $this->request->getsession()->read('adminname')]);
}
$this->set('errors', $errors);
}
}
public function treatments() {
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
$this->viewBuilder()->layout('centre');
$this->loadModel("centres");
$centre = $this->centres->find('all',['fields'=>array('centres.treatment'),'conditions' => ['username' => $this->request->getsession()->read('adminname')]]);
$this->set(compact('centre'));
$this->loadModel("treatments");
$treatment = $this->treatments->find('all',['fields'=>array('treatments.name')]);
$this->set(compact('treatment'));
if ($this->request->is('post')) {
$treatment='';
foreach ($this->request->getData('treatment') as $v){
$treatment = $treatment.$v.'__';
}
$savemeetings = $this->centres->updateAll(['treatment'=>$treatment],['username' => $this->request->getsession()->read('adminname')]);
}
}
public function photo() {
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
$this->viewBuilder()->layout('centre');
$this->loadModel("centres");
$centre = $this->centres->find('all',['fields'=>array('centres.picture','centres.picture2','centres.picture3','centres.picture4',),'conditions' => ['username' => $this->request->getsession()->read('adminname')]]);
$this->set(compact('centre'));
if ($this->request->is('post')) {
$validator = new PictureValidator();
$errors = $validator->errors($this->request->getData());
if(empty($errors)) {
if(!empty($this->request->getData('picture')['name']))
{
$ext=pathinfo($this->request->getData('picture')['name'], PATHINFO_EXTENSION);
$picture = strtotime(date('m/d/Y h:i:s a', time()))*rand(1, 5).'.'.$ext;
if($ext=='jpg' or $ext=='jpeg' or $ext=='png'){
move_uploaded_file($this->request->getData('picture')['tmp_name'], WWW_ROOT.'img/'. $picture);
}
}
$savemeetings = $this->centres->updateAll([$this->request->getData('value')=>$picture],['username' => $this->request->getsession()->read('adminname')]);
}
$this->set('errors', $errors);
}
}
public function photoremove($value,$picture) {
$this->loadModel("centres");
$savemeetings = $this->centres->updateAll([$value=>''],['username' => $this->request->getsession()->read('adminname')]);
if(!empty($savemeetings))
{
unlink('img/'.$picture);
}
return $this->redirect(array('controller'=>'users','action'=>'photo'));
}
public function password() {
$this->viewBuilder()->layout('centre');
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
if ($this->request->is('post')) {
$validator = new LoginValidator();
$errors = $validator->errors($this->request->getData());
if($this->request->getData('password')!=$this->request->getData('cpassword'))
{
$errors['mismatch']['_empty']='PASSWORD OR CONFIRM PASSWORD MISMATCH';
}
if (empty($errors)) {
$this->loadModel("centres");
$savecentres = $this->centres->updateAll(['password'=>hash('gost', $this->request->getData('password').'67hb*-/852@')],['username' => $this->request->getsession()->read('adminname')]);
}else {
$this->set('errors', $errors);
}
}
}
public function wallet() {
$this->viewBuilder()->layout('centre');
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
$this->loadModel("payments");
$querypayment = $this->payments->find('all',['fields'=>array('points'=>'SUM(payments.points)'),'conditions' => ['status'=>'success','username' => $this->request->getsession()->read('adminname')]]);
$this->set(compact('querypayment'));
$this->loadModel("orders");
$queryorder = $this->orders->find('all',['fields'=>array('points'=>'SUM(orders.points)'),'conditions' => ['username' => $this->request->getsession()->read('adminname')]]);
$this->set(compact('queryorder'));
if ($this->request->is('post')) {
$orderid = strtotime(date('m/d/Y h:i:s a', time()));
$orderid=$orderid*rand(125, 300);
$savepayments = $this->payments->newEntity();
$savepayments = $this->payments->patchEntity($savepayments,['username'=>$this->request->getsession()->read('adminname'),'orderid'=>$orderid,'amount'=>$this->request->getData('amount'),'points'=>$this->request->getData('points'),'date'=>date('Y-m-d'),]);
$this->payments->save($savepayments);
$this->redirect('http://addictionfreeindia.in/pay/index.php?username='.$this->request->getsession()->read('adminname').'&orderid='.$orderid);
}
}
public function purchase() {
$this->viewBuilder()->layout('centre');
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
$this->loadModel("payments");
$querypayment=$this->payments->find('all',['conditions' => array('status'=>'success','username' => $this->request->getsession()->read('adminname'))]);
$this->set(compact('querypayment'));
}
public function orders() {
$this->viewBuilder()->layout('centre');
if(!$this->request->getsession()->check('adminname')){
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
$this->loadModel("leads");
$this->loadModel("orders");
$queryorders = $this->orders->find('all',['fields'=>array('leads.heading','leads.treatment','leads.name','leads.email','leads.phone','leads.city','leads.message','leads.points','orders.date'),'conditions' => ['orders.username' => $this->request->getsession()->read('adminname')]])
->order(['orders.date' => 'DESC'])
->join([
'meetings' => ['table' => 'leads','type' => 'LEFT','alias' => 'leads','conditions' => array('orders.lead = leads.mykey')],
]);
$this->set('queryorders',$queryorders);
}
public function buy($mykey)
{
$this->viewBuilder()->layout('centre');
$this->loadModel("orders");
$queryalreadyorder = $this->orders->find('all',['conditions' => ['lead' => $mykey]]);
$this->set(compact('queryalreadyorder'));
$queryalreadyorder = $queryalreadyorder->toArray();
if(!empty($queryalreadyorder)){
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
$queryorder = $this->orders->find('all',['fields'=>array('points'=>'SUM(orders.points)'),'conditions' => ['username' => $this->request->getsession()->read('adminname')]]);
$this->set(compact('queryorder'));
$queryorder = $queryorder->toArray();
if(!empty($queryalreadyorder)){
return $this->redirect(array('controller'=>'users','action'=>'myaccount'));
}
$this->loadModel("payments");
$querypayment = $this->payments->find('all',['fields'=>array('points'=>'SUM(payments.points)'),'conditions' => ['status'=>'success','username' => $this->request->getsession()->read('adminname')]]);
$this->set(compact('querypayment'));
$querypayment = $querypayment->toArray();
$this->loadModel("leads");
$queryleads=$this->leads->find('all',['conditions' => array('mykey' => $mykey)]);
$this->set(compact('queryleads'));
$queryleads = $queryleads->toArray();
if(($querypayment[0]['points']-$queryleads[0]['points'])>0)
{
$saveorders = $this->orders->newEntity();
$saveorders = $this->orders->patchEntity($saveorders,['username'=>$this->request->getsession()->read('adminname'),'lead'=>$mykey,'points'=>$queryleads[0]['points'],'date'=>date('Y-m-d'),]);
$this->orders->save($saveorders);
$savecentres = $this->leads->updateAll(['visible'=>'NO','purchased'=>$this->request->getsession()->read('adminname')],['mykey' => $mykey]);
}
}
public function logout() {
$this->request->getSession()->destroy();
return $this->redirect(array('controller'=>'pages','action'=>'home'));
}
}
?>