You are here

function kaltura_import_entries_page in Kaltura 6.2

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

callback function for url admin/settings/kaltura/entries/import

CMAC changes KalturaEntryFilter changed to KalturaMediaEntryFilter

@TODO this may need some reworking

1 string reference to 'kaltura_import_entries_page'
kaltura_menu in ./kaltura.module

File

includes/kaltura.admin.inc, line 432

Code

function kaltura_import_entries_page() {

  // initialise variables
  $foundFlag = TRUE;

  // set to false if there are no entries
  $enabledFlag = FALSE;

  // set to true if mix or media node is enabled
  $entries = array();

  // mix entries
  $mediaEntries = array();

  // media entries
  $entries_need_import = array();
  $each_page = 30;
  $total = 0;
  $mediaTotal = 0;
  $finished = false;
  $current_page = 1;
  if ($_POST['op'] == 'import selected') {
    kaltura_import_entries($_POST['entries_to_import']);
    drupal_goto('admin/settings/kaltura/entries/import');
  }
  if (variable_get('kaltura_partner_id', '') == '') {
    return t('You have not configured your partner details yet. Import cannot be performed until you setup your partner details');
  }
  $get_entries = module_exists('node_kaltura_entry');
  $get_mixes = module_exists('node_kaltura_mix');
  if (empty($_GET['p'])) {
    $_GET['p'] = 1;
  }
  else {
    $current_page = $_GET['p'];
  }
  while (!$finished) {
    set_time_limit(30);

    //get the mix entries
    if ($get_mixes) {
      $filter = new KalturaMixEntryFilter();
      list($total, $entries) = kaltura_get_my_entries($filter, KalturaEntryType::MIX, $each_page, $current_page);
      if ($total == 0) {
        $foundFlag = FALSE;
      }
      $enabledFlag = TRUE;
    }

    // get the media entries
    if ($get_entries) {
      $filter = new KalturaBaseEntryFilter();
      list($mediaTotal, $mediaEntries) = kaltura_get_my_entries($filter, KalturaEntryType::MEDIA_CLIP, $each_page, $current_page);
      if ($mediaTotal == 0) {
        $foundFlag = FALSE;
      }
      $enabledFlag = TRUE;
    }
    if (!$enabledFlag) {
      return t('Can\'t import entries, you did not enable the node_kaltura_entries module.');
    }
    if ($entries === NULL) {
      return t('No entries found.');
    }
    if (is_array($mediaEntries)) {
      $entries_need_import = array_merge($entries_need_import, $mediaEntries);
    }
    if (is_array($entries)) {
      $entries_need_import = array_merge($entries_need_import, $entries);
    }
    $entries_need_import = kaltura_remove_existing_entries($entries_need_import);
    if (count($entries_need_import) >= $each_page) {
      $finished = TRUE;
    }
    $shown = $current_page * $each_page;
    if ($mediaTotal < $shown && $total < $shown) {
      $finished = TRUE;
    }
    $current_page++;
  }
  if (!count($entries_need_import)) {
    return t('No entries needed to be imported.');
  }
  if (count($entries_need_import) > $each_page) {
    $multi_dim = array_chunk($entries_need_import, $each_page, true);
    $entries_need_import = $multi_dim[0];
  }

  /*
    if (count($entries_need_import) < $each_page) {
      list($second_count, $second_page) = kaltura_get_my_entries($filter, $each_page, $_GET['p'] + 1);
      $new_entries_need_import = kaltura_remove_existing_entries($second_page);
      if (is_array($new_entries_need_import) && $second_page !== NULL) {
        foreach ($new_entries_need_import as $eid => $entry) {
          $entries_need_import[$eid] = $entry;
          if (count($entries_need_import) == $each_page) {
            break;
          }
        }
      }
    }
  */
  if ($total + $mediaTotal > $each_page) {
    $pages = ceil(($total + $mediaTotal) / $each_page);
    for ($start = 1; $start <= $pages; $start++) {
      if ($start == $_GET['p']) {
        $pager .= '<a>' . $start . '</a>';
      }
      else {
        $pager .= l($start, 'admin/settings/kaltura/entries/import', array(
          'query' => 'p=' . $start,
        ));
      }
      $pager .= '&nbsp;';
    }
  }
  if (is_array($entries_need_import) && count($entries_need_import)) {
    foreach ($entries_need_import as $entry => $details) {
      $entries_options[$details['id']] = $details['id'] . ': ' . $details['name'] . ' (' . ($details['type'] == 2 ? 'mix' : 'entry') . ')';
    }
  }
  else {
    $entries_options = array();
  }
  $output = drupal_get_form('kaltura_create_entries_form', array(
    $entries_options,
  ));
  return $pager . $output . $pager;
}