/** * create tickets from form data */ function submit() { $authenticationAndSecurity = new authenticationAndSecurity(); $csvClass = new csvClass(); $isAjax = $authenticationAndSecurity->getGet("ajax"); $GLOBALS['newline'] = '<br/>'; $newLine = $GLOBALS["newline"]; if ($isAjax !== 'true') { echo $newLine . $newLine . "------------------------------" . $newLine . " Youtrack csv importer " . $newLine . "------------------------------" . $newLine; if (null !== $authenticationAndSecurity->getPost("test")) { echo "-- Testing progress --" . $newLine; } else { echo "-- Progress --" . $newLine; } } $posts = $this->organisePosts(); $posts = $this->organiseAttachments($posts); date_default_timezone_set('Europe/London'); $csvLogFolder = __DIR__ . '/../../log/createByForm/' . date("Y-m-d"); $csvLogFileName = time() . '.csv'; // creates csv log before sending to guzzle as guzzle dosnt fail gracefully if ($GLOBALS['createByFormTransferLog']) { $this->createFolder($csvLogFolder); $csvClass->createCsv($posts, $csvLogFolder . '/' . $csvLogFileName); } $posts = $this->sendPostData($posts); if ($GLOBALS['createByFormTransferLog']) { $csvClass->createCsv($posts, $csvLogFolder . '/' . $csvLogFileName); } elseif ($GLOBALS['createByFormTransferErrorLog']) { $posts = $this->removeSuccessfulPosts($posts); $this->createFolder($csvLogFolder); $csvClass->createCsv($posts, $csvLogFolder . '/' . $csvLogFileName); } if ($isAjax !== 'true') { if (null !== $authenticationAndSecurity->getPost("test")) { echo $newLine . "---- Test Finished -----" . $newLine; } else { echo $newLine . "---- Upload Finished -----" . $newLine; } } else { echo json_encode($GLOBALS['createByFormAjax']); } }
foreach ($youtrackFieldsList as $field) { if (!isset($column[$field])) { $csvDataReplace[$key][$field] = ''; } else { $csvDataReplace[$key][$field] = $csvData[$key][$field]; } } } return $csvDataReplace; } $csvData = makeColumnsFullLength($csvData, $youtrackFieldsList); if (substr($filename, -4) != '.csv') { $filename = $filename . '.csv'; } $outputFileLocation = '../export/' . $filename; $csvCreated = $csvClass->createCsv($csvData, $outputFileLocation); if ($csvCreated == FALSE) { function transmitFile($filepath) { if (file_exists($filepath)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($filepath)); header('Expires: 1'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($filepath)); header('Content-type: text/csv'); readfile($filepath); exit; }