From: Vincent Vanwaelscappel Date: Mon, 19 Jan 2026 15:58:50 +0000 (+0100) Subject: wait #7894 @1 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=62baa5b4fc48d4f64bd8b3c5fccc6d6bec0751c3;p=fluidbook-toolbox.git wait #7894 @1 --- diff --git a/app/Fluidbook/Compiler/Accessibility.php b/app/Fluidbook/Compiler/Accessibility.php index 39a4d06a8..758958c51 100644 --- a/app/Fluidbook/Compiler/Accessibility.php +++ b/app/Fluidbook/Compiler/Accessibility.php @@ -2,10 +2,13 @@ namespace App\Fluidbook\Compiler; +use App\Fluidbook\Farm; +use App\Jobs\OCR; use App\Models\FluidbookHealthIssues; use Cubist\Azure\TTS\Api; use Cubist\Util\Files\Files; use Cubist\Util\Text; +use Cubist\Util\Url; use Exception; use PhpOffice\PhpSpreadsheet\Reader\Xlsx; @@ -135,4 +138,51 @@ trait Accessibility } catch (Exception $e) { } } + + public function getLinkAlternativeText($link, $returnJobs = false) + { + $ocr = $link->getOCR(); + if ($returnJobs) { + $res = []; + } else { + $res = ''; + } + + if (!$ocr) { + return $res; + } + + foreach ($ocr as $attr) { + if (Url::isDistant($link->$attr)) { + continue; + } + $file = $this->wdir . '/' . $link->$attr; + + if (!file_exists($file)) { + continue; + } + $ext = ['jpg', 'jpeg', 'png', /*'svg',*/ + 'pdf']; + $f = new \SplFileInfo($file); + if (!in_array($f->getExtension(), $ext)) { + continue; + } + + if ($returnJobs) { + $j = new OCR($file, $this->getFluidbook()->locale); + if ($j->isOK()) { + continue; + } + $res[] = $j; + } else { + $o = Farm::OCR($file, $this->getFluidbook()->locale); + if (file_exists($o)) { + $o = file_get_contents($o); + } + $res .= $o; + } + } + + return $res; + } } diff --git a/app/Fluidbook/Compiler/Links.php b/app/Fluidbook/Compiler/Links.php index 3acfbc38a..d256e9fc1 100644 --- a/app/Fluidbook/Compiler/Links.php +++ b/app/Fluidbook/Compiler/Links.php @@ -529,43 +529,5 @@ trait Links $this->config->push('triggersLinks', ['page' => $page, 'link' => $link, 'delay' => $delay]); } - public function getLinkAlternativeText($link, $returnJobs = false) - { - $ocr = $link->getOCR(); - if ($returnJobs) { - $res = []; - } else { - $res = ''; - } - if (!$ocr) { - return $res; - } - - foreach ($ocr as $attr) { - if (Url::isDistant($link->$attr)) { - continue; - } - $file = $this->wdir . '/' . $link->$attr; - - if (!file_exists($file)) { - continue; - } - $ext = ['jpg', 'jpeg', 'png', /*'svg',*/ 'pdf']; - $f = new \SplFileInfo($file); - if (!in_array($f->getExtension(), $ext)) { - continue; - } - if ($returnJobs) { - $j = new OCR($file, $this->getFluidbook()->locale); - if ($j->isOK()) { - continue; - } - $res[] = $j; - } else { - $res .= Farm::OCR($file, $this->getFluidbook()->locale); - } - } - return $res; - } }