Skip to content

Commit

Permalink
Merge pull request #1184 from J9rem/fix/pdf-viewer-mjs
Browse files Browse the repository at this point in the history
fix(PdfViewer): force mjs to be javascript
  • Loading branch information
mrflos authored Jul 19, 2024
2 parents 03b055e + bed6228 commit a47f0be
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 17 deletions.
40 changes: 23 additions & 17 deletions includes/ComposerScriptsHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
namespace YesWiki\Core;

use Composer\Script\Event;
use Throwable;
use ZipArchive;

class ComposerScriptsHelper
{
Expand Down Expand Up @@ -52,7 +50,7 @@ private static function getPdfJsDistFiles(): array
'timeout' => 5, // total timeout in seconds
],
]));
} catch (Throwable $th) {
} catch (\Throwable $th) {
return [];
}
if (!empty($content) && is_string($content)) {
Expand All @@ -72,9 +70,9 @@ private static function extractPdfJsDistFileUrl(array $data): array
{
if (!empty($data['assets']) && is_array($data['assets'])) {
foreach ($data['assets'] as $asset) {
if (!empty($asset['name']) && is_string($asset['name']) &&
!empty($asset['browser_download_url']) && is_string($asset['browser_download_url']) &&
preg_match("/^pdfjs-(\d+)\.(\d+)\.(\d+)-dist\.zip$/i", $asset['name'], $match)) {
if (!empty($asset['name']) && is_string($asset['name'])
&& !empty($asset['browser_download_url']) && is_string($asset['browser_download_url'])
&& preg_match("/^pdfjs-(\d+)\.(\d+)\.(\d+)-dist\.zip$/i", $asset['name'], $match)) {
return [
'fileName' => $asset['name'],
'url' => $asset['browser_download_url'],
Expand All @@ -93,8 +91,8 @@ private static function updatePdfJsDist(array $params)
{
if (!empty($params['url'])) {
if (is_dir('javascripts/vendor/')) {
if (!is_dir('javascripts/vendor/pdfjs-dist/') ||
self::pdfJsDistNeedsUpdate('javascripts/vendor/pdfjs-dist/revision.json', $params)) {
if (!is_dir('javascripts/vendor/pdfjs-dist/')
|| self::pdfJsDistNeedsUpdate('javascripts/vendor/pdfjs-dist/revision.json', $params)) {
try {
$zipContent = file_get_contents($params['url'], false, stream_context_create([
'http' => [
Expand All @@ -107,7 +105,7 @@ private static function updatePdfJsDist(array $params)
if ($temp) {
$tmpFilename = stream_get_meta_data($temp)['uri'];
if (file_put_contents($tmpFilename, $zipContent) !== false) {
$zip = new ZipArchive();
$zip = new \ZipArchive();
if ($zip->open($tmpFilename)) {
if (is_dir('javascripts/vendor/pdfjs-dist/')) {
self::deleteFolder('javascripts/vendor/pdfjs-dist/');
Expand All @@ -122,6 +120,14 @@ private static function updatePdfJsDist(array $params)
'buxfix_revision' => $params['buxfix_revision'],
])
);
file_put_contents(
'javascripts/vendor/pdfjs-dist/.htaccess',
<<<TXT
<IfModule mod_mime.c>
AddType text/javascript .mjs
</IfModule>
TXT
);
if (file_exists('tools/attach/libs/pdf-viewer.php')) {
copy('tools/attach/libs/pdf-viewer.php', 'javascripts/vendor/pdfjs-dist/web/pdf-viewer.php');
}
Expand All @@ -142,7 +148,7 @@ private static function updatePdfJsDist(array $params)
echo "Not possible to create a tempfile !\n";
}
}
} catch (Throwable $th) {
} catch (\Throwable $th) {
echo "error {$th->getMessage()}\n";
if (isset($zipContent)) {
echo "zipContent: $zipContent\n";
Expand All @@ -166,18 +172,18 @@ private static function pdfJsDistNeedsUpdate(string $filePath, array $params): b
if (!empty($jsonContent)) {
$versionsData = json_decode($jsonContent, true);
if (is_array($versionsData)) {
if (empty($versionsData['major_revision']) ||
$versionsData['major_revision'] > $params['major_revision'] ||
empty($versionsData['minor_revision']) ||
$versionsData['minor_revision'] > $params['minor_revision'] ||
empty($versionsData['buxfix_revision']) ||
$versionsData['buxfix_revision'] > $params['buxfix_revision']
if (empty($versionsData['major_revision'])
|| $versionsData['major_revision'] < $params['major_revision']
|| empty($versionsData['minor_revision'])
|| $versionsData['minor_revision'] < $params['minor_revision']
|| empty($versionsData['buxfix_revision'])
|| $versionsData['buxfix_revision'] < $params['buxfix_revision']
) {
return true;
}
}
}
} catch (Throwable $th) {
} catch (\Throwable $th) {
}

return false;
Expand Down
3 changes: 3 additions & 0 deletions javascripts/vendor/pdfjs-dist/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<IfModule mod_mime.c>
AddType text/javascript .mjs
</IfModule>

0 comments on commit a47f0be

Please sign in to comment.