From 072e5843812577dc840bbc26fc1d343213842d45 Mon Sep 17 00:00:00 2001 From: tale-fau Date: Tue, 24 Oct 2023 17:23:56 +0200 Subject: [PATCH] ajout alerte PDF opti --- README.md | 3 ++- app.php | 12 +++++++++- locale/application.pot | 5 +++- ...tion_35294e16757c3d30edc4fc9ce3867679.pot} | 0 locale/ar/LC_MESSAGES/application.po | 5 +++- ...ation_35294e16757c3d30edc4fc9ce3867679.mo} | 0 locale/fr/LC_MESSAGES/application.mo | Bin 8888 -> 8993 bytes locale/fr/LC_MESSAGES/application.po | 5 +++- ...ation_35294e16757c3d30edc4fc9ce3867679.mo} | 0 locale/kab/LC_MESSAGES/application.mo | Bin 8394 -> 8684 bytes locale/kab/LC_MESSAGES/application.po | 5 +++- ...ation_35294e16757c3d30edc4fc9ce3867679.mo} | 0 locale/oc/LC_MESSAGES/application.mo | Bin 8760 -> 8848 bytes locale/oc/LC_MESSAGES/application.po | 5 +++- ...ation_35294e16757c3d30edc4fc9ce3867679.mo} | 0 public/js/compress.js | 22 ++++++++++++++++++ templates/compress.html.php | 5 ++++ 17 files changed, 60 insertions(+), 7 deletions(-) rename locale/{application_7b6a264dde56b2de3396e3739e066007.pot => application_35294e16757c3d30edc4fc9ce3867679.pot} (100%) rename locale/ar/LC_MESSAGES/{application_7b6a264dde56b2de3396e3739e066007.mo => application_35294e16757c3d30edc4fc9ce3867679.mo} (100%) rename locale/fr/LC_MESSAGES/{application_7b6a264dde56b2de3396e3739e066007.mo => application_35294e16757c3d30edc4fc9ce3867679.mo} (100%) rename locale/kab/LC_MESSAGES/{application_7b6a264dde56b2de3396e3739e066007.mo => application_35294e16757c3d30edc4fc9ce3867679.mo} (100%) rename locale/oc/LC_MESSAGES/{application_7b6a264dde56b2de3396e3739e066007.mo => application_35294e16757c3d30edc4fc9ce3867679.mo} (100%) diff --git a/README.md b/README.md index dd8ec9a..aaccefb 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Open-source software under the AGPL V3 license. - [Translation](#translation) - [Contributors](#contributors) - [Fundings](#fundings) +- [Screenshots](#screenshots) ## Installation @@ -162,4 +163,4 @@ Vincent LAURENT (24ème), Jean-Baptiste Le Metayer (24ème), Xavier Garnier (Log - 100 € excl. taxes donations from the company PDG IT - 1 040 € excl. taxes from the foundation NLNet pour software internationalization -The development of the software was primarily done during the working hours of 24ème employees. +The development of the software was primarily done during the working hours of 24ème employees. \ No newline at end of file diff --git a/app.php b/app.php index 4c82f1d..e3f55f2 100644 --- a/app.php +++ b/app.php @@ -409,8 +409,12 @@ $f3->route('GET /metadata', $f3->route('GET /compress', function($f3) { + $f3->set('error_message', "none"); $f3->set('maxSize', min(array(convertPHPSizeToBytes(ini_get('post_max_size')), convertPHPSizeToBytes(ini_get('upload_max_filesize'))))); $f3->set('activeTab', 'compress'); + if (isset($_GET['err'])) { + $f3->set('error_message', "PDF optimized"); + } echo View::instance()->render('compress.html.php'); } ); @@ -438,17 +442,23 @@ $f3->route ('POST /compress', $arrayPath = array_keys($files); $filePath = reset($arrayPath); + $outputFileName = str_replace(".pdf", "_compressed.pdf", $filePath); $returnCode = shell_exec(sprintf("gs -sDEVICE=pdfwrite -dPDFSETTINGS=%s -dQUIET -o %s %s", $compressionType, $outputFileName, $filePath)); if ($returnCode !== false) { + if (filesize($filePath) <= filesize($outputFileName)) { + $error = "pdfalreadyoptimized"; + header('location: /compress?err=' . $error); + } else { header('Content-Type: application/pdf'); header("Content-Disposition: attachment; filename=$outputFileName"); readfile($outputFileName); unlink($outputFileName); + } } else { - echo "PDF compression failed."; + echo "PDF compression failed."; } } ); diff --git a/locale/application.pot b/locale/application.pot index ffa4913..aa08a1d 100644 --- a/locale/application.pot +++ b/locale/application.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-29 11:52+0200\n" +"POT-Creation-Date: 2023-10-24 17:22+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -46,6 +46,9 @@ msgid "" "The PDF will be processed by the server without being retained or stored" msgstr "" +msgid "Your pdf is already optimized" +msgstr "" + msgid "Compress" msgstr "" diff --git a/locale/application_7b6a264dde56b2de3396e3739e066007.pot b/locale/application_35294e16757c3d30edc4fc9ce3867679.pot similarity index 100% rename from locale/application_7b6a264dde56b2de3396e3739e066007.pot rename to locale/application_35294e16757c3d30edc4fc9ce3867679.pot diff --git a/locale/ar/LC_MESSAGES/application.po b/locale/ar/LC_MESSAGES/application.po index b04f3cf..750c35c 100644 --- a/locale/ar/LC_MESSAGES/application.po +++ b/locale/ar/LC_MESSAGES/application.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-29 11:52+0200\n" +"POT-Creation-Date: 2023-10-24 17:21+0200\n" "PO-Revision-Date: 2023-09-29 08:55+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Arabic |D+uEqjvd!sM-=97`d!FZW&ha_t{LlX! zt|w{_*TsKMPZ%~_13Zg)F3vIL2#zQ5;#!kzOd?j`T&%_g*l5@Nm`1%DGw?}t;V|mE zQOw2(OvQ7Ug)_(U5!K;3-hy+8QY%bEeP4>& z^GYNZvk^=2e$<4|q58dw`hM7MKa|S;EApc>$dkxz&hXL-FQ5+34C;{mg9_M5g`&wt zO;CpVz8aPCTI5)nF#2#1wV*LnfFGmAJ)cJYHQ*&0Hly;p9_n!|?!_%QjruN~gQCN@ z0yR(#D%DM>6gOiI4x%O=LG?R>TKTW2O#F_VPcs{*pcPz2Wgw9-RnM^Xq9*d823Ut$ zX&q|fdyuZC35zgj|N9W$McqQ3p-DXMU@K9Xd6`DmY~pWFP%7TH8$L(AF&B{A%<@t| z37kM3!ZcoPT!#9+sJCrH4g3t|;Sj3d2dMErL6T^`!zK6|lA*XsWcETD%29i|1C_#V z)ByWXhigC5#~eXr;uLb5DPFsA1{J_Vaa1xcmuTfj#WHb$&iQ1aQs6YyASEI(+j5?g#PyuzK0u0;jFD)Ve zTHz=S+RI7QKtG`-n8h;u8@0DZoV*oSh8n09wFQqOv6&%c@n#%r@C$6fxgLH6u^IjN z4i;dNH-2+sA16hpa}#Rf?Wk1wQ3LNmPOEtviN$=2TKQ#E2Ct(s^)D)*jNF_5Hx!^U zunLut2GjyuP+J+QprF+B+dhHn@H8&R*HC-=DOTf`s2`w|JnKNxU|NKtu4W#6zRSvY zx*Z{_)>)X@PrZw$iAPDGr|Gnwa=KkTlxlf;tubez<5BAyXR)`Py0+l|O9!mOu9V{= zR*uU(FHC72Pd!hcRqxv1h*>YVsvO&<+PVg|w$+6qLC@Nq;kGsk)xFVRB!}V)|G3RkCi4TtAWMdw|5_}Ycn2rt3{YLb1za2BM2iMaFnA8y~|m^kE$aaRV0P>zIO*Scp@o0B6yK zw^0lJjhc5MUuxkL?8HJ$Vtq4ALy^9Xdf*~zfoUwko2cw~SWTHYhIE->RG?$H5HDdK zevGB~1M2zzPyv;&8$DNvx?hcntZ&xP(8O)10NNeHn92PiROBZx4d2H^oWji*N7gVI zM59-bj|!*;v#huq#l7B^hh7NfFIn5`0XouHO#WRB{vRkNtA0Vem zqf-kMpvDJLDX&J#$?U)txEHmdQB;5*qUMcz$-gH2iHMQ4?QBy_)Y)f&Ail2Q|+_RB@Lpz zob%^1;&IFi+B{F1PWz<1Qg{#lL;wrLw>>I8!;+ao@)S<%KJ=fyz6ZhKXZhuNQtp={= zxenPcxK~@f_Ne=5tIPh;UEuAfSBG|}W59MNmsycmb@Ezw>}>ie>#1N(pkifRMQvG- zBY9n@x39cC66)^VAL=_0sS8wAeL2w;4%CMa_ILJ#8!M~AUEvikMeIS}o`fB(o9w&3 bcdcOTSZ1T!3dFAYzq0Jfyw=!Xc|q%c(jnw} diff --git a/locale/fr/LC_MESSAGES/application.po b/locale/fr/LC_MESSAGES/application.po index a3fac07..616dd41 100644 --- a/locale/fr/LC_MESSAGES/application.po +++ b/locale/fr/LC_MESSAGES/application.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-29 11:06+0200\n" +"POT-Creation-Date: 2023-10-24 17:21+0200\n" "PO-Revision-Date: 2023-09-30 12:59+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: French opYqPE1pL?H}`Rso0>zs3+d!Fy} zeV%j9)LyHLUd-_wG_-zVCh_eAV}|i)3SYF+$;M1VKW1P6bFs#rH{(>!w_+alU>fd2 z^&7$&IE>jiiqr8d@`;+ue9z*-b<~)->BeMX0cPSHoQBmHz$Prk=Wq(XjU{*rmEc88 z#jB_R|3KY$B0p;2DHy~OOksR8#DOwBg!;ofr~yXNkC#!^$zn8B;w9vg8A2s`6er?w zEW-D&48KPG{~uIBerBWp%}1RtMIYmv6&&csji>}#tRCLQ`5si}FJlhAfj&Hi8}KwT zhRGuvEx{~QLJRP2tU*n@z0_hXy)hbg)7z@r~#C= zZjgnV;SAJ(g-91ujHS51{=N+#_$fDn%EvoMsR; z@FCP=^Cl|O6R6GiK5AxP*z=$99?ox}Dv-}k)n2GU4YV9J!A;f;Q zPEtk-Id~M8p-Mc6dKJH_4mg6d@dI@5N7UN;=oH@*NYP9oYRRgsHOR*_@TLE^p%NcN zZN^tH8sOjn2P)ymsLa1amHc~LhSyPlEH6yFC#q42EkVt!!MYB$hg{TCvKy7qAS&S@ z`}?r{JyuBlHQ*Q**r4V-YDT}HO8z@)X0zF0Rk#?Lyy-=%Y4)Sm{Fpue99MGw6K=tB z>b*++uo*94Db95giLZC4ze>KH3mSM2s#MRSZu}Z5v5!z|d>-|tyolN}m#n{{Ci1s6 zo!6!+k&l{r8OAGysz`&iG0K5<^Lo^C8?rwfMa}qi)N^_PlW;MSOfbRt01HuVa{@h5 z#^r)#-5bKCq;&Eac@n3s_ zgSAAby|5MQ3GMn+dyN-h{KeFV@%^J`U9CTX*=8-qR(tHX>M2m`jh#*_@MU!O1if~r z$kcWB48+b&$w(>+?%3&U@9ymB^}^v`cb8Mz8SDyn_H{bD``l14GT=Y(LuPZ)>h8UF z^m6y0Vfcs4g_K=^F}A;ZuTOPy>8douoq(NH8SSQPfv1M z`oiIM*BLt!atA!dj<{pPZm;V^-1c^NAmTreS=i72-*{sz})3R3B#TrZ~ z5RtGyGK)}QMgLqGBMcm3#zKg~WD!yXks&JxD`-*Q@AfDj?(cri^W5io&N;vHd+xQG zfvUun$+5QsZ7-2YoE{g#F>JV4-jcn5xgQ}9xBd=)2g{3qUtsc9k54O!@Q z1vmpMFaw)$I<_I7MA*;wU7R?Gj`r4txUJ@w1Wh31-M$&a@c4p#~kG8Rz4Ed>K!nnaE*Ox}gA_Xc?y9YMhJp zxBxrQ`;Vd%>PPPzK%a9NGZ;Tyv4g+iG<4a{bUIGPVvJ!mZopdP((oRd@{iF8^y5st zfDZH{I?zyb{yMU|A{|24t50OLYLWj|sn3%!-TRi!kb>`*h1#9{8!Q0W5??zMkBC`GAI4;BrZ|BF6v8V|3-MYsw(aV7R)174p*{=Kl8JX>U2&A93jd)KpFlym@)_uHeq<^7{7Urx#snQ#xCtGw75Rkid==tL=$;ddiwMTkenuyj7^1_Z!$0WC(s{bag*XQ*&U1)W!7lQ z($N`bp(`%HY+Qn-c0D?98$N&?Xa(B=@p%dGQ7TZ2tgq>)HdeFV?MN@trEAd2f@p6v&HFc z@W}L9xwd@5;<8!Yyc8q r{(bUdMp-O%ad}Qj`HHe7$?;Rqq$CGt@p~+D>xbQ$W0HrmT4VnMNPN\n" "Language-Team: Kabyle 8 z2_>}>iY!pGgbpi%Nr(}Vll~FukB~6jKPE_)MIiP4ZqNLqhyBjyec$uG&*k_0-m^3F z4=+ev8I*A(&>Dzg#LxGHa14+3=7Tow-Vide2>W3I2V+@0Ux5QTUyr$1k6GA+-q(yn z@EGP`8|L9fp&6a%QS61Ma3p?# z#dryQ{$F%LMXbi>lIZzd%wYVmkOMnjicVl`T>35H|&YG&=uZB?;pvm z-Sc8(E@3K`U1Lc`k@^1@66xlf}TMB!dHB_!tc@Ixri272Rh-uk-spA ziw-avy+47bd>T?tVFOOWE$D(;&gxn5@dp{iuu^e5{X0)GO=vEy-pKHMh_$5yC{r@%IFp%EH^2I1LHH*=X z*Ptn{Ml-P&O>HB-itokid0cdW0vv&5I33qv65qo8_#OItuqfY&vi~bMFeMw%D&K(? zQA6~jXgiw1+vxp0hIX9~MxPsjZcQPwrZ678uOgnWLgpIkkU50cG0XS=Lk^z6lktl? z$QU7y<=9~ot%aF51}o8yx1kwnMDKqSt&xw>=T0Dh;WQs^O*{Ji?`Sdpg{c`F{KJ8J zon(XEt2yWlm!WS%ExIMg(cg(ybZfpw?>~?3`K9PpbnkDXnaN;3SX1bWW?(Enh~*>5 zzca7mf-8Cjec&Kk#c!i2{}w5h@FOzUa0e~ge0p)B6VZ+uL;|?svEPnnNE6hh%yb(=Z9rEKB>Z6V579B=c{sEeiH2PMZ zL+`(gF0cbF!W$_LeBe*?J$AjS}6{ccOd zBkRo!xP5ya|3wZ~5Q_;G+4;ZOVq8f)PS`4m)x-p1JK>)0B5V&6&k>IiX3Bb*Opwq} zK-3ePh`EGYF_xe%!z0Aq^}E;I%|hyKg&aH|Pp07(q9mS+MQdTMBP_UWL>aM&*hBok z`4(7sZuxj3Y5tcIn+e-=Vh&+(yhO|-eDyXG7L;uY@gy;i@OQ&s$L{tF2g``Mcws%x zC#3tMMJbI>Z`IL9v4L|PTS7(jjW*={kGTF)@&*m87j8d?@MP6 nXwB?1B~g$_lqM4C^SOO9bNIe`*VV?;op;n$?@YJnZ|(gb5o6!K delta 2595 zcmZA2eN2^A9Ki8|@+K641%Z@c3Zf=&Ng|=BNnrVcpi-%kX)2=mM%s((I!D?1!?_w; zYr0%b|7fvk_aA3&ZT-_)TB~L*)aF)ett@2zL9@B_{oebqwa)n6&v~BvJm=+i&bb_E zKC>wH)A-c>K-o*&N1PuU!ZF;R!3X8WxDe8D81KNp@or4ZN?sRX9@ph~57r}(gr(?n zomhxHn2UXQFZLsUu`s~r1Kc=+_IVla!k;k*Z(=@<$qu0!3$X$h}DX zakRs8XuB8CjxS<2{+YNRV}!irNW0J%_Mjc~;WQk;m+%sri8gwr8amN|Zp1X~#Yy-I zPRFC@`(K~~8b;r{g|?Hy>~iTpFttbbUM)RR+)w&Y}%`iO%plw8KltU%1Lg z1rDR%Phgr=Sc2}I<@jL=ONwSBi<`_Xr?Nn@dGdj{&qc0BO{ahbK ze;3Z8DZGTP{S7R`Tj-2RY29`zk<|zb(f2y=LEMQm@mTczS2)%4e}#&vNu_lg&O=jP zjAo(+O>G12$Cc6jZ_y40aUzc3!&tz>wYU@y;sNyhkDZVlXf~RWB21_MFoTMls5WwK z8wk^=)JfA-^~|;7W8tt=Nw3(ft$1qv115^ZXA|aqX{R zIS!#67BD?CP=UTsgRc1!bRa8`ztG8tOVNvd{~o&e-pASa0lKt<=+gX(W^@E&?*2R$ z+9ha1e;C%GBVUic(1Wh={>Zn`wSE`y6ypu2nznz1+0 zV|y4I@N{V`xp}U0!x?Au^JnVvksq^A7+HZXQ9U~I7BnMk&7%k6GSx+<( zONd6ovLlI^PV}F+?BTP9aD6?;iwMgy!qlzyf-;9#Kx`yh2sfT(9#KYA5>>>L#0$iK zOC1-}iAM?dSE7H{&*QP%Yf3Hg1hIzLLv#|)60O8ef)xud67GjyqK)tu&N78)CY~p{ z2!F^tf-{NDL?%%}EGOI-^PRsN&*Qg}s3%H^Zo-o=THIVuMHg(9L@DRfy<_p*bK1f~ zgePXS?4sgHaWg(nY$GflM@!1Ycv)6)YJ6EvJUz2^PHA<0LtR~bTz+\n" "Language-Team: Occitan maxSize) { + + alert("Le PDF ne doit pas dépasser " + Math.round(maxSize/1024/1024) + " Mo"); + break; + } + let filename = input_upload.files[i].name; + let response = new Response(input_upload.files[i], { "status" : 200, "statusText" : "OK" }); + let urlPdf = '/pdf/'+filename; + await cache.put(urlPdf, response); + let pdfBlob = await getPDFBlobFromCache(urlPdf); + nbPDF++; + await loadPDF(pdfBlob, filename, nbPDF); + } } \ No newline at end of file diff --git a/templates/compress.html.php b/templates/compress.html.php index 6576e5e..8d493ea 100644 --- a/templates/compress.html.php +++ b/templates/compress.html.php @@ -29,6 +29,11 @@ " class="form-control form-control-lg" type="file" accept=".pdf,application/pdf" onchange="handleFileChange()" />

+ +
+

+
+