appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-oracle* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1054-aws Description-md5: 4c20216d4d477674059acdd1f59ba03c Description-en: Linux kernel nvidia modules for version 5.4.0-1054 This package pulls together the Linux kernel nvidia modules for version 5.4.0-1054 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-aws* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1054-oracle Description-md5: 288c205d4c85b6c1379297a1e7181937 Description-en: Linux kernel nvidia modules for version 5.4.0-1054 This package pulls together the Linux kernel nvidia modules for version 5.4.0-1054 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-oracle* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1055-aws Description-md5: 9497ea9c721e20fbc830860487eef31e Description-en: Linux kernel nvidia modules for version 5.4.0-1055 This package pulls together the Linux kernel nvidia modules for version 5.4.0-1055 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-aws* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1055-azure Description-md5: c4902217c5dd0e2c9b96d353244b3edc Description-en: Linux kernel nvidia modules for version 5.4.0-1055 This package pulls together the Linux kernel nvidia modules for version 5.4.0-1055 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-azure* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1055-gcp Description-md5: bb79d884499c7ebff459856ebb16bfd7 Description-en: Linux kernel nvidia modules for version 5.4.0-1055 This package pulls together the Linux kernel nvidia modules for version 5.4.0-1055 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-gcp* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1055-oracle Description-md5: 60a25eef335c0a069015750f4a6cd263 Description-en: Linux kernel nvidia modules for version 5.4.0-1055 This package pulls together the Linux kernel nvidia modules for version 5.4.0-1055 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-oracle* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1056-aws Description-md5: e9ad042152b2635d8f805c0135312392 Description-en: Linux kernel nvidia modules for version 5.4.0-1056 This package pulls together the Linux kernel nvidia modules for version 5.4.0-1056 with the appropriate signatures. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-nvidia-470-aws* meta-packages, which will ensure that upgrades work correctly, and that supporting packages are also installed. Package: linux-modules-nvidia-470-5.4.0-1056-azure Description-md5: e6f04ff9aa641d690a03134aec9922d0 Description-en: Linux kernel nvidia modules for vers "300", "message" => "ERROR - [wsFileLedes1998B] Parametros incompletos para el Servicio Web, faltan el Nombre del Archivo LEDES"); $Resultado = json_encode($j_array); echo $Resultado; return; } if($bRecId == "") { $j_array = array('code' => "300", "message" => "ERROR - [wsFileLedes1998B] Parametros incompletos para el Servicio Web, faltan el ID del LEDES a actualizar"); $Resultado = json_encode($j_array); echo $Resultado; return; } # Obtenemos el access token de Zoho Creator $bDatPac = base64_decode($bDatPac); $aDatPac = json_decode($bDatPac, true); #== Datos y Variables para OAuth Token $coa_ClientId = $aDatPac["C_OAuth_client_id"]; $coa_ClientSecret = $aDatPac["C_OAuth_client_secret"]; $coa_RefreshToken = $aDatPac["C_OAuth_refresh_token"]; $coa_GrantType = $aDatPac["C_OAuth_grant_type"]; $coa_RedirectUri = $aDatPac["C_OAuth_redirect_uri"]; $coa_AuthUrl = "https://accounts.zoho.com/oauth/v2/token"; $coa_access_token = oauth($appOwner, 'ZCreator', $coa_RefreshToken, $coa_ClientId, $coa_ClientSecret, $coa_RedirectUri, $coa_GrantType, $coa_AuthUrl); ### 1. EXTRACCION DE PARAMETROS PARA EL CFDI ###################################################### #== Primero, extraemos el JSON del string en base 64 $request_url = 'https://creator.zoho.com/api/v2/' . $appOwner . '/' . $applnkname . '/report/' . $reportQry . '?criteria=(ID='.$bRecId.')'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $request_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Zoho-oauthtoken ' . $coa_access_token)); $r = curl_exec($ch); $array = json_decode($r); $bdDatLed = $array->data[0]->jsonInvoiceDetail; $bdDatLed = str_replace("\t|\n", " ", $bdDatLed); $abdDatLed = json_decode($bdDatLed,true); curl_close ($ch); $dirBase = realpath("../"); ### 2. DEFINICIÓN DE CONSTANTES ################################################### $SendaPEMS = "archs_pem/"; $SendaCFDI = "archs_cfdi/"; $SendaGRAFS = "archs_graf/"; $SendaXSD = "archs_xsd/"; $fileLedes = fopen($SendaCFDI.$arcLedes, "w"); fwrite($fileLedes, "LEDES98BI V2[]" . PHP_EOL); fwrite($fileLedes, "INVOICE_DATE|INVOICE_NUMBER|CLIENT_ID|LAW_FIRM_MATTER_ID|INVOICE_TOTAL|BILLING_START_DATE|BILLING_END_DATE|INVOICE_DESCRIPTION|LINE_ITEM_NUMBER|EXP/FEE/INV_ADJ_TYPE|LINE_ITEM_NUMBER_OF_UNITS|LINE_ITEM_ADJUSTMENT_AMOUNT|LINE_ITEM_TOTAL|LINE_ITEM_DATE|LINE_ITEM_TASK_CODE|LINE_ITEM_EXPENSE_CODE|LINE_ITEM_ACTIVITY_CODE|TIMEKEEPER_ID|LINE_ITEM_DESCRIPTION|LAW_FIRM_ID|LINE_ITEM_UNIT_COST|TIMEKEEPER_NAME|TIMEKEEPER_CLASSIFICATION|CLIENT_MATTER_ID|PO_NUMBER|CLIENT_TAX_ID|MATTER_NAME|INVOICE_TAX_TOTAL|INVOICE_NET_TOTAL|INVOICE_CURRENCY|TIMEKEEPER_LAST_NAME|TIMEKEEPER_FIRST_NAME|ACCOUNT_TYPE|LAW_FIRM_NAME|LAW_FIRM_ADDRESS_1|LAW_FIRM_ADDRESS_2|LAW_FIRM_CITY|LAW_FIRM_STATEorREGION|LAW_FIRM_POSTCODE|LAW_FIRM_COUNTRY|CLIENT_NAME|CLIENT_ADDRESS_1|CLIENT_ADDRESS_2|CLIENT_CITY|CLIENT_STATEorREGION|CLIENT_POSTCODE|CLIENT_COUNTRY|LINE_ITEM_TAX_RATE|LINE_ITEM_TAX_TOTAL|LINE_ITEM_TAX_TYPE|INVOICE_REPORTED_TAX_TOTAL|INVOICE_TAX_CURRENCY[]" . PHP_EOL); // Armando el detalle de lineas del archivo. for ($i = 1; $i < count($abdDatLed); $i++){ if($abdDatLed[$i]["INVOICE_DATE"] != "") { fwrite($fileLedes, $abdDatLed[$i]["INVOICE_DATE"] . "|" . $abdDatLed[$i]["INVOICE_NUMBER"]."|" . $abdDatLed[$i]["CLIENT_ID"]."|" . $abdDatLed[$i]["LAW_FIRM_MATTER_ID"]."|" . $abdDatLed[$i]["INVOICE_TOTAL"]. "|" . $abdDatLed[$i]["BILLING_START_DATE"]. "|" . $abdDatLed[$i]["BILLING_END_DATE"]. "|" . $abdDatLed[$i]["INVOICE_DESCRIPTION"]. "|" . $abdDatLed[$i]["LINE_ITEM_NUMBER"]. "|" . $abdDatLed[$i]["EXP_FEE_INV_ADJ_TYPE"]. "|" . $abdDatLed[$i]["LINE_ITEM_NUMBER_OF_UNITS"]. "|" . $abdDatLed[$i]["LINE_ITEM_ADJUSTMENT_AMOUNT"]. "|" . $abdDatLed[$i]["LINE_ITEM_TOTAL"]. "|" . $abdDatLed[$i]["LINE_ITEM_DATE"]. "|" . $abdDatLed[$i]["LINE_ITEM_TASK_CODE"]. "|" . $abdDatLed[$i]["LINE_ITEM_EXPENSE_CODE"]. "|" . $abdDatLed[$i]["LINE_ITEM_ACTIVITY_CODE"]. "|" . $abdDatLed[$i]["TIMEKEEPER_ID"]. "|" . $abdDatLed[$i]["LINE_ITEM_DESCRIPTION"]. "|" . $abdDatLed[$i]["LAW_FIRM_ID"]. "|" . $abdDatLed[$i]["LINE_ITEM_UNIT_COST"]. "|" . $abdDatLed[$i]["TIMEKEEPER_NAME"]. "|" . $abdDatLed[$i]["TIMEKEEPER_CLASSIFICATION"]. "|" . $abdDatLed[$i]["CLIENT_MATTER_ID"]. "|" . $abdDatLed[$i]["PO_NUMBER"]. "|" . $abdDatLed[$i]["CLIENT_TAX_ID"]. "|" . $abdDatLed[$i]["MATTER_NAME"]. "|" . $abdDatLed[$i]["INVOICE_TAX_TOTAL"]. "|" . $abdDatLed[$i]["INVOICE_NET_TOTAL"]. "|" . $abdDatLed[$i]["INVOICE_CURRENCY"]. "|" . $abdDatLed[$i]["TIMEKEEPER_LAST_NAME"]. "|" . $abdDatLed[$i]["TIMEKEEPER_FIRST_NAME"]. "|" . $abdDatLed[$i]["ACCOUNT_TYPE"]. "|" . $abdDatLed[$i]["LAW_FIRM_NAME"]. "|" . $abdDatLed[$i]["LAW_FIRM_ADDRESS_1"]. "|" . $abdDatLed[$i]["LAW_FIRM_ADDRESS_2"]. "|" . $abdDatLed[$i]["LAW_FIRM_CITY"]. "|" . $abdDatLed[$i]["LAW_FIRM_STATEorREGION"]. "|" . $abdDatLed[$i]["LAW_FIRM_POSTCODE"]. "|" . $abdDatLed[$i]["LAW_FIRM_COUNTRY"]. "|" . $abdDatLed[$i]["CLIENT_NAME"]. "|" . $abdDatLed[$i]["CLIENT_ADDRESS_1"]. "|" . $abdDatLed[$i]["CLIENT_ADDRESS_2"]. "|" . $abdDatLed[$i]["CLIENT_CITY"]. "|" . $abdDatLed[$i]["CLIENT_STATEorREGION"]. "|" . $abdDatLed[$i]["CLIENT_POSTCODE"]. "|" . $abdDatLed[$i]["CLIENT_COUNTRY"]. "|" . $abdDatLed[$i]["LINE_ITEM_TAX_RATE"]. "|" . $abdDatLed[$i]["LINE_ITEM_TAX_TOTAL"]. "|" . $abdDatLed[$i]["LINE_ITEM_TAX_TYPE"]. "|" . $abdDatLed[$i]["INVOICE_REPORTED_TAX_TOTAL"]. "|" . $abdDatLed[$i]["INVOICE_TAX_CURRENCY"]. "[]" . PHP_EOL); } } fclose($fileLedes); chmod($SendaCFDI.$arcLedes, 0777); $fileBuffer = file_get_contents($SendaCFDI.$arcLedes); // unlink($SendaCFDI.$arcLedes); $j_array = array('code' => "200", 'message' => "Proceso de creacion del archivo LEDES fue exitoso", 'archivo_ledes' => $fileBuffer,'file_name' => $arcLedes); $Resultado = json_encode($j_array); echo $Resultado; return;