Example #1
0
 */
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;