コード例 #1
0
 /**
  * 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']);
     }
 }
コード例 #2
0
        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;
        }