Bladeren bron

#4558 - Build-in API support

Alex Trofimov 2 jaren geleden
bovenliggende
commit
5d983b83cb
2 gewijzigde bestanden met toevoegingen van 7 en 1 verwijderingen
  1. 3 1
      api.php
  2. 4 0
      inc/utils.inc.php

+ 3 - 1
api.php

@@ -32,6 +32,7 @@ foreach ($a as $v) {
     if (!isset($$v)) {
         header('HTTP/1.0 404 Not Found');
         header('Status: 404 Not Found');
+        BxDolLanguages::getInstance();
         echo json_encode(['status' => 404, 'error' => _t("_sys_request_page_not_found_cpt")]);
         exit;
     }
@@ -42,6 +43,7 @@ foreach ($a as $v) {
 if (!BxDolRequest::serviceExists($sModule, $sMethod, $sClass)) {
     header('HTTP/1.0 404 Not Found');
     header('Status: 404 Not Found');
+    BxDolLanguages::getInstance();
     echo json_encode(['status' => 404, 'error' => _t("_sys_request_page_not_found_cpt")]);
     exit;
 }
@@ -70,7 +72,7 @@ if (!getParam('sys_api_access_unsafe_services')) {
 if (!($aParams = bx_get('params')))
     $aParams = array();
 elseif (is_string($aParams) && preg_match('/^\[.*\]$/', $aParams))
-    $aParams = @json_decode($aParams);
+    $aParams = @json_decode($aParams, true);
 
 if (!is_array($aParams))
     $aParams = array($aParams);

+ 4 - 0
inc/utils.inc.php

@@ -2550,6 +2550,7 @@ function bx_api_check_access()
 {
     if (!getParam('sys_api_enable')) {
         header('HTTP/1.0 403 Forbidden');
+        BxDolLanguages::getInstance();
         echo json_encode(['status' => 403, 'error' => _t("_Access denied")]);
         exit;
     }
@@ -2567,6 +2568,7 @@ function bx_api_check_access()
     if ($sAuthHeader && getParam('sys_api_access_by_key')) {
         if (!BxDolApiQuery::getInstance()->getKey(str_replace('Bearer ', '', $sAuthHeader))) {
             header('HTTP/1.0 403 Forbidden');
+            BxDolLanguages::getInstance();
             echo json_encode(['status' => 403, 'error' => _t("_Access denied")]);
             exit;
         }
@@ -2580,6 +2582,7 @@ function bx_api_check_access()
 
             if (!BxDolApiQuery::getInstance()->getOrigin($sOriginHeader)) {
                 header('HTTP/1.0 403 Forbidden');
+                BxDolLanguages::getInstance();
                 echo json_encode(['status' => 403, 'error' => _t("_Access denied")]);
                 exit;
             }
@@ -2600,6 +2603,7 @@ function bx_api_check_access()
     }
     else {
         header('HTTP/1.0 403 Forbidden');
+        BxDolLanguages::getInstance();
         echo json_encode(['status' => 403, 'error' => _t("_Access denied")]);
         exit;
     }