Last active
April 23, 2019 16:40
-
-
Save utkarsh2k2/1c3ceee289254e1c721c497e26a208e7 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Callback Function For POST REQUEST | |
function wp_webhook_rest_api_post_response($request) { | |
$parameters = $request->get_params(); | |
//sample input data | |
//$parameters = array(0=> array("ParticipationId"=>"E12E5A02-152F-48BB-B907-758C91C2855", | |
// "ParticipantId"=>"8766979878979879797", | |
// "PIIDataId"=>"8766979878979879797", | |
// "InstantWinSlotId"=>"8766979878979879797", | |
// "PackCode"=>"N3YQW7F7", | |
// "WinId"=>"hUty7", | |
// "Email"=>"encoding.test3@some.cc", | |
// "PrizeName"=>"Hoodie", | |
// "Tier"=>"2", | |
// "ConfirmationLink"=>"https://any/test", | |
// "DrawPeriod"=>"DAILY", | |
// "ParticipationDate"=>"2018-03-14 17:06:00", | |
// "IsWinConfirmed"=>"false", | |
// "Salutation"=>"", | |
// "FirstName"=>"Николай2", | |
// "LastName"=>"Иванов2", | |
// "AddressLine1"=>"", | |
// "AddressLine2"=>"", | |
// "ZipCode"=>"", | |
// "PhoneNumber"=>"687989890", | |
// "City"=>"", | |
// "DateOfBirth"=>"", | |
// "OreojiNumber"=>"", | |
// "Gender"=>"", | |
// "Size"=>"", | |
// "ConfirmationDate"=>"")); | |
$csvFileName = 'csvFile.csv'; | |
$mode = file_exists($csvFileName) ? 'a' : 'w'; | |
$tableHeaders = getHeaders($parameters); | |
try { | |
$output = fopen($csvFileName, $mode); | |
if (!$output) { | |
throw new Exception('Unable to open file' . $csvFileName); | |
} | |
if ($mode == 'w') { | |
fputcsv($output, $tableHeaders); | |
} | |
if (ismulti($parameters)) { | |
foreach ($parameters as $val) { | |
$outputstring = getstring($val); | |
fputcsv($output, $outputstring); | |
} | |
} else { | |
$outputstring = getstring($parameters); | |
fputcsv($output, $outputstring); | |
} | |
//Finally, close the file pointer. | |
fclose($output); | |
} catch (Exception $ex) { | |
throw new Exception('There was an error writing output to the file'); | |
} | |
$success = array('status'=>'success'); | |
header('Content-Type: application/json'); | |
return json_encode($success); | |
} | |
/** | |
* Returns One dimensional array to be printed in the csv file | |
* @param array $val | |
* @return array | |
*/ | |
function getstring($val) { | |
$string[] = isset($val['ParticipationId']) ? $val['ParticipationId'] : ''; | |
$string[] = isset($val['ParticipantId']) ? $val['ParticipantId'] : ''; | |
$string[] = isset($val['PIIDataId']) ? $val['PIIDataId'] : ''; | |
$string[] = isset($val['InstantWinSlotId']) ? $val['InstantWinSlotId'] : ''; | |
$string[] = isset($val['PackCode']) ? $val['PackCode'] : ''; | |
$string[] = isset($val['WinId']) ? $val['WinId'] : ''; | |
$string[] = isset($val['Email']) ? $val['Email'] : ''; | |
$string[] = isset($val['PrizeName']) ? $val['PrizeName'] : ''; | |
$string[] = isset($val['Tier']) ? $val['Tier'] : ''; | |
$string[] = isset($val['ConfirmationLink']) ? $val['ConfirmationLink'] : ''; | |
$string[] = isset($val['DrawPeriod']) ? $val['DrawPeriod'] : ''; | |
$string[] = isset($val['ParticipationDate']) ? $val['ParticipationDate'] : ''; | |
$string[] = isset($val['IsWinConfirmed']) ? $val['IsWinConfirmed'] : ''; | |
$string[] = isset($val['Salutation']) ? $val['Salutation'] : ''; | |
$string[] = isset($val['FirstName']) ? $val['FirstName'] : ''; | |
$string[] = isset($val['LastName']) ? $val['LastName'] : ''; | |
$string[] = isset($val['AddressLine1']) ? $val['AddressLine1'] : ''; | |
$string[] = isset($val['AddressLine2']) ? $val['AddressLine2'] : ''; | |
$string[] = isset($val['ZipCode']) ? $val['ZipCode'] : ''; | |
$string[] = isset($val['PhoneNumber']) ? $val['PhoneNumber'] : ''; | |
$string[] = isset($val['City']) ? $val['City'] : ''; | |
$string[] = isset($val['DateOfBirth']) ? $val['DateOfBirth'] : ''; | |
$string[] = isset($val['OreojiNumber']) ? $val['OreojiNumber'] : ''; | |
$string[] = isset($val['Gender']) ? $val['Gender'] : ''; | |
$string[] = isset($val['Size']) ? $val['Size'] : ''; | |
$string[] = isset($val['ConfirmationDate']) ? $val['ConfirmationDate'] : ''; | |
return $string; | |
} | |
/** | |
* Returns table headers as one dimensional array | |
* | |
* @param array $params | |
* @return array | |
*/ | |
function getHeaders($params) { | |
if(ismulti($params)){ | |
$headerarray = $params[0]; | |
}else{ | |
$headerarray = $params; | |
} | |
$tableHeaders = array_keys($headerarray); | |
return $tableHeaders; | |
} | |
/** | |
* Returns if it is multi dimensional array or not | |
* @param type $params | |
* @return boolean | |
*/ | |
function ismulti($params){ | |
if(isset($params[0]) && is_array($params[0])){ | |
return true; | |
} | |
return false; | |
} | |
//wp_webhook_rest_api_post_response($_REQUEST); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment