| <?php |
| <?php |
| |
| |
| namespace App\Http\Controllers; |
| namespace App\Http\Controllers; |
| |
| |
| use App\Helper\Helper; |
| use App\Helper\Helper; |
| use App\Http\Controllers\Controller; |
| use App\Http\Controllers\Controller; |
| use App\Model\PharmaviteModel; |
| use App\Model\PharmaviteModel; |
| use Illuminate\Http\Request; |
| use Illuminate\Http\Request; |
| |
| |
| class PharmaviteController extends Controller |
| class PharmaviteController extends Controller |
| { |
| { |
| private $pharmaviteObj; |
| private $pharmaviteObj; |
| private $helperObj; |
| private $helperObj; |
| public function __construct() |
| public function __construct() |
| { |
| { |
| $this->pharmaviteObj = new PharmaviteModel(); |
| $this->pharmaviteObj = new PharmaviteModel(); |
| $this->helperObj = new Helper(); |
| $this->helperObj = new Helper(); |
| $this->setPaths(); |
| $this->setPaths(); |
| $this->getLogFilesList(); |
| $this->getLogFilesList(); |
| $this->setWithLogFiles(); |
| $this->setWithLogFiles(); |
| } |
| } |
| |
| |
| /** |
| /** |
| * phvContactus post request |
| * phvContactus post request |
| */ |
| */ |
| |
| |
| public function setPaths() |
| public function setPaths() |
| { |
| { |
| |
| |
| $this->logDirectory = dirname(__FILE__) . "/../../../storage/logs/"; |
| $this->logDirectory = dirname(__FILE__) . "/../../../storage/logs/"; |
| } |
| } |
| |
| |
| public function getLogFilesList() |
| public function getLogFilesList() |
| { |
| { |
| |
| |
| $this->logPath = $this->logDirectory . date('dmY'); |
| $this->logPath = $this->logDirectory . date('dmY'); |
| if (!is_dir($this->logPath)) { |
| if (!is_dir($this->logPath)) { |
| |
| |
| //Directory does not exist, so lets create it. |
| //Directory does not exist, so lets create it. |
| mkdir($this->logPath); |
| mkdir($this->logPath); |
| chmod($this->logPath, 0777); |
| chmod($this->logPath, 0777); |
| |
| |
| } |
| } |
| $this->logFiles = array( |
| $this->logFiles = array( |
| 'log' => array( |
| 'log' => array( |
| "type" => "text", |
| "type" => "text", |
| "filename" => $this->logPath . "/pharmavative-contactus-log.txt", |
| "filename" => $this->logPath . "/pharmavative-contactus-log.txt", |
| "mode" => ""), |
| "mode" => ""), |
| ); |
| ); |
| } |
| } |
| |
| |
| public function setWithLogFiles() |
| public function setWithLogFiles() |
| { |
| { |
| |
| |
| if (!empty($this->logFiles)) { |
| if (!empty($this->logFiles)) { |
| foreach ($this->logFiles as $fileDetails) { |
| foreach ($this->logFiles as $fileDetails) { |
| $fileName = $fileDetails['filename']; |
| $fileName = $fileDetails['filename']; |
| if ($fileDetails['type'] == 'csv' && !file_exists($fileName)) { |
| if ($fileDetails['type'] == 'csv' && !file_exists($fileName)) { |
| $handler = fopen($fileName, $fileDetails['mode']); |
| $handler = fopen($fileName, $fileDetails['mode']); |
| fputcsv($handler, $fileDetails['columns']); |
| fputcsv($handler, $fileDetails['columns']); |
| fclose($handler); |
| fclose($handler); |
| touch($fileName); |
| touch($fileName); |
| chmod($fileName, 0777); |
| chmod($fileName, 0777); |
| } |
| } |
| } |
| } |
| |
| |
| } |
| } |
| } |
| } |
| |
| |
| public function nmContactUs(Request $request) |
| public function nmContactUs(Request $request) |
| { |
| { |
| |
| |
| $requestData = $request->input('data'); |
| $requestData = $request->input('data'); |
| if (empty($requestData)) { |
| if (empty($requestData)) { |
| $returnData = [ |
| $returnData = [ |
| 'error' => 'Invalid endpoint request', |
| 'error' => 'Invalid endpoint request', |
| ]; |
| ]; |
| $message = 'Failed'; |
| $message = 'Failed'; |
| $this->helperObj->logMe("error : Invalid endpoint request", $this->logFiles['log']['filename']); |
| $this->helperObj->logMe("error : Invalid endpoint request", $this->logFiles['log']['filename']); |
| if (!empty($request->input('callback'))) { |
| if (!empty($request->input('callback'))) { |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| } else { |
| } else { |
| return $this->returnData(null, '600', $message, $returnData); |
| return $this->returnData(null, '600', $message, $returnData); |
| } |
| } |
| } |
| } |
| $receivedData = json_decode($requestData); |
| $receivedData = json_decode($requestData); |
| $requestKeys = ['InquiryType', 'StorePurchased', 'Lot', 'Email', 'FirstName', 'LastName', 'AddressLine1', 'City', 'State', 'Zip', 'Subject', 'MessageBody']; |
| $requestKeys = ['InquiryType', 'StorePurchased', 'Lot', 'Email', 'FirstName', 'LastName', 'AddressLine1', 'City', 'State', 'Zip', 'Subject', 'MessageBody']; |
| $keysInTheRequest = []; |
| $keysInTheRequest = []; |
| $emptyValueKeys = []; |
| $emptyValueKeys = []; |
| foreach ($receivedData as $key => $recValue) { |
| foreach ($receivedData as $key => $recValue) { |
| |
| |
| $keysInTheRequest[] = $key; |
| $keysInTheRequest[] = $key; |
| if (empty(trim($recValue)) && $key != 'AddressLine2') { |
| if (empty(trim($recValue)) && $key != 'AddressLine2') { |
| $emptyValueKeys[] = $key; |
| $emptyValueKeys[] = $key; |
| } |
| } |
| } |
| } |
| $keyComparedStatus = array_diff($requestKeys, $keysInTheRequest); |
| $keyComparedStatus = array_diff($requestKeys, $keysInTheRequest); |
| if (!empty($keyComparedStatus)) { |
| if (!empty($keyComparedStatus)) { |
| |
| |
| $missedParameters = implode(",", $keyComparedStatus); |
| $missedParameters = implode(",", $keyComparedStatus); |
| $message = 'Failed'; |
| $message = 'Failed'; |
| $returnData = [ |
| $returnData = [ |
| 'error' => $missedParameters . ' endpoint parameters are missing in the request', |
| 'error' => $missedParameters . ' endpoint parameters are missing in the request', |
| ]; |
| ]; |
| $this->helperObj->logMe('error : '.$missedParameters . ' endpoint parameters are missing in the request', $this->logFiles['log']['filename']); |
| $this->helperObj->logMe('error : '.$missedParameters . ' endpoint parameters are missing in the request', $this->logFiles['log']['filename']); |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| } |
| } |
| if (!empty($emptyValueKeys)) { |
| if (!empty($emptyValueKeys)) { |
| |
| |
| $emptyValueKeys = implode(",", $emptyValueKeys); |
| $emptyValueKeys = implode(",", $emptyValueKeys); |
| $message = 'Failed'; |
| $message = 'Failed'; |
| $returnData = [ |
| $returnData = [ |
| 'error' => $emptyValueKeys . ' endpoint parameter values are empty in the request', |
| 'error' => $emptyValueKeys . ' endpoint parameter values are empty in the request', |
| ]; |
| ]; |
| $this->helperObj->logMe('error : '.$emptyValueKeys . ' endpoint parameter values are empty in the request', $this->logFiles['log']['filename']); |
| $this->helperObj->logMe('error : '.$emptyValueKeys . ' endpoint parameter values are empty in the request', $this->logFiles['log']['filename']); |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| } |
| } |
| $postPath = env('POST_NMCONTACT_URL', true); |
| $postPath = env('POST_NMCONTACT_URL', true); |
| $response = $this->pharmaviteObj->postRequestData($postPath, $requestData); |
| $response = $this->pharmaviteObj->postRequestData($postPath, $requestData); |
| //print_r($response); |
| //print_r($response); |
| if (strtolower(trim($response)) != 'success') { |
| if (strtolower(trim($response)) != 'success') { |
| |
| |
| $message = 'Failed'; |
| $message = 'Failed'; |
| $returnData = [ |
| $returnData = [ |
| 'error' => 'Error occured while posting the request to the API', |
| 'error' => 'Error occured while posting the request to the API', |
| 'request' => $requestData, |
| 'request' => $requestData, |
| ]; |
| ]; |
| $this->helperObj->logMe('error : Error occured while posting the request to the API', $this->logFiles['log']['filename']); |
| $this->helperObj->logMe('error : Error occured while posting the request to the API', $this->logFiles['log']['filename']); |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| return $this->returnData($request->input('callback'), '600', $message, $returnData); |
| } |
| } |
| $message = 'Success'; |
| $message = 'Success'; |
| $returnData = [ |
| $returnData = [ |
| 'message' => 'Successfully posted the given request in the API (Email: ' . $receivedData->Email . ')', |
| 'message' => 'Successfully posted the given request in the API (Email: ' . $receivedData->Email . ')', |
| ]; |
| ]; |
| // //Log::info($returnData); |
| // //Log::info($returnData); |
| return $this->returnData($request->input('callback'), '200', $message, $returnData); |
| return $this->returnData($request->input('callback'), '200', $message, $returnData); |
| } |
| } |
. | |
| public function nmmbg(Request $request) { |
| |
| |
| |
| $requestData = $request->input('data'); |
| |
| if (empty($requestData)) { |
| |
| |
| |
| $returnData = [ |
| |
| 'error' => 'Invalid endpoint request' |
| |
| ]; |
| |
| $message = 'Failed'; |
| |
| $this->helperObj->logMe("error : Invalid endpoint request", $this->logFiles['log']['filename']); |
| |
| if (!empty($request->input('callback'))) { |
| |
| return $this->returnData($request->input('callback'), '600', $message, $returnData ); |
| |
| } else { |
| |
| return $this->returnData(null, '600', $message, $returnData ); |
| |
| } |
| |
| } |
| |
| $receivedData = json_decode($requestData); |
| |
| $requestKeys = ['EMail','FirstName','LastName','AddressLine1','City','State','Zip','ReturnProductId','ProductListNumber']; |
| |
| $keysInTheRequest = []; |
| |
| $emptyValueKeys = []; |
| |
| foreach ($receivedData as $key => $recValue) { |
| |
| |
| |
| $keysInTheRequest[] = $key; |
| |
| if (empty($recValue) && $key !='AddressLine2') { |
| |
| |
| |
| $emptyValueKeys[] = $key; |
| |
| } |
| |
| } |
| |
| $keyComparedStatus = array_diff($requestKeys, $keysInTheRequest); |
| |
| if(!empty($keyComparedStatus)) { |
| |
| |
| |
| $missedParameters = implode(",",$keyComparedStatus); |
| |
| $message = 'Failed'; |
| |
| $returnData = [ |
| |
| 'error' => $missedParameters.' endpoint parameters are missing in the request' |
| |
| ]; |
| |
| $this->helperObj->logMe('error : '.$missedParameters . ' endpoint parameters are missing in the request', $this->logFiles['log']['filename']); |
| |
| return $this->returnData($request->input('callback'), '600', $message, $returnData ); |
| |
| } |
| |
| if (!empty($emptyValueKeys)) { |
| |
| |
| |
| $emptyValueKeys = implode(",",$emptyValueKeys); |
| |
| $message = 'Failed'; |
| |
| $returnData = [ |
| |
| 'error' => $emptyValueKeys.' endpoint parameter values are empty in the request' |
| |
| ]; |
| |
| $this->helperObj->logMe('error : '.$emptyValueKeys . ' endpoint parameter values are empty in the request', $this->logFiles['log']['filename']); |
| |
| return $this->returnData($request->input('callback'), '600', $message, $returnData ); |
| |
| } |
| |
| $postPath = env('POST_NMMBG_URL',true); |
| |
| $response = $this->pharmaviteObj->postRequestData($postPath, $requestData); |
| |
| if (strtolower(trim($response)) != 'success') { |
| |
| |
| |
| $message = 'Failed'; |
| |
| $returnData = [ |
| |
| 'error' => 'Error occured while posting the request to the API', |
| |
| 'request' => $requestData |
| |
| ]; |
| |
| $this->helperObj->logMe('error : Error occured while posting the request to the API', $this->logFiles['log']['filename']); |
| |
| return $this->returnData($request->input('callback'), '600', $message, $returnData ); |
| |
| } |
| |
| $message = 'Success'; |
| |
| $returnData = [ |
| |
| 'message' => 'Successfully posted the given request in the API (Email: '.$receivedData->EMail.')' |
| |
| ]; |
| |
| //Log::info($returnData); |
| |
| return $this->returnData($request->input('callback'), '200', $message, $returnData ); |
| |
| } |
| |
| |
| /** |
| /** |
| * Response message function |
| * Response message function |
| */ |
| */ |
| public function returnData($jsonCallback = null, $status, $message, $error) |
| public function returnData($jsonCallback = null, $status, $message, $error) |
| { |
| { |
| $returnData = array( |
| $returnData = array( |
| 'status' => $status, |
| 'status' => $status, |
| 'message' => $message, |
| 'message' => $message, |
| 'body' => $error |
| 'body' => $error |
| |
| |
| ); |
| ); |
| if (!empty($jsonCallback)) { |
| if (!empty($jsonCallback)) { |
| |
| |
| echo $jsonCallback . '(' . json_encode($returnData) . ')'; |
| echo $jsonCallback . '(' . json_encode($returnData) . ')'; |
| die(); |
| die(); |
| } else { |
| } else { |
| |
| |
| return response()->json($returnData); |
| return response()->json($returnData); |
| } |
| } |
| } |
| } |
| } |
| } |
| |
| |