where('is_active', '=', 1)->first(); $url = $HRCPortalURL . 'api/cloud/list?api=2.0&project_code=hrc&code=' . $terminal['key'] . '&folder=' . $folder; $search = curl_init(); curl_setopt_array($search, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, )); $search_response = curl_exec($search); curl_close($search); $responses = json_decode($search_response, TRUE)['files']; /*{"status":"success","message":[{"size":"61671","mimetype":"application\/xml","timestamp":1655321649,"type":"file","path":"menu\/Menu_1_1.xml","dirname":"menu","basename":"Menu_1_1.xml","extension":"xml","filename":"Menu_1_1"}]}*/ foreach ($responses as $key => $response) { $filename = $response['basename']; //$path = '/backup/' . $filename . '.xml'; $path = '/menu/' . $filename; $download_url = $HRCPortalURL . 'api/cloud/download?api=2.0&project_code=hrc&code=' . $terminal['key'] . '&path=' . $path; $download = curl_init(); curl_setopt_array($download, array( CURLOPT_URL => $download_url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => false, CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, )); $download_response = curl_exec($download); curl_close($download); $file = json_decode($download_response, TRUE)['content']; } $dirname = __DIR__ . "\\..\\..\\..\\Exchange\\" . $terminal['key'] . "\\menu\\"; if (!is_dir($dirname)) { mkdir($dirname, 0755, 'w+'); } if (file_exists($dirname . $filename)) { unlink($dirname . $filename); } $handle = fopen($dirname . $filename, 'w+'); fputs($handle, chr(0xEF) . chr(0xBB) . chr(0xBF)); // BOM file_put_contents($dirname . $filename, base64_decode($file)); fclose($handle); $menu_file = $dirname . $filename; $objXmlDocument = simplexml_load_file($menu_file); $objJsonDocument = json_encode($objXmlDocument); $xmlmenu = json_decode($objJsonDocument, TRUE); $test = $xmlmenu['GeneralSettings']['@attributes']; /* $check_setting = Settings::where('code', 12)->first(); $check_setting = $check_setting['value'] + 0; if ($check_setting == 0) { }*/ return [ 'status' => 'success', 'message' => $test, ]; } }