Example #1
0
 $param = $_POST['objects'];
 $itemdiff = json_decode($param, true);
 //  print_r($itemdiff);
 foreach ($itemdiff as $itemhref => $itemcontent) {
     $hrefarray = preg_split("|/|", $itemhref);
     $itemid = array_pop($hrefarray);
     $item = false;
     if ($itemid) {
         $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);