????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 13.59.90.172 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/appsrv.astacus.se/fortnox/ |
Upload File : |
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); require 'fetch_token.php'; // Hämta Access Token dynamiskt $accessToken = $tokens['access_token']; // Endpoint för att skapa projekt $url = "https://api.fortnox.se/3/projects"; // Array för att lagra alla projektnummer $existingProjects = []; $page = 1; do { // Bygg URL för aktuell sida $pagedUrl = $url . "?page=$page"; // Initiera cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $pagedUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: Bearer $accessToken", "Accept: application/json", ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Skicka förfrågan och hämta svar $response = curl_exec($ch); if (curl_errno($ch)) { echo "cURL Error: " . curl_error($ch) . "\n"; break; } $projects = json_decode($response, true); if (isset($projects['Projects'])) { // Lägg till projektnummer till arrayen foreach ($projects['Projects'] as $project) { $existingProjects[] = $project['ProjectNumber']; } // Kontrollera om det finns fler sidor $totalPages = isset($projects['MetaInformation']['@TotalPages']) ? $projects['MetaInformation']['@TotalPages'] : 1; $page++; } else { // Avsluta om inga fler projekt hittas break; } curl_close($ch); } while ($page <= $totalPages); // Visa array med projektnummer echo "Befintliga projektnummer:\n"; print_r($existingProjects); $link = mysql_connect ("localhost", "root", "root123"); mysql_select_db ("vpa"); $sql = "SELECT Project.ProjectId, Project.CompanyId, Project.Name as Name,Description,createDate, SystemUser.Name as SRName, ProjectStatusId,clientProjectManagerName FROM Project, ProjectManager, SystemUser Where SystemUser.SystemUserId = ProjectManager.UserId and Project.ProjectId = ProjectManager.ProjectId and Description != 'iCAD-Project' and Description != 'EP-Project' and createDate > '".date("Y-m-d")."' order by Project.ProjectId desc"; $projects = array(); $result = mysql_query($sql); while ($row = mysql_fetch_assoc($result)){ $ProjectId = $row['ProjectId']; $CompanyId = $row['CompanyId']; $ProjectName = $row['Name']; $Description = $row['Description']; $CreateDate = substr($row['createDate'],0,10); $Username = $row['SRName']; $ProjectStatusId = $row['ProjectStatusId']; $clientProjectManagerName = $row['clientProjectManagerName']; if($ProjectStatusId == 11 ){ $Status = "CANCELLED"; }else if($ProjectStatusId == 10){ $Status = "COMPLETED"; }else if($ProjectStatusId == 1){ $Status = "ONGOING"; }else { $Status = "ONGOING"; } $Name = $CompanyId."_".substr($ProjectName,0,15)." (".$ProjectId.")"; if(strlen($Name) > 20){ $Name = $CompanyId."_".substr($ProjectName,0,10)."... (".$ProjectId.")"; }else{ $Name = $CompanyId."_".substr($ProjectName,0,100)." (".$ProjectId.")"; } $data = [ "Comments" => $CompanyId."_".substr($ProjectName,0,100)." (".$ProjectId.")", "ContactPerson" => $clientProjectManagerName, "Description" => $Name, "ProjectLeader" => $Username, "ProjectNumber" => $ProjectId, "StartDate" => $CreateDate, "Status" => $Status ]; array_walk_recursive($data, function (&$item) { if (is_string($item)) { $encoding = mb_detect_encoding($item, ['UTF-8', 'ISO-8859-1', 'ASCII'], true); if ($encoding !== 'UTF-8') { $item = mb_convert_encoding($item, 'UTF-8', $encoding); } } }); if (!in_array($ProjectId, $existingProjects, true)) { $projects[] = $data; } } // Din giltiga Access Token $accessToken = $tokens['access_token']; // Endpoint för att skapa projekt $url = "https://api.fortnox.se/3/projects"; // Iterera över projektlistan och skapa varje projekt foreach ($projects as $project) { // Skapa data för projektet i rätt format $data = [ "Project" => $project ]; // Konvertera data till JSON $jsonData = json_encode($data); // Kontrollera JSON-kodning if ($jsonData === false) { echo "Fel vid JSON-kodning: " . json_last_error_msg() . "\n"; continue; } // Initiera cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: Bearer $accessToken", "Content-Type: application/json; charset=utf-8", "Accept: application/json", ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Skicka förfrågan och hämta svar $response = curl_exec($ch); if (curl_errno($ch)) { echo "cURL Error: " . curl_error($ch) . "\n"; } else { $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); echo "Mapped Status: $Status\n"; echo "Svar från Fortnox:\n$response\n"; } curl_close($ch); usleep(250000); } ?>