try { $deleteresponse = $testsac->deleteContainer($edit_iri, $testuser, $testpw, $testobo); print " - Container successfully deleted, HTTP code 204\n"; } catch (Exception $e) { echo $e->getMessage(); } print "\n\n"; } if (false) { print "About to deposit atom entry (" . $testatomentry . ") to " . $testdepositurl . "\n"; if (empty($testuser)) { print "As: anonymous\n"; } else { print "As: " . $testuser . "\n"; } $testdr = $testsac->depositAtomEntry($testdepositurl, $testuser, $testpw, $testobo, $testatomentry, false); print "Received HTTP status code: " . $testdr->sac_status . " (" . $testdr->sac_statusmessage . ")\n"; if ($testdr->sac_status >= 200 || $testdr->sac_status < 300) { $testdr->toString(); } print "\n\n"; $edit_iri = $testdr->sac_edit_iri; $cont_iri = $testdr->sac_content_src; $edit_media = $testdr->sac_edit_media_iri; $statement_atom = $testdr->sac_state_iri_atom; $statement_ore = $testdr->sac_state_iri_ore; } if (true) { print "About to retrieve deposit receipt from " . $edit_iri . "\n"; if (empty($testuser)) { print "As: anonymous\n";
private function _depositatomtwostep() { $response = ''; $editmediairi = ''; try { $package = new PackagerAtomTwoStep($this->config->item('easydeposit_uploadfiles_savedir'), $this->userid, $this->config->item('easydeposit_deposit_packages'), $this->userid . '.multipart'); foreach ($this->easydeposit_steps as $stepname) { if ($stepname == 'deposit') { break; } include_once APPPATH . 'controllers/' . $stepname . '.php'; $stepclass = ucfirst($stepname); call_user_func(array($stepclass, '_packagemultipart'), $package); } $package->create(); // Deposit the atom entry, leave 'in progress' $sac = new SWORDAPPClient(); $response = $sac->depositAtomEntry($_SESSION['depositurl'], $_SESSION['sword-username'], $_SESSION['sword-password'], $_SESSION['sword-obo'], $this->config->item('easydeposit_deposit_packages') . $this->userid . '/atom', true); if ($response->sac_status >= 200 && $response->sac_status < 300) { $_SESSION['deposited-response'] = $response->sac_xml; $_SESSION['deposited-url'] = (string) $response->sac_id; $editmediairi = $response->sac_edit_media_iri; } else { $error = 'Server returned status code: ' . $response->sac_status . "\n\n"; $error .= 'Server provided response: ' . $response->sac_xml; } echo '3'; // Deposit each file $counter = 0; $inprogress = True; foreach ($package->getFiles() as $file) { echo $counter; $counter++; if ($counter == count($package->getFiles())) { $inprogress = False; } $response = $sac->addExtraFileToMediaResource($editmediairi, $_SESSION['sword-username'], $_SESSION['sword-password'], $_SESSION['sword-obo'], $this->config->item('easydeposit_deposit_packages') . $this->userid . '/' . $file, $inprogress); } $response = $sac->completeIncompleteDeposit($editmediairi, $_SESSION['sword-username'], $_SESSION['sword-password'], $_SESSION['sword-obo']); echo '5'; echo $response; die; } catch (Exception $e) { // Catch the exception for reporting $error = 'Error: ' . $e->getMessage() . "\n\n"; $error .= 'Deposit URL: ' . $_SESSION['depositurl'] . "\n"; $error .= 'Deposit username: '******'sword-username'] . "\n"; $error .= 'Package file: ' . $this->config->item('easydeposit_deposit_packages') . $this->userid . '.zip' . "\n"; if (!empty($response->sac_xml)) { $error .= "\n\nResponse:" . $response->sac_xml; } $_SESSION['deposited-response'] = $error; } // If there was an error, send it to the administrator if (!empty($error)) { $to = $this->config->item('easydeposit_supportemail'); $subject = 'Error with EasyDeposit system'; $headers = 'From: ' . $to . ' <' . $to . ">\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/plain; charset=utf-8\r\n"; $headers .= "Content-Transfer-Encoding: quoted-printable\r\n"; mail($to, $subject, $error, $headers); } }
$dspacerest = 'https://demo.dspace.org/rest'; $user = '******'; $password = '******'; // Initiatiate the SWORD client $sword = new SWORDAPPClient(); // Get the service document print "About to request servicedocument from " . $servicedocument . "\n"; $sd = $sword->servicedocument($servicedocument, $user, $password, ''); print "Received HTTP status code: " . $sd->sac_status . " (" . $sd->sac_statusmessage . ")\n"; if ($sd->sac_status == 200) { $sd->toString(); } print "\n\n"; // Create the item by depositing an atom document print "About to create new item at " . $depositlocation . "\n"; $response = $sword->depositAtomEntry($depositlocation, $user, $password, '', $atom, $sac_inprogress = true); print "Received HTTP status code: " . $response->sac_status . " (" . $response->sac_statusmessage . ")\n"; if ($response->sac_status >= 200 || $response->sac_status < 300) { $response->toString(); } $edit_iri = $response->sac_edit_iri; $edit_media = $response->sac_edit_media_iri; $statement_atom = $response->sac_state_iri_atom; print "Edit IRI: " . $edit_iri . "\n"; print "Edit Media: " . $edit_media . "\n"; print "Statement: " . $statement_atom; print "\n\n"; // Add the DIP content print "About to add file (" . $contentzip . ") to " . $edit_media . "\n"; $response = $sword->addExtraFileToMediaResource($edit_media, $user, $password, '', $contentzip, "application/zip", false); print "Received HTTP status code: " . $response->sac_status . " (" . $response->sac_statusmessage . ")\n";
<?php // Load the PHP library include_once '../../../../swordappclient.php'; include_once '../../utils.php'; // Store the values session_start(); // Try and deposit the multipart package $client = new SWORDAPPClient(); $response = $client->depositAtomEntry($_SESSION['durl'], $_SESSION['u'], $_SESSION['p'], $_SESSION['obo'], $_SESSION['filename'], $_SESSION['inprogress']); if ($response->sac_status != 201) { $error = 'Unable to deposit package. HTTP response code: ' . $response->sac_status . ' - ' . $response->sac_statusmessage; $_SESSION['error'] = $error; } else { $_SESSION['error'] = ''; } // Show the response include '../../common/depositresponse.php';