Files
2023-03-04 10:01:59 -05:00

143 lines
4.4 KiB
PHP

<?php
namespace App\Controllers;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\API\ResponseTrait;
class Myfitauth extends BaseController
{
use ResponseTrait;
protected $request;
public function __construct()
{
$this->request = $request = \Config\Services::request();
}
public function index()
{
}
public function users()
{
header('Access-Control-Allow-Origin: *');
//header("Access-Control-Allow-Origin: http://localhost:9057 ");
header('Access-Control-Expose-Headers: Access-Control-Allow-Origin');
//header('Access-Control-Allow-Credentials: true ');
//header("Access-Control-Allow-Headers: Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With");
header('Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS');
header('Content-type: application/json');
// what is the endpoint
$uri = current_url(true);
$pieces = explode('/', $uri);
$psc = count($pieces);
$endpoint = $psc > 0 ? $pieces[$psc - 1] : '';
$endpoints = [
'account' => ['POST'],
'login' => ['POST'],
'resetpass' => ['POST'],
'signup-code' => ['POST'],
'resetpass-code' => ['POST'],
'test-email' => ['POST'],
];
// foreach (getallheaders() as $name => $value) {
// log_message('critical', "HEADER $name: $value" );
// }
$res1 = [];
if (array_key_exists($endpoint, $endpoints)) {
} else {
http_response_code(404);
// tell the user product does not exist
echo json_encode(['message' => 'Endpoint not found.']);
}
// echo "EXYTACT INPUT DATA HERE";
$raw_json = file_get_contents('php://input');
$raw_array = json_decode($raw_json, true);
switch ($endpoint) {
case 'login':
$userAccess = new \App\Models\userAccess();
$res1 = $userAccess->startLogin($raw_array);
break;
case 'account':
$userSignUp = new \App\Models\userSignUp();
//$this->push();
$res1 = $userSignUp->startSignUp($raw_array);
break;
case 'resetpass':
$passReset = new \App\Models\usersResetPass();
$res1 = $passReset->resetPass($raw_array);
break;
case 'signup-code':
$userSignUp = new \App\Models\userSignUp();
$res1 = $userSignUp->tempCodes();
break;
case 'resetpass-code':
$passReset = new \App\Models\usersResetPass();
$res1 = $passReset->tempCodes();
break;
case 'test-email':
$res1 = $this->push();
break;
}
return $this->response->setJson($res1);
}
public function push()
{
$data =[];
$to = 'ameye@chiefsoft.com';//Type here the mail address where you want to send
$subject = 'myFit Signup';//Write here Subject of Email
$message='Conngrats ! You did it. -- '.rand(1000,9999);//Write the message you want to send
$email = \Config\Services::email();
$config['protocol'] = 'sendmail';
$config['mailPath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordWrap'] = true;
//$email->initialize($config);
$email->setTo($to);
$email->setFrom('support@chiefsoft.com', 'Just testing the emsil function');//set From
$email->setSubject($subject);
$email->setMessage($message);
if($email->send())
{
//echo 'Email has been Sent.';
log_message('critical', "Email has been Sent" );
$data['msg'] ='All good '.rand(100,9999);
}
else{
// echo 'Something went wrong !';
$data['error'] = $email->printDebugger(['headers']);
log_message('critical', "Something went wrong" );
//log_message('critical',$data );
//print_r($data);
}
return $data;
}
//this is dummy function to establish the endpoints before real implementations
private function dummyData($raw_array)
{
return [
'msg' => 'Not implemented yet',
'raw_data' => $raw_array,
];
}
}