You are here

function kaltura_import_entries in Kaltura 7.3

Same name and namespace in other branches
  1. 5 includes/kaltura.admin.inc \kaltura_import_entries()
  2. 6.2 includes/kaltura.admin.inc \kaltura_import_entries()
  3. 6 includes/kaltura.admin.inc \kaltura_import_entries()
  4. 7.2 includes/kaltura.admin.inc \kaltura_import_entries()

Cron worker callback: Imports remote Kaltura Media entries into local system.

Parameters

string[] $entry_ids: Entry IDs to be imported.

See also

kaltura_cron()

1 call to kaltura_import_entries()
kaltura_batch_import in includes/kaltura.admin.inc
Imports Kaltura media entries in batch.
3 string references to 'kaltura_import_entries'
kaltura_cron in ./kaltura.module
Implements hook_cron().
kaltura_cron_queue_info in ./kaltura.module
Implements hook_cron_queue_info().
kaltura_import_submit in includes/kaltura.admin.inc
Form submission handler for kaltura_import().

File

./kaltura.module, line 613
Kaltura integration module - core functions.

Code

function kaltura_import_entries(array $entry_ids) {
  try {
    $helpers = new KalturaHelpers();
    $client = $helpers
      ->getKalturaClient(TRUE);
    $filter = new KalturaMediaEntryFilter();
    $filter->idIn = implode(',', $entry_ids);
    $pager = new KalturaFilterPager();
    $pager->pageSize = count($entry_ids);

    // Fetch fresh entry data.
    $result = $client->media
      ->listAction($filter, $pager);
    if (!empty($result->objects)) {
      foreach ($result->objects as $entry) {

        // Load existing or create new entity.
        if ($entity = kaltura_entry_load($entry->id)) {

          // Check if the entry needs to be updated.
          // @todo This check prevents the fields newly added to the mapping to
          // be fetched. Remove it temporarily and think of a proper method to
          // update custom fields of existing entities.

          /*if ($entity->kaltura_updated_date == $entry->updatedAt) {
              continue;
            }*/
        }
        else {
          $entity = kaltura_entry_create(array(
            'kaltura_entryid' => $entry->id,
          ));
        }

        // Create or update entity properties.
        kaltura_map_properties($entry, $entity);

        // Create or update entity fields.
        kaltura_save_entry_metadata($entity);
        kaltura_entry_save($entity);
      }
    }
  } catch (Exception $e) {
    watchdog_exception('kaltura', $e);
  }
}