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); }
/** * 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()); }