public function import()
 {
     if (!$this->record) {
         $this->record = new ExhibitPageBlock();
     }
     $this->record->page_id = $this->responseData['page_id'];
     $this->record->layout = $this->responseData['layout'];
     $this->record->text = $this->responseData['text'];
     $this->record->order = $this->responseData['order'];
     $this->record->options = json_encode($this->responseData['options']);
     try {
         $this->record->save(true);
         $this->addOmekaApiImportRecordIdMap();
     } catch (Exception $e) {
         _log($e);
     }
     $attachmentAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $this->endpointUri, 'ExhibitBlockAttachment');
     $attachmentAdapter->setResourceProperties(array('file' => 'File', 'item' => 'Item'));
     foreach ($this->responseData['attachments'] as $order => $attachmentData) {
         $attachmentData['order'] = $order;
         $attachmentData['block_id'] = $this->record->id;
         $attachmentAdapter->resetResponseData($attachmentData);
         $attachmentAdapter->import();
     }
 }
 public function construct($responseData, $endpointUri, $recordType)
 {
     global $contributionImportValuesAdapter;
     parent::construct($responseData, $endpointUri, $recordType);
     if (isset($contributionImportValuesAdapter)) {
         $this->valuesAdapter = $contributionImportValuesAdapter;
     } else {
         $contributionImportValuesAdapter = new ApiImport_ResponseAdapter_OmekaNet_ContributorValuesAdapter(null, $endpointUri, 'ElementText');
         $this->valuesAdapter = $contributionImportValuesAdapter;
     }
     $this->valuesAdapter->setService($this->service);
     $this->valuesAdapter->setContributorData($responseData);
 }
Ejemplo n.º 3
0
function exhibit_builder_api_import_omeka_adapters($adapters, $args)
{
    $exhibitsAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'Exhibit');
    $exhibitsAdapter->setService($args['omeka_service']);
    $exhibitsAdapter->setUserProperties(array('owner'));
    $adapters['exhibits'] = $exhibitsAdapter;
    $adapters['exhibit_pages'] = 'ExhibitBuilder_ApiImport_ExhibitPageAdapter';
    return $adapters;
}
Ejemplo n.º 4
0
 public function filterApiImportOmekaAdapters($adapters, $args)
 {
     if (strpos($args['endpointUri'], 'omeka.net') !== false) {
         $contributedItemAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'ContributionContributedItem');
         $contributedItemAdapter->setResourceProperties(array('item' => 'Item'));
         $adapters['contributions'] = $contributedItemAdapter;
         $contributionTypeAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'ContributionType');
         $contributionTypeAdapter->setResourceProperties(array('item_type' => 'ItemType'));
         $adapters['contribution_types'] = $contributionTypeAdapter;
         $contributionTypeElementsAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'ContributionTypeElement');
         $contributionTypeElementsAdapter->setResourceProperties(array('element' => 'Element', 'type' => 'ContributionType'));
         $adapters['contribution_type_elements'] = $contributionTypeElementsAdapter;
     } else {
         $contributionContributorsAdapter = new ApiImport_ResponseAdapter_OmekaNet_ContributorsAdapter(null, $args['endpointUri'], 'User');
         $adapters['contribution_contributors'] = $contributionContributorsAdapter;
         $contributedItemAdapter = new ApiImport_ResponseAdapter_OmekaNet_ContributedItemsAdapter(null, $args['endpointUri'], 'ContributionContributedItem');
         $adapters['contribution_contributed_items'] = $contributedItemAdapter;
         $typesAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'ContributionType');
         $typesAdapter->setResourceProperties(array('item_type' => 'ItemType'));
         $adapters['contribution_types'] = $typesAdapter;
         $typeElementsAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'ContributionTypeElement');
         $typeElementsAdapter->setResourceProperties(array('type' => 'ContributionType', 'element' => 'Element'));
         $adapters['contribution_type_elements'] = $typeElementsAdapter;
     }
     return $adapters;
 }
Ejemplo n.º 5
0
 public function filterApiImportOmekaAdapters($adapters, $args)
 {
     // Sequence is important here. Need the types and their elements mapped in first
     // Then the profiles themselves, then bring in the multi-valued elements then their values
     $typesAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'UserProfilesType');
     $typesAdapter->setResourceProperties(array('element_set' => 'ElementSet'));
     $adapters['user_profiles_types'] = $typesAdapter;
     $elementAdapter = new ApiImport_ResponseAdapter_Omeka_UserProfilesMulti(null, $args['endpointUri'], 'UserProfilesMultiElement');
     $elementAdapter->setResourceProperties(array('element_set' => 'ElementSet'));
     $adapters['user_profiles_multielements'] = $elementAdapter;
     $profileAdapter = new ApiImport_ResponseAdapter_Omeka_UserProfilesProfile(null, $args['endpointUri'], 'UserProfilesProfile');
     $adapters['user_profiles'] = $profileAdapter;
     $valueAdapter = new ApiImport_ResponseAdapter_Omeka_UserProfilesMulti(null, $args['endpointUri'], 'UserProfilesMultiValue');
     $valueAdapter->setResourceProperties(array('profile_type' => 'UserProfilesType', 'multi' => 'UserProfilesMultiElement', 'profile' => 'UserProfilesProfile'));
     $adapters['user_profiles_multivalues'] = $valueAdapter;
     return $adapters;
 }
 public function filterApiImportOmekaAdapters($adapters, $args)
 {
     $geolocationAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'Location');
     $geolocationAdapter->setResourceProperties(array('item' => 'Item'));
     $adapters['geolocations'] = $geolocationAdapter;
     return $adapters;
 }
Ejemplo n.º 7
0
 public function filterApiImportOmekaAdapters($adapters, $args)
 {
     $simplePagesAdapter = new ApiImport_ResponseAdapter_Omeka_GenericAdapter(null, $args['endpointUri'], 'SimplePagesPage');
     $simplePagesAdapter->setService($args['omeka_service']);
     $simplePagesAdapter->setUserProperties(array('modified_by_user', 'created_by_user'));
     $adapters['simple_pages'] = $simplePagesAdapter;
     return $adapters;
 }