function kaltura_import_entries_page in Kaltura 6.2
Same name and namespace in other branches
- 5 includes/kaltura.admin.inc \kaltura_import_entries_page()
- 6 includes/kaltura.admin.inc \kaltura_import_entries_page()
- 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'
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 .= ' ';
}
}
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;
}