public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser)
 {
     // TODO -  verify permissions for viewing lists
     $detailed = $this->getP("detailed", false);
     if (!$detailed) {
         $detailed = false;
     }
     $limit = $this->getP("page_size", 10);
     $limit = $this->maxPageSize($limit);
     $page = $this->getP("page", 1);
     $user_filter_prefix = $this->getP("fp", "filter");
     $offset = ($page - 1) * $limit;
     // TODO - should limit search to partner ??
     //		kuserPeer::setUseCriteriaFilter( false );
     //		entryPeer::setUseCriteriaFilter( false );
     $input_params = $this->getInputParams();
     // fill the playlist (infact only the mediaType and contentData are important
     $playlist = new entry();
     $playlist->setType(entryType::PLAYLIST);
     // prepare the playlist type before filling from request
     $obj_wrapper = objectWrapperBase::getWrapperClass($playlist, 0);
     $playlist->setMediaType($this->getP("playlist_mediaType"));
     $data_content = $this->getP("playlist_dataContent");
     $playlist->setDataContent($data_content);
     /*		
     	$updateable_fields = $obj_wrapper->getUpdateableFields() ;
     	$fields_modified = baseObjectUtils::fillObjectFromMapOrderedByFields( $input_params , $playlist , "playlist_" , 
     		$updateable_fields , BasePeer::TYPE_PHPNAME ,false );
     */
     // rest is similar to the executeplaylist service
     $extra_filters = array();
     for ($i = 1; $i < self::MAX_FILTER_COUNT; $i++) {
         // filter
         $extra_filter = new entryFilter();
         $fields_set = $extra_filter->fillObjectFromRequest($input_params, "{$user_filter_prefix}{$i}_", null);
         $extra_filters[$i] = $extra_filter;
     }
     $entry_list = myPlaylistUtils::executePlaylist($partner_id, $playlist, $extra_filters, $detailed);
     myEntryUtils::updatePuserIdsForEntries($entry_list);
     $level = $detailed ? objectWrapperBase::DETAIL_LEVEL_DETAILED : objectWrapperBase::DETAIL_LEVEL_REGULAR;
     $wrapper = objectWrapperBase::getWrapperClass($entry_list, $level);
     $this->addMsg("count", count($entry_list));
     $this->addMsg($this->getObjectPrefix(), $wrapper);
 }
 public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser)
 {
     // TODO -  verify permissions for viewing lists
     $detailed = $this->getP("detailed", false);
     if (!$detailed) {
         $detailed = false;
     }
     // fill the playlist (infact only the mediaType and contentData are important
     $playlist = new entry();
     $playlist->setType(entryType::PLAYLIST);
     // prepare the playlist type before filling from request
     $obj_wrapper = objectWrapperBase::getWrapperClass($playlist, 0);
     $playlist->setMediaType($this->getP("playlist_mediaType"));
     $data_content = $this->getP("playlist_dataContent");
     $playlist->setDataContent($data_content);
     $entry_list = myPlaylistUtils::executePlaylist($partner_id, $playlist, null, $detailed);
     myEntryUtils::updatePuserIdsForEntries($entry_list);
     $level = $detailed ? objectWrapperBase::DETAIL_LEVEL_DETAILED : objectWrapperBase::DETAIL_LEVEL_REGULAR;
     $wrapper = objectWrapperBase::getWrapperClass($entry_list, $level);
     $this->addMsg("count", count($entry_list));
     $this->addMsg($this->getObjectPrefix(), $wrapper);
 }
Пример #3
0
 /**
  * Retrieve playlist for playing purpose
  * @disableTags TAG_WIDGET_SESSION
  *
  * @action execute
  * @param string $id
  * @param string $detailed
  * @param KalturaContext $playlistContext
  * @param KalturaMediaEntryFilterForPlaylist $filter
  * @param KalturaFilterPager $pager
  * @return KalturaBaseEntryArray
  */
 function executeAction($id, $detailed = false, KalturaContext $playlistContext = null, $filter = null, $pager = null)
 {
     myDbHelper::$use_alternative_con = myDbHelper::DB_HELPER_CONN_PROPEL3;
     $playlist = entryPeer::retrieveByPK($id);
     if (!$playlist) {
         throw new KalturaAPIException(APIErrors::INVALID_ENTRY_ID, "Playlist", $id);
     }
     if ($playlist->getType() != entryType::PLAYLIST) {
         throw new KalturaAPIException(APIErrors::INVALID_PLAYLIST_TYPE);
     }
     $entryFilter = null;
     if ($filter) {
         $coreFilter = new entryFilter();
         $filter->toObject($coreFilter);
         $entryFilter = $coreFilter;
     }
     if ($this->getKs() && is_object($this->getKs()) && $this->getKs()->isAdmin()) {
         myPlaylistUtils::setIsAdminKs(true);
     }
     $corePlaylistContext = null;
     if ($playlistContext) {
         $corePlaylistContext = $playlistContext->toObject();
         myPlaylistUtils::setPlaylistContext($corePlaylistContext);
     }
     // the default of detrailed should be true - most of the time the kuse is needed
     if (is_null($detailed)) {
         $detailed = true;
     }
     try {
         $entryList = myPlaylistUtils::executePlaylist($this->getPartnerId(), $playlist, $entryFilter, $detailed, $pager);
     } catch (kCoreException $ex) {
         throw $ex;
     }
     myEntryUtils::updatePuserIdsForEntries($entryList);
     return KalturaBaseEntryArray::fromDbArray($entryList, $this->getResponseProfile());
 }