Jelajahi Sumber

Fixed Compatibility with GLPI >= 9.4

Edgard 5 tahun lalu
induk
melakukan
54d8df242c
3 mengubah file dengan 15 tambahan dan 3 penghapusan
  1. 2 1
      front/callback.php
  2. 10 2
      hook.php
  3. 3 0
      inc/provider.class.php

+ 2 - 1
front/callback.php

@@ -40,13 +40,14 @@ if ($test) {
 }
 
 
+$REDIRECT = "";
+
 if ($signon_provider->login()) {
 
    $params = PluginSinglesignonProvider::getCallbackParameters('q');
 
    $url_redirect = '';
 
-   $REDIRECT = "";
 
    if (isset($params['redirect'])) {
       $REDIRECT = '?redirect=' . $params['redirect'];

+ 10 - 2
hook.php

@@ -5,7 +5,11 @@ function plugin_singlesignon_display_login() {
 
    $signon_provider = new PluginSinglesignonProvider();
 
-   $rows = $signon_provider->find('`is_active` = 1');
+   $condition = '`is_active` = 1';
+   if (version_compare(GLPI_VERSION, '9.4', '>=')) {
+      $condition = [$condition];
+   }
+   $rows = $signon_provider->find($condition);
 
    $html = [];
 
@@ -116,7 +120,11 @@ function plugin_singlesignon_uninstall() {
    global $DB;
 
    $config = new Config();
-   $rows = $config->find("`context` LIKE 'singlesignon%'");
+   $condition = "`context` LIKE 'singlesignon%'";
+   if (version_compare(GLPI_VERSION, '9.4', '>=')) {
+      $condition = [$condition];
+   }
+   $rows = $config->find($condition);
 
    foreach ($rows as $id => $row) {
       $config->delete(['id' => $id]);

+ 3 - 0
inc/provider.class.php

@@ -814,6 +814,9 @@ class PluginSinglesignonProvider extends CommonDBTM {
 
       try {
          $data = json_decode($content, true);
+         if (!isset($data['access_token'])) {
+            return false;
+         }
          $this->_token = $data['access_token'];
       } catch (\Exception $ex) {
          return false;