diff --git a/ci4/app/Services/ImpresoraEtiquetaService.php b/ci4/app/Services/ImpresoraEtiquetaService.php index 19e4e851..63f8ae9a 100644 --- a/ci4/app/Services/ImpresoraEtiquetaService.php +++ b/ci4/app/Services/ImpresoraEtiquetaService.php @@ -6,11 +6,8 @@ use App\Entities\Configuracion\ImpresoraEtiquetaEntity; use App\Models\Configuracion\ImpresoraEtiquetaModel; use CodeIgniter\Config\BaseService; use DOMDocument; -use DOMElement; -use DOMText; -use DOMNode; -use phpseclib3\Net\SFTP; use Throwable; +use Exception; class ImpresoraEtiquetaService extends BaseService { @@ -81,13 +78,25 @@ class ImpresoraEtiquetaService extends BaseService } protected function sendToImpresoraEtiqueta(string $name, string $content, ImpresoraEtiquetaEntity $impresoraEtiqueta): bool { - $ftp = new SFTP($impresoraEtiqueta->ip, $impresoraEtiqueta->port); - $isLoginSuccess = $ftp->login(username: $impresoraEtiqueta->user, password: $impresoraEtiqueta->pass ?? ''); - if ($isLoginSuccess) { - $status = $ftp->put($name, $content); - } else { - $status = false; + $conn = @ftp_connect($impresoraEtiqueta->ip,$impresoraEtiqueta->port); + if(!$conn){ + throw new Exception('Error al establecer conexión FTP'); } + $isLoginSuccess = @ftp_login($conn, $impresoraEtiqueta->user, $impresoraEtiqueta->pass); + if ($isLoginSuccess) { + } else { + throw new Exception('Error haciendo login en el servidor FTP'); + } + if (!ftp_pasv($conn, true)) { + throw new Exception('Error entrando en modo pasivo'); + } + if (ftp_put($conn, $name, $content, FTP_ASCII) === FALSE) { + $status = false; + ftp_close($conn); + }else{ + $status = true; + } + return $status; } }