summaryrefslogtreecommitdiff
path: root/lib/facebook-graph-sdk/src/Facebook/GraphNodes/GraphEdge.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/facebook-graph-sdk/src/Facebook/GraphNodes/GraphEdge.php')
-rw-r--r--lib/facebook-graph-sdk/src/Facebook/GraphNodes/GraphEdge.php44
1 files changed, 18 insertions, 26 deletions
diff --git a/lib/facebook-graph-sdk/src/Facebook/GraphNodes/GraphEdge.php b/lib/facebook-graph-sdk/src/Facebook/GraphNodes/GraphEdge.php
index 95f3284..f6f4970 100644
--- a/lib/facebook-graph-sdk/src/Facebook/GraphNodes/GraphEdge.php
+++ b/lib/facebook-graph-sdk/src/Facebook/GraphNodes/GraphEdge.php
@@ -1,6 +1,6 @@
<?php
/**
- * Copyright 2014 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* You are hereby granted a non-exclusive, worldwide, royalty-free license to
* use, copy, modify, and distribute this software in source code or binary
@@ -153,35 +153,13 @@ class GraphEdge extends Collection
$this->validateForPagination();
// Do we have a paging URL?
- if (isset($this->metaData['paging'][$direction])) {
- // Graph returns the full URL with all the original params.
- // We just want the endpoint though.
- $pageUrl = $this->metaData['paging'][$direction];
-
- return FacebookUrlManipulator::baseGraphUrlEndpoint($pageUrl);
- }
-
- // Do we have a cursor to work with?
- $cursorDirection = $direction === 'next' ? 'after' : 'before';
- $cursor = $this->getCursor($cursorDirection);
- if (!$cursor) {
- return null;
- }
-
- // If we don't know the ID of the parent node, this ain't gonna work.
- if (!$this->parentEdgeEndpoint) {
+ if (!isset($this->metaData['paging'][$direction])) {
return null;
}
- // We have the parent node ID, paging cursor & original request.
- // These were the ingredients chosen to create the perfect little URL.
- $pageUrl = $this->parentEdgeEndpoint . '?' . $cursorDirection . '=' . urlencode($cursor);
+ $pageUrl = $this->metaData['paging'][$direction];
- // Pull in the original params
- $originalUrl = $this->request->getUrl();
- $pageUrl = FacebookUrlManipulator::mergeUrlParams($originalUrl, $pageUrl);
-
- return FacebookUrlManipulator::forceSlashPrefix($pageUrl);
+ return FacebookUrlManipulator::baseGraphUrlEndpoint($pageUrl);
}
/**
@@ -257,4 +235,18 @@ class GraphEdge extends Collection
return null;
}
+
+ /**
+ * @inheritDoc
+ */
+ public function map(\Closure $callback)
+ {
+ return new static(
+ $this->request,
+ array_map($callback, $this->items, array_keys($this->items)),
+ $this->metaData,
+ $this->parentEdgeEndpoint,
+ $this->subclassName
+ );
+ }
}