Есть необходимость проверять существует ли видео на сайте калтуры или его удалили. В зависимости от этого менять статус ноды. Все это периодически делать по крону. Если с кроном и изменением статуса думаю разберусь, то с калтурой вообще не понимаю что делать. Может кто-то работал с kalturа и может подсказать?
Комментарии
с этим разобрался:
if (!empty($node)) {
try {
$entry = kaltura_get_entry($node->kaltura_entryId) ;
}
catch ( Exception $ex ) {
switch ( $ex->getCode() ) {
case 'ENTRY_ID_NOT_FOUND' :
$update_node = db_query("UPDATE..........");
$count++;
form_set_error('kaltura_entryId_cron', t('Entry not found on Kaltura server missing: @message', array('@message' => $ex->getMessage())));
break ;
default :
form_set_error('kaltura_entryId_cron', t('Kaltura client exception: @message', array('@message' => $ex->getMessage())));
}
}
}
а как вывести после крона сообщение типа "Удалено $count видео"
предыдущий вариант работает некорректно, кому нужно
<?phpfunction kaltura_cron_data(){
$kaltura_client = KalturaHelpers::getKalturaClient(true);
$session_user = KalturaHelpers::getSessionUser();
$kmf = new KalturaBaseEntryFilter();
$pager = new KalturaFilterPager();
$pager->pageSize = 500;
$pager->pageIndex = 1;
$kmf->statusEqual = KalturaEntryStatus::DELETED;
$result = $kaltura_client->baseEntry->listAction($kmf,$pager);
foreach($result->objects as $item){
$que = db_query("SELECT nid FROM `node_kaltura` WHERE `kaltura_entryId` = '".$item->id."' AND `kstatus` <> '3'");
$node_id = db_fetch_array($que);
//echo '<pre>';var_dump($node_id);echo '</pre>';
if($node_id){
$update_node = db_query("UPDATE `node` SET `video_is_missing` = '1' WHERE `nid` =".$node_id['nid']."");
$update_knode = db_query("UPDATE `node_kaltura` SET `kstatus` = '3' WHERE `nid` =".$node_id['nid']."");
}
}
$pager_count = ceil($result->totalCount/500);
if( $pager_count>1){
$i = 1;
while($i++<=$pager_count){
$pager->pageIndex = $i;
$results = $kaltura_client->baseEntry->listAction($kmf,$pager);
foreach($results->objects as $item){
$que = db_query("SELECT `nid` FROM `node_kaltura` WHERE `kaltura_entryId` = '".$item->id."' AND `kstatus` <> '3'");
$node_id = db_fetch_array($que);
if($node_id){
$update_node = db_query("UPDATE `node` SET `video_is_missing` = '1' WHERE `nid` =".$node_id['nid']."");
$update_knode = db_query("UPDATE `node_kaltura` SET `kstatus` = '3' WHERE `nid` =".$node_id['nid']."");
}
}
}
}
}?>
редактируйте под свои нужды