function kaltura_import_entries_page in Kaltura 7.2
Same name and namespace in other branches
- 5 includes/kaltura.admin.inc \kaltura_import_entries_page()
- 6.2 includes/kaltura.admin.inc \kaltura_import_entries_page()
- 6 includes/kaltura.admin.inc \kaltura_import_entries_page()
Callback function for url 'admin/settings/kaltura/import'.
TODO: This function should be thoroughly examined. Some weird stuff takes place.
@changes
- KalturaEntryFilter changed to KalturaMediaEntryFilter;
- this may need some reworking;
1 string reference to 'kaltura_import_entries_page'
- kaltura_menu in ./
kaltura.module - Implements hook_menu().
File
- includes/
kaltura.admin.inc, line 728 - Contains functions for administration use of the kaltura core module.
Code
function kaltura_import_entries_page() {
// Initialize variables.
$entries = array();
$entries_need_import = array();
$each_page = 30;
$total = 0;
$media_total = 0;
$finished = FALSE;
$current_page = 1;
$pager = '';
if (isset($_POST['import_selected']) && isset($_POST['entries_to_import'])) {
kaltura_import_entries($_POST['entries_to_import']);
drupal_goto('admin/config/media/kaltura/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');
}
if (empty($_GET['p'])) {
$_GET['p'] = 1;
}
else {
$current_page = $_GET['p'];
}
set_time_limit(30);
while (!$finished) {
// Get the media entries.
list($media_total, $media_entries) = kaltura_get_my_entries($each_page, $current_page);
$entries_need_import = array_merge($entries_need_import, $entries, $media_entries);
$entries_need_import = kaltura_remove_existing_entries($entries_need_import);
if (count($entries_need_import) >= $each_page) {
$finished = TRUE;
}
if ($media_total < $current_page * $each_page && $total < $current_page * $each_page) {
$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 ($total + $media_total > $each_page) {
if ($media_total > 10000) {
drupal_set_message(t('You have more than 10,000 entries. Not all entries are available for import in this interface. Please contact Kaltura Support for additional assistance'), 'warning');
}
$pages = ceil(($total + $media_total) / $each_page);
$pager = '';
$start_page = !empty($_GET['p']) ? $_GET['p'] : 1;
if ($start_page - 5 <= 0) {
$start_page = 1;
}
else {
$start_page = $start_page - 5;
}
if ($pages > 10) {
$end_page = $start_page + 10 < $pages ? $start_page + 10 : $pages;
$pager .= l(t('First ...'), 'admin/config/media/kaltura/import') . ' ';
}
else {
$end_page = $pages;
}
for ($start = $start_page; $start <= $end_page; $start++) {
if ($start == $_GET['p']) {
$pager .= '<span>< ' . $start . ' ></span>';
}
else {
$pager .= l($start, 'admin/config/media/kaltura/import', array(
'query' => array(
'p' => $start,
),
));
}
$pager .= ' ';
}
if ($end_page > 10) {
$pager .= l(t('... Last'), 'admin/config/media/kaltura/import', array(
'query' => array(
'p' => $pages,
),
)) . ' ';
}
}
$entries_options = array();
if (is_array($entries_need_import) && count($entries_need_import)) {
$ksetings = new KalturaSettings();
foreach ($entries_need_import as $entry => $details) {
$entries_options[$details['id']] = $details['name'] . ': ' . '(' . $ksetings->media_types_map[$details['type']] . ') - ' . $details['id'];
}
}
$output = drupal_get_form('kaltura_create_entries_form', $entries_options);
$output = drupal_render($output);
return $pager . $output . $pager;
}