Example #1
0
     $item = $_SESSION["itemhandler"]->retrieve($itemid);
 } else {
     $item = new Item();
 }
 foreach ($itemcontent as $structtype => $structvalue) {
     if ($structtype == 'mdrecords') {
         foreach ($structvalue as $mdrecord) {
             $itemmdrecords = $item->getMetadataRecords();
             foreach ($mdrecord as $mdrecordname => $mdrecordstringcontent) {
                 $mdrecordcontent = new DOMDocument();
                 $mdrecordcontent->loadXML($mdrecordstringcontent);
                 $record = new MetadataRecord($mdrecordname);
                 $record->setContent($mdrecordcontent->documentElement);
                 $itemmdrecords->add($record);
             }
             $item->setMetadataRecords($itemmdrecords);
         }
     } else {
         if ($structtype == 'components') {
             foreach ($structvalue as $components) {
                 foreach ($components as $componenthref => $component) {
                     $hrefarray = preg_split("|/|", $componenthref);
                     $componentid = array_pop($hrefarray);
                     if (count($hrefarray) == 0 && is_array($component)) {
                         //new component
                         foreach ($component as $componentstructtype => $componentstructvalue) {
                             if ($componentstructtype == 'content') {
                                 $newitemcomponent = DOMMapper::unmarshal($componentstructvalue, true);
                             }
                         }
                         foreach ($component as $componentstructtype => $componentstructvalue) {