[Решено]kaltura video проверка файла

Главные вкладки

Аватар пользователя vova2012 vova2012 1 октября 2012 в 14:02

Есть необходимость проверять существует ли видео на сайте калтуры или его удалили. В зависимости от этого менять статус ноды. Все это периодически делать по крону. Если с кроном и изменением статуса думаю разберусь, то с калтурой вообще не понимаю что делать. Может кто-то работал с kalturа и может подсказать?

Комментарии

Аватар пользователя vova2012 vova2012 5 октября 2012 в 11:33

с этим разобрался:
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 видео"

Аватар пользователя vova2012 vova2012 10 октября 2012 в 11:37

предыдущий вариант работает некорректно, кому нужно

<?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']."");
                }
            }
            
        }
    }
}?>

редактируйте под свои нужды