|
1 | 1 | <?php |
| 2 | + |
2 | 3 | /** |
3 | 4 | * ------------------------------------------------------------------------- |
4 | 5 | * JAMF plugin for GLPI |
|
55 | 56 | PluginJamfComputerSync::syncExtensionAttributeDefinitions(); |
56 | 57 | // An array of item IDs is required |
57 | 58 | if (isset($_REQUEST['item_ids']) && is_array($_REQUEST['item_ids'])) { |
58 | | - $failures = 0; |
| 59 | + $failures = 0; |
59 | 60 | $successes = 0; |
60 | 61 | foreach ($_REQUEST['item_ids'] as $glpi_id => $data) { |
61 | 62 | if (!isset($data['jamf_id'], $data['itemtype'])) { |
62 | 63 | continue; |
63 | 64 | } |
64 | | - $jamf_id = $data['jamf_id']; |
| 65 | + $jamf_id = $data['jamf_id']; |
65 | 66 | $itemtype = $data['itemtype']; |
66 | 67 |
|
67 | 68 | if (($itemtype !== 'Computer') && ($itemtype !== 'Phone')) { |
|
93 | 94 |
|
94 | 95 | //WTF is this, Jamf? |
95 | 96 | $os_details = $jamf_item['ios'] ?? $jamf_item['tvos'] ?? ''; |
96 | | - $ruleinput = [ |
97 | | - 'name' => $jamf_item['name'] ?? $jamf_item['general']['name'], |
98 | | - 'itemtype' => $itemtype, |
| 97 | + $ruleinput = [ |
| 98 | + 'name' => $jamf_item['name'] ?? $jamf_item['general']['name'], |
| 99 | + 'itemtype' => $itemtype, |
99 | 100 | 'last_inventory' => $jamf_item['lastInventoryUpdateTimestamp'] ?? $jamf_item['general']['lastContactTime'], |
100 | | - 'managed' => $jamf_item['managed'] ?? $os_details['managed'], |
101 | | - 'supervised' => $jamf_item['supervised'] ?? $os_details['supervised'], |
| 101 | + 'managed' => $jamf_item['managed'] ?? $os_details['managed'], |
| 102 | + 'supervised' => $jamf_item['supervised'] ?? $os_details['supervised'], |
102 | 103 | ]; |
103 | 104 | $ruleinput = $rules->processAllRules($ruleinput, $ruleinput, ['recursive' => true]); |
104 | | - $import = isset($ruleinput['_import']) ? $ruleinput['_import'] : 'NS'; |
| 105 | + $import = isset($ruleinput['_import']) ? $ruleinput['_import'] : 'NS'; |
105 | 106 |
|
106 | 107 | if (isset($ruleinput['_import']) && !$ruleinput['_import']) { |
107 | 108 | // Dropped by rules |
|
112 | 113 | try { |
113 | 114 | // Partial import |
114 | 115 | $r = $DB->insert('glpi_plugin_jamf_devices', [ |
115 | | - 'itemtype' => $itemtype, |
116 | | - 'items_id' => $glpi_id, |
117 | | - 'udid' => $jamf_item['udid'], |
118 | | - 'jamf_type' => $data['jamf_type'], |
| 116 | + 'itemtype' => $itemtype, |
| 117 | + 'items_id' => $glpi_id, |
| 118 | + 'udid' => $jamf_item['udid'], |
| 119 | + 'jamf_type' => $data['jamf_type'], |
119 | 120 | 'jamf_items_id' => $data['jamf_id'], |
120 | 121 | ]); |
121 | 122 | if ($r === false) { |
122 | 123 | throw new \RuntimeException('Failed to import the device data!'); |
123 | 124 | } |
124 | 125 | // Link |
125 | | - $plugin_item = new $plugin_itemtype(); |
| 126 | + $plugin_item = new $plugin_itemtype(); |
126 | 127 | $plugin_items_id = $plugin_item->add([ |
127 | 128 | 'glpi_plugin_jamf_devices_id' => $DB->insertId(), |
128 | 129 | ]); |
|
133 | 134 | // Update merged device and then delete the pending import |
134 | 135 | if ($sync_result) { |
135 | 136 | $DB->update('glpi_plugin_jamf_devices', [ |
136 | | - 'import_date' => $_SESSION['glpi_currenttime'] |
| 137 | + 'import_date' => $_SESSION['glpi_currenttime'], |
137 | 138 | ], [ |
138 | 139 | 'itemtype' => $itemtype, |
139 | | - 'items_id' => $glpi_id |
| 140 | + 'items_id' => $glpi_id, |
140 | 141 | ]); |
141 | 142 | $DB->delete(PluginJamfImport::getTable(), [ |
142 | | - 'jamf_type' => $data['jamf_type'], |
143 | | - 'jamf_items_id' => $jamf_id |
| 143 | + 'jamf_type' => $data['jamf_type'], |
| 144 | + 'jamf_items_id' => $jamf_id, |
144 | 145 | ]); |
145 | 146 | $DB->commit(); |
146 | 147 | $successes++; |
|
0 commit comments