private function runHelloCashPull(&$messages) { if (!defined('HELLOCASH_SYNC_IN_PROGRESS')) { define('HELLOCASH_SYNC_IN_PROGRESS', true); } $token = trim($this->params->get('api_token', '')); if (empty($token)) { $messages[] = "FEHLER: Kein API-Token konfiguriert."; return; } $db = JFactory::getDbo(); // 1. Auto-Mapping ausführen $this->runBulkAutoMapping($token, $db, $messages); // 2. Alle Mappings aus der DB laden (product_id => hellocash_id) $query = $db->getQuery(true) ->select(array($db->quoteName('product_id'), $db->quoteName('hellocash_id'))) ->from($db->quoteName('#__hikashop_hellocash_map')); $db->setQuery($query); $mappings = $db->loadObjectList(); if (empty($mappings)) { $messages[] = "Keine verknüpften Artikel vorhanden."; return; } $hcToHikaMap = array(); foreach ($mappings as $m) { $hcToHikaMap[(int)$m->hellocash_id] = (int)$m->product_id; } $updatedCount = 0; $headers = array("Authorization: Bearer " . $token, "Accept: application/json"); // 3. Bestände seitenweise von helloCash abrufen (100 Artikel pro Request) for ($page = 1; $page <= 25; $page++) { $url = "https://api.hellocash.business/api/v2/articles?limit=100&page=" . $page; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode == 429) { usleep(1500000); $page--; continue; } if ($httpCode != 200 || empty($response)) { break; } $data = json_decode($response, true); $articles = isset($data['data']) ? $data['data'] : (is_array($data) ? $data : array()); if (empty($articles)) { break; } foreach ($articles as $art) { $hcId = isset($art['id']) ? (int)$art['id'] : 0; if ($hcId <= 0 || !isset($hcToHikaMap[$hcId])) { continue; } $stock = null; if (isset($art['stocks'])) $stock = (int)$art['stocks']; elseif (isset($art['stock'])) $stock = (int)$art['stock']; if ($stock !== null) { $pId = $hcToHikaMap[$hcId]; $updateQuery = $db->getQuery(true) ->update($db->quoteName('#__hikashop_product')) ->set($db->quoteName('product_quantity') . ' = ' . $stock) ->where($db->quoteName('product_id') . ' = ' . $pId); $db->setQuery($updateQuery); try { $db->execute(); $updatedCount++; } catch (Exception $e) {} } } if (count($articles) < 100) { break; } usleep(100000); } // Kompakte Erfolgsmeldung ohne unendliche Einzelausgaben $messages[] = "SYNC FERTIG: Insgesamt " . $updatedCount . " Artikelbestände von helloCash nach HikaShop synchronisiert."; } BÖKER

BÖKER

109,96 € CONDOR Zompopo
99,95 € CRKT Bamboozled Assisted
29,95 € CRKT Big Boy Driver Tool
79,96 € CRKT CEO Flipper
149,95 € CRKT FIAL BLACK
64,96 € CRKT HangTi Fixed
64,96 € CRKT HangTi Fixed
199,96 € CRKT Homefront Compact Liner Lock
199,96 € CRKT Homefront Compact Liner Lock
134,95 € CRKT HZ4 Fixed
79,96 € CRKT Ibis Liner Lock
99,95 € CRKT LCK + Liner Lock
99,95 € CRKT M16-02X Crossbar Lock
109,96 € CRKT M16-03XK Crossbar Lock
134,95 € CRKT M16-14XD Crossbar Lock
59,95 € CRKT Minimalist Nessmuk
210,00 € CRKT Provoke Aluminum
174,95 € CRKT Provoke EDC
119,95 € CRKT Provoke Grivory
119,95 € CRKT Provoke Grivory
350,00 € CRKT Provoke X
69,95 € CRKT PUP GRAY
199,96 € CRKT Q COMPACT
250,00 € CRKT REDEMPTION
250,00 € CRKT REDEMPTION COM. CROSSBAR LOCK BLACK
225,00 € CRKT REDEMPTION COMP. CROSSBAR LOCK GRAY
275,00 € CRKT REDEMPTION CROSSBAR LOCK
119,95 € CRKT Snap Lock Folder
79,96 € CRKT Squid Button Lock
79,96 € CRKT Squid Button Lock
89,95 € CRKT Squid XM Button Lock
89,95 € CRKT Squid XM Button Lock
79,96 € CRKT Straight Frame Lock
99,95 € CRKT Tuna Compact Frame Lock
99,95 € CRKT Viento Liner Lock
124,96 € CRKT Walker Blade Lock
149,95 € CRKT XOLOTL FIXED BLADE
275,00 € DAILY KNIVES AK1 AMERICAN TANTO ULTEM
241,00 € Daily Knives AK1 Droppoint Richlite Reds
241,00 € Daily Knives AK1 Reverse Tanto Allblack
265,00 € DAILY KNIVES AK1 Reverse Tanto CF
164,95 € DBK BUSHFRIEND 2000 BLACK
34,96 € DMAX Backpacker
29,95 € DMAX Bit-PEN
30,95 € DMAX CHAINSAW ATTENDANT
52,96 € DMAX ELK HUNTER
47,95 € DMAX HUNTING POCKET KNIFE DUO
17,95 € DMAX KNIVGAR
Ergebnisse 625 – 672 von 1572