|
@@ -190,38 +190,39 @@ class Webservice
|
|
|
/**
|
|
|
* @param string $webservice
|
|
|
* @param array $filters
|
|
|
+ * @param boolean $qbCriteria
|
|
|
* @param array $order_by
|
|
|
* @param int $limit
|
|
|
* @param int $offset
|
|
|
- * @param boolean $qbCriteria
|
|
|
*
|
|
|
* @return string
|
|
|
*/
|
|
|
public function buildUrl($webservice, $filters = array(), $qbCriteria = false, $order_by = array(), $limit = 20, $offset = null)
|
|
|
{
|
|
|
- $url = $webservice . '?';
|
|
|
+ $url = $webservice;
|
|
|
if ($this->serviceContainer->hasParameter($webservice)) {
|
|
|
- $url = $this->serviceContainer->getParameter($webservice) . '?';
|
|
|
+ $url = $this->serviceContainer->getParameter($webservice);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ $parameters = [];
|
|
|
if ($filters) {
|
|
|
- $url .= http_build_query(array('filters' => $filters));
|
|
|
+ $parameters['filters'] = $filters;
|
|
|
}
|
|
|
-
|
|
|
if ($order_by) {
|
|
|
- $url .= '&' . http_build_query(array('order_by' => $order_by));
|
|
|
+ $parameters['order_by'] = $order_by;
|
|
|
}
|
|
|
-
|
|
|
if ($limit) {
|
|
|
- $url .= "&limit={$limit}";
|
|
|
+ $parameters['limit'] = $limit;
|
|
|
}
|
|
|
-
|
|
|
if ($offset) {
|
|
|
- $url .= "&offset={$offset}";
|
|
|
+ $parameters['offset'] = $offset;
|
|
|
+ }
|
|
|
+ if (!empty($parameters)) {
|
|
|
+ $url .= '?' . http_build_query($parameters);
|
|
|
}
|
|
|
|
|
|
if ($qbCriteria) {
|
|
|
- $url .= '&filters[qb-criteria]';
|
|
|
+ $url .= '&filters%5Bqb-criteria%5D';
|
|
|
}
|
|
|
|
|
|
return $url;
|