*/ if ($argc != 3) { die('Usage: ".$argv[0]." project_id tracker_id summary file\\n'); } $serverURL = getenv('TULEAP_SERVER') ? getenv('TULEAP_SERVER') : 'http://valid2.cro.enalean.com'; $login = getenv('TULEAP_USER') ? getenv('TULEAP_USER') : 'admin'; $password = getenv('TULEAP_PASSWORD') ? getenv('TULEAP_PASSWORD') : 'siteadmin'; $soapLogin = new SoapClient($serverURL . '/soap/?wsdl', array('cache_wsdl' => WSDL_CACHE_NONE)); // Establish connection to the server $requesterSessionHash = $soapLogin->login($login, $password)->session_hash; //save values $project_id = $argv[1]; $file = $argv[2]; $filesize = filesize($file); $filename = basename($file); $offset = 0; $chunk_size = 20000; //while ($chunk = file_get_contents($file, false, null, $offset, $chunk_size)) { // $chunk_length = strlen($chunk); // $is_last_chunk = $chunk_length < $chunk_size; // if ($chunk_written !== $chunk_length) { // var_dump("Warning: chunk not completely written on server"); // } // $total_written += $chunk_written; // $offset += $chunk_size; //} $raw_content = file_get_contents($file, false, null, $offset, $chunk_size); $content = base64_encode($raw_content); // $response = $soapLogin->createDocmanFile($requesterSessionHash, $project_id, 654, 'Test from SOAP', 'description', 'begin', 'approved', '', '', '', $filesize, $filename, '', $content, '', '', 'admin', '', '', '', ''); var_dump($response);
die("This folder doesn't exist in the docman. Check out the id_destination(" . $e->getMessage() . ")" . PHP_EOL); } echo "OK" . PHP_EOL; $folderhash[$foldername] = $res; } elseif ($r->isFile()) { if (uploadAllowed($r->getFilename())) { //remove the extension to the name /*if (substr_count($name, '.') > 0) { $name = substr($r->getFilename(), 0, strrpos($r->getFilename(), '.')); }*/ echo "Uploading " . $name . " ..... "; $fileName = basename($r->getPathname()); $fileSize = filesize($r->getPathname()); $fileType = shell_exec('file -bi "' . escapeshellcmd($r->getPathname()) . '"'); try { $itemId = $soap->createDocmanFile($hash, $project_id, $folderhash[$folderpath], $name, '', 'end', 100, 0, array(), array(), $fileSize, $fileName, $fileType, '', 0, $chunkSize); if ($itemId) { $offset = 0; while ($chunk = getChunk($r->getPathname(), $offset, $chunkSize)) { $soap->appendDocmanFileChunk($hash, $project_id, $itemId, $chunk, $offset, $chunkSize); $offset++; } } $uploadedMd5 = $soap->getDocmanFileMD5sum($hash, $project_id, $itemId, 1); if ($uploadedMd5 !== md5_file($r->getPathname())) { echo "ERROR: md5 differs" . PHP_EOL; } else { echo "OK" . PHP_EOL; } } catch (Exception $e) { echo 'ERROR (' . $e->getMessage() . ')' . PHP_EOL;