private function createTarget(Project $project) { $client = new SoapClient($this->wsdl_url); // Establish connection to the server $session_hash = $client->login($this->user_login, $this->user_password)->session_hash; $root_folder_id = (int) $client->getRootFolder($session_hash, $project->getID()); return (int) $client->createDocmanFolder($session_hash, $project->getID(), $root_folder_id, 'Docman v1 import', 'Documents imported from legacy documentation system on ' . date('c', $_SERVER['REQUEST_TIME']), 'begin', 'none', array(array('type' => DocmanV1_XMLExportData::V2_SOAP_PERM_NONE, 'ugroup_id' => ProjectUGroup::ANONYMOUS), array('type' => DocmanV1_XMLExportData::V2_SOAP_PERM_NONE, 'ugroup_id' => ProjectUGroup::REGISTERED), array('type' => DocmanV1_XMLExportData::V2_SOAP_PERM_NONE, 'ugroup_id' => ProjectUGroup::PROJECT_MEMBERS), array('type' => DocmanV1_XMLExportData::V2_SOAP_PERM_MANAGE, 'ugroup_id' => ProjectUGroup::PROJECT_ADMIN)), array(), 'admin', $_SERVER['REQUEST_TIME'], $_SERVER['REQUEST_TIME']); }
$rii = new RecursiveIteratorIterator(new RecursiveCachingIterator(new RecursiveDirectoryIterator($source_dir)), RecursiveIteratorIterator::SELF_FIRST); $slashEnd = strrpos($source_dir, '/', strlen($source_dir) - 1); if ($slashEnd) { $foldername = substr($source_dir, 0, strlen($source_dir) - 1); } else { $foldername = $source_dir; } $folderhash[$foldername] = $id_dest; foreach ($rii as $r) { $foldername = $r->getPathName(); $folderpath = $r->getPath(); $name = $r->getFilename(); if ($r->isDir()) { echo "Creating " . $r->getFilename() . " folder ..... "; try { $res = $soap->createDocmanFolder($hash, $project_id, $folderhash[$folderpath], $r->getFilename(), '', "end"); } catch (Exception $e) { 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()) . '"');