Pārlūkot izejas kodu

Improve admin dashboard hotel selection logic to handle empty values and prevent unserialize errors

szisz1982 6 dienas atpakaļ
vecāks
revīzija
7a9ce6ca9d
1 mainītis faili ar 15 papildinājumiem un 5 dzēšanām
  1. 15 5
      application/views/admin_admins.php

+ 15 - 5
application/views/admin_admins.php

@@ -119,13 +119,23 @@
                             <div class="form-group">
                                 <label for="admin_dashboard"><?=lang::_('Hotel')?>: </label>
                                 <?php
-                                    $selectedHotels = unserialize($active->admin_dashboard);
-                                    if ($selectedHotels === false) {
+                                    if ($active->admin_dashboard != '' && $active->admin_dashboard != 'N;') {
+                                        $selectedHotels = unserialize($active->admin_dashboard);
+                                        if ($selectedHotels === false) {
+                                            $selectedHotels = [];
+                                        }
+                                    }
+                                    else {
                                         $selectedHotels = [];
                                     }
 
-                                    $avaiableHotels = unserialize($_SESSION['admin_user']->admin_dashboard);
-                                    if ($avaiableHotels === false) {
+                                    if ($_SESSION['admin_user']->admin_dashboard != '' && $_SESSION['admin_user']->admin_dashboard != 'N;') {
+                                        $avaiableHotels = unserialize($_SESSION['admin_user']->admin_dashboard);
+                                        if ($avaiableHotels === false) {
+                                            $avaiableHotels = [];
+                                        }
+                                    }
+                                    else {
                                         $avaiableHotels = [];
                                     }
                                 ?>
@@ -141,7 +151,7 @@
                                     }
                                     ?>
                                     <?php foreach ($hotels as $hotel) : ?>
-                                    <option value="<?=$hotel['key']?>"<?= in_array($hotel['key'], $selectedHotels) ? ' selected' : '' ?>>
+                                    <option value="<?=$hotel['key']?>"<?=in_array($hotel['key'], $selectedHotels) ? ' selected' : '' ?>>
                                     <?=$hotel['value']?>
                                     </option>
                                     <?php endforeach; ?>