Guillermo Espinoza преди 7 години
родител
ревизия
07e10004f1
променени са 1 файла, в които са добавени 13 реда и са изтрити 12 реда
  1. 13 12
      Services/Webservice.php

+ 13 - 12
Services/Webservice.php

@@ -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;