/** * * @param string $id * @return Bridge_Api_ElementCollection */ protected function list_containers_content($object, $id, array $fields = [], $iteration = 0) { $url = sprintf("/%s/%s/videos", $object, $id); $result = $this->_api->call($url, ['fields' => $fields], $this->oauth_token); $element_collection = new Bridge_Api_ElementCollection(); $element_collection->set_items_per_page($result["limit"]); $total = sizeof($result["list"]); $current_page = $result["page"]; $total_page = null; $element_collection->set_total_items($total); $element_collection->set_current_page($current_page); $element_collection->set_total_page($total_page); $i = 0; foreach ($result["list"] as $entry) { $i++; $element_collection->add_element(new Bridge_Api_Dailymotion_Element($entry, $object)); if ($i == $iteration) { break; } } return $element_collection; }
/** * * @param string $object * @param int $offset_start * @param int $quantity * @return Bridge_Api_ElementCollection */ public function list_elements($object, $offset_start = 0, $quantity = 10) { switch ($object) { case self::ELEMENT_TYPE_VIDEO: $video_feed = $this->get_user_object_list_feed($object, $offset_start, $quantity); $element_collection = new Bridge_Api_ElementCollection(); $element_collection->set_items_per_page($video_feed->getItemsPerPage()->getText()); $total = $video_feed->getTotalResults()->getText(); $current_page = floor((int) $video_feed->getStartIndex()->getText() / (int) $video_feed->getItemsPerPage()->getText()) + 1; $total_page = ceil((int) $total / (int) $video_feed->getItemsPerPage()->getText()); $element_collection->set_total_items($total); $element_collection->set_current_page($current_page); $element_collection->set_total_page($total_page); foreach ($video_feed as $entry) { $element_collection->add_element(new Bridge_Api_Youtube_Element($entry, $object)); } return $element_collection; break; default: throw new Bridge_Exception_ElementUnknown('Unknown element ' . $object); break; } }