%k25u25%fgd5n!?%k25u25%fgd5n!%k25u25%fgd5n!?%k25u25%fgd5n!PK9R\aSS svn.revisionnuW+A Origine: file:///home/svn/repository/spip-zone/_plugins_/mediatheque Revision: 60254 Dernier commit: 2012-04-10 10:00:03 +0200 file:///home/svn/repository/spip-zone/_plugins_/mediatheque 60254 2012-04-10 10:00:03 +0200 PK9R\rimg_pack/portfolio-24.pngnuW+APNG  IHDRw=sBIT|d pHYs11(RtEXtSoftwarewww.inkscape.org<-IDATHoTUkυ3LoU + RBOFM0> &'xh O)\:^>̴NYZ9[k[{QUNJDFNc0"11j%B+#* : OTu]:d5vgqq c ܸ~><$rp{n3Q֒d8r0S';l6ˡÓ$ M284$ &&_g;wŗ^%+Ste2k;UexϞ3qT*EX PkI65Q,ikm="bhL4R,.ւ[qq!J8ΞSQk- "P}"5EqjsD}S} ߒy&cቧ2dzC1!F/(U_G $۪ Z!Dn##7$P[ņ!^xX*%fpfBk媏*UJR%\ P_GQx-?_Ih P`챰QuGk nJU(8>JAhT-6z,A<\R\ X*{.ڍY!Z+GV6Z9}*KlH bX㠶~X\/tԲbmj%G@p<9ʍfq|i!"ue4Ȯaa[Uw.d$\l6K}laeٽ|tvvgp7Dk[+>??A*ǟkGI=*]mkMUOfL6S!y˗0<:H~~c]Fߎ>yH$ݞ|wvSlyqT5j $&HL 1T$ k@ 1~u/Qc|D};YDHm@jwS @ SOf&" -_U7#*. IENDB`PK9R\CZimg_pack/video-32.pngnuW+APNG  IHDR szzsBIT|dIDATXYl\W͝-8^2I84M@J!-}"C@#U@RDB"6I6211Q_e;=3ڝv[vۿ,WKDQ@"G(Ӻia&MGUJ*f~~q DUJ޼9jW&'OG'NdL˓O>:SX۶)* Aa ]$I2&#dJr;{վÃ|̛z@7g{{{HKE&OP, 4imkeeYon#ŶXI*kW;ť= 7?64 U|wևՕξs+fS|GU s7X <>ew}씍똖ŖR.sa񆾺gdxHF[$##2HJ&)WKºa  #]۷QVPT]i4Suxj[Gx νI 9뎒JPahP(ɭ\|I%0;;K̊ Djޯ%HۀsnK.xEkuZZ[eyy)#* a],mxu;nNPUMө]wzu=௧OS*4bi(Ž۔e?#CuTUEA/̡i=v愝dzzVcCLMMJXwv,bxxl PQU]ױ8SSSl0 t㌌ S*W@ DIqk | :ȈjJ̊ Q_u]2.a F{K~ aon,2T,*W\4m̰OHf|.\@nQ)W@QN"2-[;sETEq wd¡V478}1 ϫEY% VVVY[]ë{dt080@Gv M-YFFGH\:Yh噙@5Б#?z<8w5(ֹ Ru*j E4Mic]۷յx,gμ /]ZA$t'|o9V^xȫI;;mUQT*xO__;`Ss iiA@'LLLy0 b1XF5L4 f'5$O^JӔ%>"ɰeTHd$qrb}UUEo1Y-xG~?HL$6ˎc|b˰8X MӑQD$%56<0$"d$Z0t2E| rtX%Kʥ%-J===Z9RR( Te2n͉|ÏT/QheH&}O;A;f9E! RXs=wZ~[܃R4 $SPve2EՖYLi /)9Bi6iߧ{KѦ}էJ c@ k UzL,˷DΟ\R`EQ+W.|!AI!}>111RVWVVE zlX;;Gw ]׵o|) /<,j4a:9Z@L3B:xt/Wt~ RZqs___tu0P(qʞ=pkצKoo/,edfq4E&p7n$ٻ0|\Fe)FFY][ehhDb+kR,Ht?ER, M@k~Z"* ^AJZh 7'$@7w%(Otjk5qvő#G" "IWͫ-&X8Oxx$e ]IR$I666$ :7*؎MV'С|%8[!ѳXWp:"Q-6B$\Ǐ3{x75R˙Y)q )<N8AV%I2u͛Ե, ^ 4Dؾc$.l2P(qd*JggifO~@P(Yd-A ƛZPV󩨚ʥ~$ՃE6 F05Zc1PUFӴj^^s:"d"J-_Tͦ5Jc'ܖPJ-sF_k޼n) OΜRIENDB`PK9R\img_pack/audio-16.pngnuW+APNG  IHDRabKGD pHYs B(xtIME 69$G0IDAT8c`0b,5g`Z@H3^2_  ھvzg&l3~# ,l*ÿ@&0000t7^:  Ld?xpa\xIt@V, ˳0000dZH2w |k'ӧ:5- 3U~^u~ne{O2s2ga```aȰf33;'k.[ɿzOg`a{p[wo^<}C>''L"b,* \axCWy9uo)JIENDB`PK9R\cp img_pack/portfolio-64.pngnuW+APNG  IHDR@@iqsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< 2IDATxˏu꾯wH0 dCdFxY v6  / I6YeaI!)Q†D5|Hyܙ;}~T,o?g1`8O:wN**VA#ZV_w?X_ jl\4ºG+P{J)'7xCȟRJDy5+ϞJmIgUrT>t\\[k8DI LYBRz(K ཐRn'VDw/'O䩧L;egq\7&.O<!οiq];rl=mp@կ~,2>1ׯ/>֚:@V/=kN{r >7Sl}}z7ogqc:u*OΝN8Nmor ˜8y"km8w<O<$-g@O&S_"'O(Ņo`0 EDt ?\?j%mA?㻮^/k1"[n?ub&Z'dNc "0X:"BI|# hni3X1*ean1-~fc$`y@--@D˗>%F ~\%MDc|p|m#lnlrʇY F\^xpsa{+f:΢flllfm޽yc._b7oOroL_ ՌO~ϕ4ƞ+y5tu_=}zg HbFdd$&E9)$k& }s8qfGl)yGfr8 G)p'cY9*9B)&d۟`!MB 7?-O,B&$ݜt&߂!}g6`W,%HE@^ĿGաBPP_ |[ ]oWlok;tZ*wFIJqjgE75lE~Ym -ױ>0" (:1V Ө֭Vd(Dc%ocsF<~dˆNaⓍ;`%1O$KF#ΕS+]Cw0G4wFY'i  ͡b=:8ܿcLkl2ƸF5"LB8es>xM]Bϛz@e/[-/ssyo|ֆICĖ rhu9t H.4;}nqO2ΰO.^zI#F~$-Q#1T"`<]ǸqwL1O2q^ajF~$"ùLW1 *K$yia-{{EEl6v)]G`EjӜL/lxP:1`wO&[J΄+dYa4܉~(uԜ$){1n/ٝIN@Ϲ=/s@9tӛ f}>pW)U*q{6ͳ=)`f/C8h0BIn=mp Z&( (()4}Ea{M}"CMrG⃁X@fZ&[Hw#?`g4za."P^\ dMFI#zzh盠G"3ե%"Ah&&1Q=E~>J[z|>A;({\sBƵ?s'5'=GХs$=.ɥ}؎KȎ+rVydhLb: C8nrJ]}M)k!9V9=?lllsɌ3gqo-5wnĉg򗿔)6 ꫯ3^t[7o? /hμyX/07nz#K/. c4 ?,VW+|毲k9}u!-A ?w?( [oﲰOn\ǟ뤍QsWg?{?Xk[׾-;L1Rhc8FDNɭk!DI m]XҷQqJ2 CK6QgJƾ3c Al8NtKھ V`ڔ! b'g ڔ(ˆAn<gxcXlCE6Q[%񼅬Mag,BGab [DNv]F3Ifl&& [[Va{{]nm 2c&)b`5/X шV6'cÀQ @߼v%XʺB1sWWŊգf]4t:GPHǤ䊭o쒄LE)}]\Q QR*:T/Mrkz fHa ϞgKl-DN^,J,u׎X8I@v83qI%,HX,ܹ{MV@w "F$Q"J1>6App̈h J!R=kn;l6TUcdxQTUf57c 3\@PUUr>_9-MA2-M|TUH3ӳ˕UAL! WEsD6#mxd"ɻ3]O$7>Uv{(,,KerH&|5D--Vڅ_Oy^ve90o# \. QI2!IENDB`PK9R\8\\img_pack/audio-32.pngnuW+APNG  IHDR szzsBIT|dIDATXkUǿޝ;3&I1?ڢZ4EU, o yk)% H"XiW;ݝ;3LJlMe8a89dKga^a#I.E{ )}棹59C$ymu}Q|g|E"pɈ0 QUF Ĺo&֭U74Bhv,h\ CCC8,!%VrNP=@ O%]dLui!JsE#4%p\Kf f3g9n|z~ +~@cD4,V#g;v(Į>ƼOx>tn`+ 8=S#BH:o;l$!ӿby}g@o5 .m x孶 81 *tS0SLPL$ DGc;F|o_؞JIM 1qz%pQxd!G5US jqi`w.ܡk:9|;#lgB<߂HL1o|&#'=دut]Gə&g3Z;ZoHF (vH% |>pkn={O<9pDY0ump$/ !,"$TṄ_ e1̳F52Nz)u>;0 ntBq6H%dWMз֥>oC/[HuBt~ff)~k>;7K?l`"%Zm퐣$r#@4)~1Ÿh{+h|“'O#nzQqiuC&ΰc;E~8ei nSSSR23Z/z`[Yq$"sss3>>NXDA@Wh ,}&J%&'') Th$G RB\>::֕iT+ыcf0 99@uQUʕK(ݴ[S?7Bd |f# *K#Rii"mY+yTֳ? gvRm4`4<vdso;,OtUUATdAypi0-Pzo0jkH{Qnѣ9UM;(GQqe~^̙|>#/iFL(]sNOرC3Ƙ4 )"O gg>JߺF٤tgtc=y(+[A'YWɲ' o& !( npcx|nŨ_V1Fϲ^>.|0汩Q]& C66,ֺUcu0]K/}:"(*-]m6ͤBI??R fQUɆ[.7/^րNfFFJ˪:m/Eahs> {î'NӖI]l8m[ 0tSx5epO{Ǐ;e붪]r7Uo(@r,0bdgx;\7Pr2R`=@f DϿXWd.gˉ14ODxڃ(]v Ҳ \?3,kdkX7e ?cFM? 495L33 X Op+1v;K]n!0ͼB`9Z '^u b ^ b eKXBR"qP(qΌqe{L+ɉg3L_o 3Ý׸쮞pl| 2 2 f8xÒǾ#u0}e&39of"Va04IENDB`PK9R\??img_pack/video-22.pngnuW+APNG  IHDRĴl;bKGDC pHYs B(xtIME &7g~IDAT8ՔKlTe~};sgi;6vZ̴ @( 7!"1Ech)t¢҇&t:-ef:}Lu;SW&%_oA+;q]oQ'8 MDq|oρo IWW7ykdt4k[jRRAP43 ڷ NuwuZ~$) gg3s|~T46g>jooUcu{ӏsLGy떭/^eD6uz~lI33NG-/R2t7Y4⥋g=/=^$ YaPU E%Q$MӨ%%'(D{GG$tL\2,̉hw4;Dbf2 7m@.0  0 0|./Oݟ,EQ;N@ (gD, Y ߺ],Ce~? @ P]J _.0ǁmY%qL@2{ë{*QPq +JDrV e(.( 0L?@SmBhR Bq @@|~~ >ϭVc)mc sx<@ ZB-%ۃ}[ח=:p|PNϦuA AS= A >D"alܰȢ~\;{|8 R##ж/ZWʴE8vZZi0`g.8]T*夒ikΝ\ro7;77wS_"xCť/tC^i$IED(KX\"L,5W6uuuӏ3? q~MnNS̃yYV$Qam[b\,v*Dd˲Jz6Sxg@T 2eXjo,v͛_xq@BeY:8 @N2HL~EUU]~_Lp&fOϕ\#>2DPmCQUV.dY?6RuoTs @b|5U÷cD1[3.TR};'K*n+JIENDB`PK9R\=Pimg_pack/photo-32.pngnuW+APNG  IHDR szzsBIT|d6IDATX]l3sgwgwk\L BԇxRߪVתHUHQxiUxAPlc̝РHzr99==ka礔GBe[_<+){Jb۶mC 8AoYV*ggo.jaXaU #t|g;6/~񠮴OB"Gm= m.]Ԃʛ GB>jOIO_W'-CDu c.KFMMM ZOӴMӶ9 FηDP`z:BLS`&i"!FI{az =*TJTӴX,*66mʅ::;L&C" cYJ͹\ ;wǏ? )%B&B Ca iaX(@ T^g+U|gi/fjBs\ƶm2]Y Zn4hV |+l`YDFAi z4MWW"LSx]'Kd3m8q,7f>gǾC2YlQ+*Un߽'#|h?A B@n`6#WK+G8jWd|l ++%t]'bE7~J _ƩבRbkwxh=Qrm2@}c1 jl6@T:g՝̇h'xeYt!ߺɩٹg*"i-4>{ʕϨW+!(lޝ+U+61/s= ;^gWѶ]ATEsUzwyハL?:b$5ZhR24Тu0`DiѦ_"֡z Ƈ QFf~~B `xVMY,8Pu!*1Љ(BfhSCU;v؆ L$/^ ☎$ɕZ&KNq$$ĥK,-/3w^wsxHU u?[,&oN| D4,"KC3zݩs6.I$ES??#hCUe˩m5Il% =Kcufc&']ru4A%Ha ./2=~<[[^I xR U,(м9?z4~$^«WR yA*h>~LZh]Mkv^Z ʨJhU(ТFA搦AM3 /eV(pYK\`_?wYLo ~tO`+ TQuɩ26o=]97j}ۆ[O7ޛPgT30ڟwꛭTzHz+"01H=  asBIT|d pHYs^tEXtSoftwarewww.inkscape.org<IDATx]YeUι}8m춝X[V'x@" &BA^Q$D%@$$9{=5ڵYҽ{UoZ>: lFN8mFN8mFN8mFN8mFN8mSkP =}7x6^yXsƬPGNoPf/?yPR^9{^~U9n?3GR DT"s4{Jko㡺P^4"m ڛ1dig0l0d|h#ÐGaV6:<@xL n`tXӹiGA:Awyl% z V;Uqyfȳ$qs2XA ܾ}׮]A ςuV9裏D f0{$il2ɿX, &01zilM'Ew} @ĸpqlޮ`\< z*H39s:úq˗8JŹ\6\.ʲl*@DC| !x7o^/Yɵk 1/>>c>k"Q_߸q|LW^هvp8?ĻfhxpyUW>,f0k]H{E^zУb[1~[@o(,;A &u:uoԠ{,֩! ;VXtX+xV#ۡVhvp4;⃠wX|WNLj*tSNU!Vp" ,W|TGA`_TGΥ3k24Gu"uDTo=Grw4D"u_s"|H&J"Gz|=T{("X#2&ELǔOo˷ y?}32> n0+^cgu+y^e<.€-+ֿ![ 84ZԞMYRݔ7X;[0N`Fa&phsԨ\QN<+ ߺVNd9@,mJ4#L1-\a mh@qTA&ny{;.v}&({ՆhSYÐ<=sŝuu|r4< ={tVO&E TU &9<9jLi!jl9l6(0M3L D U + Cik^Ŋ"XbJ C+=MKu9s<=v4HNebm̗ gwA~ uEu%Q>;ӌ)x \`k@W0϶!AMzzVgakru P3ięC<-p㈢3 DȐ$7G7Q2A^LUai#`k`QVjc u#L ; ޚb+(zDH@QVVyFj@H{c7;˱ޣ+-p= UDWØwjc׳ I#ieey\$(D%{G"W0{co^`c`X!p,%o@^8|TrJAJQ5`/Mh]̯7gŠJ5XaF? M@D&=r%nr?vX \qB ^N r`- >2u;ZbJ5g5`i>J^HZ5-k/BB4\c 1x`OfӼ{fٱ,جL\htlEuU6e>ȲCit P? \ e]7c*E ^WXÊb_W4x#S)7/nrftnU҃QҺ,`5F*"WƭA >PSy`iP.؟=,~.`mBY ZI`=ĭexb^;KB+TMA֑ЖndȊ$k!F2^> PTQ@|t[ _iwm&cw>1 @U8P Y> D ѼJ 1[_d<0J0gcN1C @ Fm~{P-la/LS0X5 `@q 1ےB 1 i>ֳ]e\Y;TWry"G| j0RN`xHXzUB!fr,OETy+'(]B`-qm@FL XPZWD; pY.V@Ʋ03ɘέL,g 7PH+N bRk`dEy!+NPMMPCpAĈb#P!Y@M"2ߘUQJRyw b( X81@|DEaQ,Q{vV N>V0l PE9@^ă1s7X!TP <}_|Yr8NQ*#0jR\(S;DJT~ho1#)By\6Jo<`L0%@o"oxsҬ'V} xQw×$'FO8grk?ͯ JZ.wYjVZyu~۩t$#\^+<#?hON.^}4oLqÿ(Kk` `Lqx榬0G4G7clO7X9Zou>}k]V_eCihA+  UnAw t>q@Vfz}+G hWV zU;*8MmN *)o߼ A@ЀJ0/^o֯7@O-0Ï5_ּߚ &Mb|OQL ^Mo?g{{3;gz[t?c~~=l} g__sm, 3o~ @~Ͻ$)%Jc7(??|'\^U }Wݓj̙3x/t~nj a: />(S?vE^܋A^5qu'}+y!bտxBx7xu>-ۢWژp x ʳ,~{yϿ<#x ɛ)@}h҇#O#*0 yueQv󼥃yYRi[KDi7<(E,M`pF(ҫW+7"BYZ8 ¸)o(gy׾fݖj@, G tXUQ{Tr.BSK V`h`z(2mr4w̲OL*C@c׶Te*k3FYa LUVn<̪dmxɨW8n놢gcf0n uy6t}PZ6`9Vq<3P8P$L*rQ/CT|v2O뢴݆rE<LېEE Ln8Kc5\0iʲ2:*)nÞe2 'PJ+*U!YTUi 7͗.R6^f9  Y8Pmhfs]1G։(hA@UGj4gދ4 ئ^p_v:[G~K@]kp*ԵyqfQʳfR'ϝn&YJ^4O~fMNAez7 AX %9reF1Y'[r4˳_vo}/LucZ@T*"?n螢JR4^yW>8bL& qNrƭ>7&etp=,RD7  5C~4 $sN$T~PysdF$Oi>y^'Je[[]*@gfPTϿujQ׾H#^4:p˟P 9{BʻWziN+c %)BHv_d?ާ.Eh*U6ӻ|(Qt$ $ )AHk g;}`M 4:DRt)oxRGt }#mkfOCc 6>L}V{-A:JѦ6Z8 lǶo; `̿}+Bk)mw^` ۴vp ݄*|qUcItcw6z;Ǫ¥Bh}wmCf/ A}wy"~pR ]!EY],}nG{9"K9fo[Lsx;<mt_)X"jl4 N_\hP?u;xC>mFN8mFN8mFN8mFN8mFN8?d,-][IENDB`PK9R\yyimg_pack/croissant-16.pngnuW+APNG  IHDRa pHYsod+IDATxc`0 ȸ 2,(mpHcⓝEpa=xӷ` b@r 5X]  !nbE0 7X퇯`ZX Ca:/=Rng(;v߿oZC\fb?nf&rS|eMIENDB`PK9R\ ttimg_pack/distant-16.pngnuW+APNG  IHDRhtEXtSoftwareAdobe ImageReadyqe<IDATxbZ I[y@1.baa>ɰ>"Tu9; DYx po8,ؿԖF݅.,?3< pra`f```yAV8'O?fRg`X4ýOl Ę 2WH+afQ>VV>0߶ Zz  dhE:(.$-ŕȱP]J2 '!"O9SD1  7/'#I7#0p++$ = :  vU]H>Mat͒tK֦mM˴ivPNILaO'Q ^UP@6-֭mekߡ>kYvl9LԤAgX8Bm_AK+:  <ܬDT"<룧G=dSq- WXW$9o{pxa8$|m@e 0,.2+N [*Ғ ehrq#aoMψg jNB^N 4tVGtc|r*EPZ-c¡fbG8h"#X#6 Yocl`'OԵKXضMvAJ[I2ko_.9A6Ft2ӹmefn>3,Ѿvkf˲Z=&|%lf>IENDB`PK9R\/ccimg_pack/tourner-droite.gifnuW+AGIF89a 觧GGG888ppp!, ( S C]"w2D@PE;PK9R\ (''img_pack/distant-22.pngnuW+APNG  IHDRĴl;bKGD pHYs B(xtIME+!{U͵IDAT8˵YlTew-tiBvJJ* U}D|2"D#hET JCL{ܹsg|䟜/'/'; OGc`A$IQPߎ ʋ+-=$XUϣrO 1ɯWcwߡ/}ρ:qwf\scK|5}ρǣ~m :TWMwgon*2ȪpG[K#%ȲGWpwڭ/>2 M땕:4V!G彏!I @dGWB M2:㻀αy48z[ZB(8@U!k&HDZgGbA$@Ue{h&)=T\Gu ilO$صGk8}ugD2eѳut"6mNuӴXȟIsdhx}G.rY =AY|>O$s~2VLT:MZ)R){wq}Ǻ*>GS\0-LvVI@OK*!vrud7v&s҆-PIENDB`PK9R\433lang/medias_sk.phpnuW+A 'Žiaden dokument', 'aucun_file'=>'Žiaden súbor', 'aucun_image'=>'Žiaden obrázok', 'aucun_audio'=>'No sound', 'aucun_video'=>'No video', 'aucune_utilisation'=>'Tento dokument sa nepoužíva.', 'aucune_vignette' => 'Žiadna miniatúra', // B 'bouton_copier_local'=>'Skopírovať na stránku', 'bouton_download_depuis'=>'z(o):', 'bouton_download_local' => 'môjho počítača', 'bouton_download_par_mediatheque' => 'knižnice multimédií', 'bouton_download_par_ftp' => 'servera', 'bouton_download_sur_le_web' => 'internetu', 'bouton_attacher_document' => 'Pripojiť', 'bouton_enlever_document' => 'Zrušiť prepojenie', 'bouton_enlever_supprimer_document' => 'Odstrániť', 'bouton_modifier_document' => 'Upraviť', 'bouton_parcourir' => 'Prehľadávať...', 'bouton_refresh_document' => 'Obnoviť tento dokument', 'bouton_remplacer_image' => 'Nahradiť tento obrázok', 'bouton_remplacer_document' => 'Nahradiť tento dokument', 'bouton_remplacer_image_document' => 'Nahradiť dokumentom alebo obrázkom', 'bouton_supprimer' => 'Odstrániť', 'bouton_upload' => 'Nahrať', // D 'documents'=> 'Knižnica multimédií', 'documents_distants'=> 'Vzdialené', 'documents_locaux'=> 'Lokálne', 'documents_non_publies'=> 'Nepublikované', 'documents_publies'=> 'Publikované', 'documents_tous'=> 'Všetky', 'documents_brises' => 'Pokazené', 'documents_orphelins' => 'Nepoužívané', 'descriptif'=>'Popis', 'des_documents'=>'Súborov: @nb@', 'des_files'=>'Dokumentov: @nb@', 'des_images'=>'Obrázkov: @nb@', 'des_audios'=>'Zvukov: @nb@', 'des_videos'=>'Videí: @nb@', 'des_utilisations'=>'Použití: @nb@', //There are two forms for plural of nouns, so I have translated it like this. 'document_installe_succes' => 'Súbor sa úspešne nahral', 'document_copie_locale_succes' => 'Súbor bol úspešne skopírovaný na stránku', 'nb_documents_installe_succes' => '@nb@ súborov sa úspešne nahralo', 'document_vu' => 'Vložiť do textu', 'document_attache_succes' => 'Dokument bol úspešne pridaný', // E 'erreur_indiquez_un_fichier'=>'Zadajte súbor!', 'erreur_aucun_document'=>'Tento dokument sa v knižnici multimédií nenachádza', 'erreur_aucun_fichier'=>'Žiaden súbor sa nenašiel', 'erreur_upload_type_interdit'=> 'Sťahovanie súborov @nom@ nie je povolené', 'erreur_chemin_ftp'=>'Zadaný súbor sa na serveri nenašiel', 'erreur_chemin_distant' => 'Vzdialený súbor @nom@ sa nepodarilo nájsť', 'erreur_copie_fichier' => 'Súbor @nom@ sa nedá skopírovať', 'erreur_format_fichier_image' => 'Formát @nom@ nie je vhodný pre obrázok', 'erreur_upload_vignette' => 'Chyba pri nahrávaní miniatúry @nom@', // F 'format_date_incorrect' => 'Nesprávny dátum alebo čas', 'fichier_modifie' => 'Súbor bol zmenený. Kliknite na tlačidlo Uložiť.', // I 'icone_creer_document' => 'Pridať dokument', 'id' => 'ID', 'infos'=>'Technické údaje', 'info_modifier_document'=>'Zmeniť dokument', 'info_heure' => 'Čas', 'info_largeur' => 'Šírka', 'info_hauteur' => 'Výška', 'info_gauche_numero_document'=>'DOKUMENT ČÍSLO', 'info_statut_document'=> 'Tento dokument je:', 'info_illustrations' => 'Ilustrácie', 'info_doc_max_poids' => 'Dokumenty musia mať menej ako @maxi@ (tento súbor má @actuel@).', 'info_image_max_poids' => 'Obrázky musia mať menej ako @maxi@ (tento súbor má @actuel@).', // L 'logo' => 'Logo', 'label_refdoc_joindre' => 'Dokument číslo', 'label_parents' => 'Tento dokument je prepojený s prvkom', 'label_fichier' => 'Súbor', 'label_fichier_vignette' => 'Miniatúra', 'label_caracteristiques' => 'Vlastnosti', 'label_apercu' => 'Ukážka', 'label_credits' => 'Autori', 'lien_tout_enlever' => 'Odstrániť všetko', // M 'media_audio' => 'Zvuky', 'media_video' => 'Videá', 'media_image' => 'Obrázky', 'media_file' => 'Ostatné', // P 'par_id' => 'ID', 'par_date' => 'Dátum', 'par_taille' => 'Veľkosť', 'par_largeur' => 'Šírka', 'par_hauteur' => 'Výška', 'par_titre' => 'Názov', // T 'tous_les_medias'=>'Všetky multimédia', // U 'un_document' => '1 súbor', 'un_file'=>'1 dokument', 'un_image'=>'1 obrázok', 'un_audio'=>'1 zvuk', 'un_video'=>'1 video', 'une_utilisation'=>'1 použitie', 'upload_info_mode_document' => 'Poslať do portfólia', 'upload_info_mode_image' => 'Odstrániť z portfólia', // 'verifier_documents_brises' => 'Skontrolovať chýbajúce súbory', 'vignette_supprimee' => 'Miniatúra bola odstránená', /* 'affichage' => 'Affichage :', 'attr_alt' => 'Pas de balise alt ?? ', 'conteneur' => 'Conteneur :', 'fichier_introuvable' => 'Fichier introuvable', 'filtrer' => 'Filtrer :', 'info_breve' => 'Breve ', 'info_breves' => 'Breves', 'info_doc' => 'Cette page récapitule la liste de tous vos documents. Pour modifier les informations de chaque document, suivez le lien vers la page de sa rubrique.', 'info_reparer' => 'Cette page reconstitue les liens entre documents et articles dans lequel ils sont insérés par un tag ou ', 'info_rubrique' => 'Rubrique ', 'lien_ajoute' => 'lien ajouté', 'mis_jour_liens' => 'Liens mis a jour', 'mis_jour_tailles' => 'Mettre les tailles a jour', 'par' => 'Par @numero@', 'portfolio' => 'Portfolio', 'reparer_liens' => 'Reparer les liens', 'info_syndication' => 'Syndication', 'sans_titre_descriptif' => 'Sans titre ni descriptif', 'taille_erronee' => 'Taille erronée', 'type' => 'Type :', 'tous' => 'Tous', 'tous_doc' => 'Tous vos documents', 'tous_docs' => 'Tous les Documents'*/ ); ?> PK9R\xcɻlang/medias_en.phpnuW+A 'No document', 'aucun_file'=>'No document', 'aucun_image'=>'No image', 'aucun_audio'=>'No sound', 'aucun_video'=>'No video', 'aucune_utilisation'=>'This document isn\'t used.', 'aucune_vignette' => 'No thumbnail', // B 'bouton_copier_local'=>'Copy on the site', 'bouton_download_depuis'=>'from:', 'bouton_download_local' => 'my computer', 'bouton_download_par_mediatheque' => 'media library', 'bouton_download_par_ftp' => 'the server', 'bouton_download_sur_le_web' => 'internet', 'bouton_attacher_document' => 'Attach', 'bouton_enlever_document' => 'Unlink', 'bouton_enlever_supprimer_document' => 'Delete', 'bouton_modifier_document' => 'Modify', 'bouton_parcourir' => 'Browse...', 'bouton_refresh_document' => 'Refresh document', 'bouton_remplacer_image' => 'Replace this image', 'bouton_remplacer_document' => 'Replace this document', 'bouton_remplacer_image_document' => 'Replace by an image or a document', 'bouton_supprimer' => 'Delete', 'bouton_supprimer_tous_orphelins' => 'Delete all unused', 'bouton_supprimer_tous_orphelins_confirmation' => 'Do you really want to delete @nb@ unused?', 'bouton_upload' => 'Upload', // D 'documents'=> 'Media library', 'documents_distants'=> 'Remote', 'documents_locaux'=> 'Local', 'documents_non_publies'=> 'Unpublished', 'documents_publies'=> 'Published', 'documents_tous'=> 'All', 'documents_brises' => 'Broken', 'documents_orphelins' => 'Unused', 'descriptif'=>'Description', 'des_documents'=>'@nb@ documents', 'des_files'=>'@nb@ documents', 'des_images'=>'@nb@ images', 'des_audios'=>'@nb@ sounds', 'des_videos'=>'@nb@ videos', 'des_utilisations'=>'@nb@ uses', 'document_installe_succes' => 'The file was successfully uploaded', 'document_copie_locale_succes' => 'The file was successfully copied on the site', 'nb_documents_installe_succes' => '@nb@ files successfully uploaded', 'document_vu' => 'Insert in text', 'document_attache_succes' => 'The document was successfully added', // E 'erreur_indiquez_un_fichier'=>'Specify a file!', 'erreur_aucun_document'=>'This document doesn\'t exist in the media library', 'erreur_aucun_fichier'=>'No file was found', 'erreur_upload_type_interdit'=> "Downloading files of type @nom@ is not allowed", 'erreur_chemin_ftp'=>'The specified file was not found on server', 'erreur_chemin_distant' => 'The remote file @nom@ could not be found', 'erreur_copie_fichier' => 'Unable to copy the file @nom@', 'erreur_format_fichier_image' => 'The format of @nom@ is not suitable for an image', 'erreur_upload_vignette' => 'Error loading thumbnail @nom@', // F 'format_date_incorrect' => 'The date or time are incorrect', 'fichier_modifie' => 'The file has been modified. Click save button.', // I 'icone_creer_document' => 'Add a document', 'id' => 'ID', 'infos'=>'Technical infos', 'info_modifier_document'=>'Modify the document', 'info_heure' => 'Time', 'info_largeur' => 'Width', 'info_hauteur' => 'Height', 'info_gauche_numero_document'=>'DOCUMENT NUMBER', 'info_statut_document'=> 'This document is:', 'info_illustrations' => 'Illustrations', 'info_doc_max_poids' => 'Documents must necessarily be less than @maxi@ (this file is @actuel@).', 'info_image_max_poids' => 'Images must necessarily be less than @maxi@ (this file is @actuel@).', // L 'logo' => 'Logo', 'label_refdoc_joindre' => 'Document number', 'label_parents' => 'This document is linked to', 'label_fichier' => 'File', 'label_fichier_vignette' => 'Thumbnail', 'label_caracteristiques' => 'Features', 'label_apercu' => 'Overview', 'label_credits' => 'Credits', 'lien_tout_enlever' => 'Remove all', // M 'media_audio' => 'Sounds', 'media_video' => 'Videos', 'media_image' => 'Images', 'media_file' => 'Other', // P 'par_id' => 'ID', 'par_date' => 'Date', 'par_taille' => 'Weight', 'par_largeur' => 'Width', 'par_hauteur' => 'Height', 'par_titre' => 'Title', // T 'tous_les_medias'=>'All media', // U 'un_document' => '1 document', 'un_file'=>'1 document', 'un_image'=>'1 image', 'un_audio'=>'1 sound', 'un_video'=>'1 video', 'une_utilisation'=>'1 use', 'upload_info_mode_document' => 'Send to portfolio', 'upload_info_mode_image' => 'Remove from portfolio', // 'verifier_documents_brises' => 'Check missing files', 'vignette_supprimee' => 'The thumbnail has been deleted', 'voir_descriptif' => 'Show the description', /* 'affichage' => 'Affichage :', 'attr_alt' => 'Pas de balise alt ?? ', 'conteneur' => 'Conteneur :', 'fichier_introuvable' => 'Fichier introuvable', 'filtrer' => 'Filtrer :', 'info_breve' => 'Breve ', 'info_breves' => 'Breves', 'info_doc' => 'Cette page récapitule la liste de tous vos documents. Pour modifier les informations de chaque document, suivez le lien vers la page de sa rubrique.', 'info_reparer' => 'Cette page reconstitue les liens entre documents et articles dans lequel ils sont insérés par un tag ou ', 'info_rubrique' => 'Rubrique ', 'lien_ajoute' => 'lien ajouté', 'mis_jour_liens' => 'Liens mis a jour', 'mis_jour_tailles' => 'Mettre les tailles a jour', 'par' => 'Par @numero@', 'portfolio' => 'Portfolio', 'reparer_liens' => 'Reparer les liens', 'info_syndication' => 'Syndication', 'sans_titre_descriptif' => 'Sans titre ni descriptif', 'taille_erronee' => 'Taille erronée', 'type' => 'Type :', 'tous' => 'Tous', 'tous_doc' => 'Tous vos documents', 'tous_docs' => 'Tous les Documents'*/ ); ?> PK9R\m&N00lang/medias_ar.phpnuW+A 'لا يوجد مستندات', 'aucun_file'=>'لا يوجد مستندات', 'aucun_image'=>'لا يوجد صور', 'aucun_audio'=>'لا يوجد ملفات صوت', 'aucun_video'=>'لا يوجد ملفات فيديو', 'aucune_utilisation'=>'هذا المستند غير مستخدم', 'aucune_vignette' => 'لا يوجد مصغرات', // B 'bouton_copier_local'=>'نسخ في الموقع', 'bouton_download_depuis'=>'منذ:', 'bouton_download_local' => 'جهازي', 'bouton_download_par_mediatheque' => 'مكتبة المستندات', 'bouton_download_par_ftp' => 'جهاز الخدمة', 'bouton_download_sur_le_web' => 'شبكة إنترنت', 'bouton_attacher_document' => 'ربط ', 'bouton_enlever_document' => 'إزالة الربط', 'bouton_enlever_supprimer_document' => 'حذف', 'bouton_enlever_supprimer_document_confirmation' => 'هل تؤكد رغبتك في حذف المستند؟', 'bouton_modifier_document' => 'تعديل', 'bouton_parcourir' => 'عرض...', 'bouton_refresh_document' => 'تحديث المستند', 'bouton_remplacer_image' => 'تبديل هذه الصورة', 'bouton_remplacer_document' => 'تبديل هذا المستند', 'bouton_remplacer_image_document' => 'استبدال بصورة إو مستند', 'bouton_supprimer' => 'حذف', 'bouton_supprimer_tous_orphelins' => 'حذف كل المستندات غير المستخدمة', 'bouton_supprimer_tous_orphelins_confirmation' => 'هل تؤكد رغبتك في حذف @nb@ مستند غير مستخدم؟', 'bouton_upload' => 'تحميل', // D 'documents'=> 'مكتبة المستندات', 'documents_distants'=> 'بعيدة', 'documents_locaux'=> 'محلية', 'documents_non_publies'=> 'غير منشورة', 'documents_publies'=> 'منشورة', 'documents_tous'=> 'الكل', 'documents_brises' => 'رابط مكسور', 'documents_orphelins' => 'غير مستخدمة', 'descriptif'=>'وصف', 'des_documents'=>'@nb@ مستند', 'des_files'=>'@nb@ مستند', 'des_images'=>'@nb@ صورة', 'des_audios'=>'@nb@ ملف صوت', 'des_videos'=>'@nb@ ملف فيديو', 'des_utilisations'=>'@nb@ استخدام', 'document_installe_succes' => 'لقد تم فعلاً تحميل الملف', 'document_copie_locale_succes' => 'لقد تم فعلاً نسخ الملف في الموقع', 'nb_documents_installe_succes' => 'تم تحميل @nb@ ملف بنجاح', 'document_vu' => 'مدرج في النص', 'document_attache_succes' => 'لقد تمت فعلاً إضافة المستند', // E 'erreur_indiquez_un_fichier'=>'تحديد ملف!', 'erreur_aucun_document'=>'لا وجود لهذا المستند في المكتبة', 'erreur_aucun_fichier'=>'لم يتم العثور على أي ملف', 'erreur_upload_type_interdit'=> "تحميل ملفات من نوع @nom@ غير مسموح", 'erreur_chemin_ftp'=>'لم يتم العثور عبى الملف المحدد في الخادم', 'erreur_chemin_distant' => 'لم يتم العثور على الملف البعيد @nom@', 'erreur_copie_fichier' => 'لا يمكن نسخ الملف @nom@', 'erreur_format_fichier_image' => 'لا يناسب تنسيق @nom@ ملف صورة', 'erreur_upload_vignette' => 'خطأ خلال تحميل المصغر @nom@', // F 'format_date_incorrect' => 'التاريخ او الوقت غير صحيحين', 'fichier_modifie' => 'تم تعديل هذا المستند. أنقر على حفظ.', // I 'icone_creer_document' => 'إضافة مستند', 'id' => 'رقم', 'infos'=>'معلومات تقنية', 'info_modifier_document'=>'تعديل المستند', 'info_heure' => 'الساعة', 'info_largeur' => 'عرض', 'info_hauteur' => 'ارتفاع', 'info_gauche_numero_document'=>'وثيقة رقم', 'info_statut_document'=> 'هذا المستند:', 'info_illustrations' => 'الرسوم التوضيحية', 'info_doc_max_poids' => 'يحب ان يكون حجم المستندات أقل من @maxi@ (حجم هذا الملف يبلغ @actuel@).', 'info_image_max_poids' => 'يحب ان يكون حجم الصور أقل من @maxi@ (حجم هذا الملف يبلغ @actuel@).', // L 'logo' => 'شعار', 'label_refdoc_joindre' => 'مستند رقم', 'label_parents' => 'هذا المستند مرتبط بـ', 'label_fichier' => 'ملف', 'label_fichier_vignette' => 'مصغر', 'label_caracteristiques' => 'الخصائص', 'label_apercu' => 'معاينة', 'label_credits' => 'الحقوق', 'lien_tout_enlever' => 'إزالة الكل', // M 'media_audio' => 'شريط صوتي', 'media_video' => 'مقطع فيديو', 'media_image' => 'صور', 'media_file' => 'مستندات أخرى', // O 'objet_documents'=>'مستندات', // P 'par_id' => 'رقم', 'par_date' => 'تاريخ', 'par_taille' => 'حجم', 'par_largeur' => 'عرض', 'par_hauteur' => 'ارتفاع', 'par_titre' => 'عنوان', // T 'tous_les_medias'=>'كل الوسائط', // U 'un_document' => '1 مستند', 'un_file'=>'1 مستند', 'un_image'=>'1 صورة', 'un_audio'=>'1 شريط صوتي', 'un_video'=>'1 مقطع فيديو', 'une_utilisation'=>'1 استخدام', 'upload_info_mode_document' => 'وضع في صالة العرض', 'upload_info_mode_image' => 'إزالة من صالة العرض', // 'verifier_documents_brises' => 'التدقيق في الملفات المفقودة', 'vignette_supprimee' => 'تم حذف المصغر', /* 'affichage' => 'Affichage :', 'attr_alt' => 'Pas de balise alt ?? ', 'conteneur' => 'Conteneur :', 'fichier_introuvable' => 'Fichier introuvable', 'filtrer' => 'Filtrer :', 'info_breve' => 'Breve ', 'info_breves' => 'Breves', 'info_doc' => 'Cette page récapitule la liste de tous vos documents. Pour modifier les informations de chaque document, suivez le lien vers la page de sa rubrique.', 'info_reparer' => 'Cette page reconstitue les liens entre documents et articles dans lequel ils sont insérés par un tag ou ', 'info_rubrique' => 'Rubrique ', 'lien_ajoute' => 'lien ajouté', 'mis_jour_liens' => 'Liens mis a jour', 'mis_jour_tailles' => 'Mettre les tailles a jour', 'par' => 'Par @numero@', 'portfolio' => 'Portfolio', 'reparer_liens' => 'Reparer les liens', 'info_syndication' => 'Syndication', 'sans_titre_descriptif' => 'Sans titre ni descriptif', 'taille_erronee' => 'Taille erronée', 'type' => 'Type :', 'tous' => 'Tous', 'tous_doc' => 'Tous vos documents', 'tous_docs' => 'Tous les Documents'*/ ); ?> PK9R\CEElang/medias_es.phpnuW+A 'No hay documento', 'aucun_file'=>'No hay documento', 'aucun_image'=>'No hay imagen', 'aucun_audio'=>'No hay banda sonora', 'aucun_video'=>'No hay secuencia', 'aucune_utilisation'=>'Este documento no se utiliza', 'aucune_vignette' => 'No hay miniatura', // B 'bouton_copier_local'=>'Copia en el sitio', 'bouton_download_depuis'=>'depuis :', 'bouton_download_local' => 'Mi PC', 'bouton_download_par_mediatheque' => 'la biblioteca de medios', 'bouton_download_par_ftp' => 'el servidor', 'bouton_download_sur_le_web' => 'internet', 'bouton_attacher_document' => 'Adjuntar', 'bouton_enlever_document' => 'Separar', 'bouton_enlever_supprimer_document' => 'Eliminar', 'bouton_modifier_document' => 'Editar', 'bouton_parcourir' => 'Navegar..', 'bouton_refresh_document' => 'Actualizar el documento', 'bouton_remplacer_image' => 'Sustituir esto imagen', 'bouton_remplacer_document' => 'Sustituir este documento', 'bouton_remplacer_image_document' => 'Sustituye por una imagen o documento', 'bouton_supprimer' => 'Eliminar', 'bouton_supprimer_tous_orphelins' => 'Eliminar todos documentos no utilizados', 'bouton_supprimer_tous_orphelins_confirmation' => '¿Estás seguro que quieres eliminar @nb@ no utilizados?', 'bouton_upload' => 'Descargar', // D 'documents'=> 'Gestión de los documentos', 'documents_distants'=> 'Remoto', 'documents_locaux'=> 'Local', 'documents_non_publies'=> 'Inedito', 'documents_publies'=> 'Publicado', 'documents_tous'=> 'Todo', 'documents_brises' => 'Brisés', 'documents_orphelins' => 'No utilizados', 'descriptif'=>'Descripci�n', 'des_documents'=>'@nb@ documentos', 'des_files'=>'@nb@ documentos', 'des_images'=>'@nb@ imágenes', 'des_audios'=>'@nb@ bandas sonoras', 'des_videos'=>'@nb@ secuencias', 'des_utilisations'=>'@nb@ usos', 'document_installe_succes' => 'El archivo ha sido cargado', 'document_copie_locale_succes' => ' El archivo ha sido copiado en el sitio', 'nb_documents_installe_succes' => '@nb@ los archivos cargados con exito', 'document_vu' => 'Introducido en el texto', 'document_attache_succes' => 'El documento ha sido añadido', // E 'erreur_indiquez_un_fichier'=>'Especifique un archivo!', 'erreur_aucun_document'=>'Este documento no existe en la biblioteca de medios', 'erreur_aucun_fichier'=>'No se encontraron archivos', 'erreur_upload_type_interdit'=> " La descarga de archivos de tipo @nom@ no permitido", 'erreur_chemin_ftp'=>'El archivo especificado no se encuentra en el servidor', 'erreur_chemin_distant' => 'El archivo remoto @nom@ no se encontr�', 'erreur_copie_fichier' => 'No se puede copiar el archivo @nom@', 'erreur_format_fichier_image' => 'El formato de @nom@ no es adecuado para una imagen', 'erreur_upload_vignette' => 'Error al cargar miniatura @nom@', // F 'format_date_incorrect' => 'La fecha o la hora son incorrectas', 'fichier_modifie' => 'El archivo ha sido modificado. Haga clic en Guardar.', // I 'icone_creer_document' => 'Añadir documento', 'id' => 'ID', 'infos'=>'Información Técnica', 'info_modifier_document'=>'Editar el documento', 'info_heure' => 'Tiempo', 'info_largeur' => 'Anchura', 'info_hauteur' => 'Altura', 'info_gauche_numero_document'=>'DOCUMENTO NÚMERO', 'info_statut_document'=> 'Este documento es :', 'info_illustrations' => 'Illustrator', 'info_doc_max_poids' => 'Los documentos deberán ser inferior a @maxi@ (este archivo se @actuel@).', 'info_image_max_poids' => 'Las imágenes deben ser necesariamente menos @maxi@ (este archivo se @actuel@).', // L 'logo' => 'Logo', 'label_refdoc_joindre' => 'Documento número', 'label_parents' => 'Este documento está relacionado con', 'label_fichier' => 'Archivo', 'label_fichier_vignette' => 'Miniatura', 'label_caracteristiques' => 'Características', 'label_apercu' => 'Aperçu', 'label_credits' => 'Créditos', 'lien_tout_enlever' => 'Quitar todo', // M 'media_audio' => 'Bandas sonoras', 'media_video' => 'Secuencias', 'media_image' => 'Imágenes', 'media_file' => 'Otro', // O 'objet_documents'=>'Documentos', // P 'par_id' => 'ID', 'par_date' => 'Fecha', 'par_taille' => 'Pesa', 'par_largeur' => 'Anchura', 'par_hauteur' => 'Altura', 'par_titre' => 'Titulo', // T 'tous_les_medias'=>'Todos los medios', // U 'un_document' => '1 documento', 'un_file'=>'1 documento', 'un_image'=>'1 imagen', 'un_audio'=>'1 banda sonora', 'un_video'=>'1 secuencia', 'une_utilisation'=>'1 usar', 'upload_info_mode_document' => 'Enviar a el portfolio', 'upload_info_mode_image' => 'Eliminar del portfolio', // 'verifier_documents_brises' => 'Compruebe los archivos que faltan', 'vignette_supprimee' => 'La miniatura se ha eliminado', /* 'affichage' => 'Affichage :', 'attr_alt' => 'Pas de balise alt ?? ', 'conteneur' => 'Conteneur :', 'fichier_introuvable' => 'Fichier introuvable', 'filtrer' => 'Filtrer :', 'info_breve' => 'Breve ', 'info_breves' => 'Breves', 'info_doc' => 'Cette page récapitule la liste de tous vos documents. Pour modifier les informations de chaque document, suivez le lien vers la page de sa rubrique.', 'info_reparer' => 'Cette page reconstitue les liens entre documents et articles dans lequel ils sont insérés par un tag ou ', 'info_rubrique' => 'Rubrique ', 'lien_ajoute' => 'lien ajouté', 'mis_jour_liens' => 'Liens mis a jour', 'mis_jour_tailles' => 'Mettre les tailles a jour', 'par' => 'Par @numero@', 'portfolio' => 'Portfolio', 'reparer_liens' => 'Reparer les liens', 'info_syndication' => 'Syndication', 'sans_titre_descriptif' => 'Sans titre ni descriptif', 'taille_erronee' => 'Taille erronée', 'type' => 'Type :', 'tous' => 'Tous', 'tous_doc' => 'Tous vos documents', 'tous_docs' => 'Tous les Documents'*/ ); ?> PK9R\lang/medias_fr.phpnuW+A 'Aucun document', 'aucun_file'=>'Aucun document', 'aucun_image'=>'Aucune image', 'aucun_audio'=>'Aucune bande son', 'aucun_video'=>'Aucune séquence', 'aucune_utilisation'=>'Ce document n\'est pas utilisé', 'aucune_vignette' => 'Aucune vignette', // B 'bouton_copier_local'=>'Copier dans le site', 'bouton_download_depuis'=>'depuis :', 'bouton_download_local' => 'mon ordinateur', 'bouton_download_par_mediatheque' => 'la mediathèque', 'bouton_download_par_ftp' => 'le serveur', 'bouton_download_sur_le_web' => 'internet', 'bouton_attacher_document' => 'Attacher', 'bouton_enlever_document' => 'Detacher', 'bouton_enlever_supprimer_document' => 'Supprimer', 'bouton_enlever_supprimer_document_confirmation' => 'Etes-vous sûr de vouloir supprimer le document ?', 'bouton_modifier_document' => 'Modifier', 'bouton_parcourir' => 'Parcourir...', 'bouton_refresh_document' => 'Rafraichir le document', 'bouton_remplacer_image' => 'Remplacer cette image', 'bouton_remplacer_document' => 'Remplacer ce document', 'bouton_remplacer_image_document' => 'Remplacer par une image ou un document', 'bouton_supprimer' => 'Supprimer', 'bouton_supprimer_tous_orphelins' => 'Supprimer tous les orphelins', 'bouton_supprimer_tous_orphelins_confirmation' => 'Etes-vous sûr de vouloir supprimer @nb@ orphelins ?', 'bouton_upload' => 'Télécharger', // D 'documents'=> 'Mediathèque', 'documents_distants'=> 'Distants', 'documents_locaux'=> 'Locaux', 'documents_non_publies'=> 'Non publiés', 'documents_publies'=> 'Publiés', 'documents_tous'=> 'Tous', 'documents_brises' => 'Brisés', 'documents_orphelins' => 'Inutilisés', 'descriptif'=>'Description', 'des_documents'=>'@nb@ documents', 'des_files'=>'@nb@ documents', 'des_images'=>'@nb@ images', 'des_audios'=>'@nb@ bandes sons', 'des_videos'=>'@nb@ séquences', 'des_utilisations'=>'@nb@ utilisations', 'document_installe_succes' => 'Le fichier a bien été chargé', 'document_copie_locale_succes' => 'Le fichier a bien été copié dans le site', 'nb_documents_installe_succes' => '@nb@ fichiers chargés avec succès', 'document_vu' => 'Inséré dans le texte', 'document_attache_succes' => 'Le document a bien été ajouté', // E 'erreurs' => '@nb@ erreurs', 'erreurs_voir' => 'Voir les @nb@ erreurs', 'erreur_indiquez_un_fichier'=>'Indiquez un fichier !', 'erreur_aucun_document'=>'Ce document n\'existe pas dans la mediathèque', 'erreur_aucun_fichier'=>'Aucun fichier n\'a été trouvé', 'erreur_upload_type_interdit'=> "Le telechargement des fichiers du type de @nom@ n'est pas autorisé", 'erreur_chemin_ftp'=>'Le fichier indiqué n\'a pas été trouvé sur le serveur', 'erreur_chemin_distant' => 'Le fichier distant @nom@ n\'a pas pu être trouvé', 'erreur_copie_fichier' => 'Impossible de copier le fichier @nom@', 'erreur_format_fichier_image' => 'Le format de @nom@ ne convient pas pour une image', 'erreur_upload_vignette' => 'Erreur lors du chargement de la vignette @nom@', // F 'format_date_incorrect' => 'La date ou l\'heure sont incorrectes', 'fichier_modifie' => 'Le fichier a été modifié. Cliquez sur enregistrer.', // I 'icone_creer_document' => 'Ajouter un document', 'id' => 'ID', 'infos'=>'Infos techniques', 'info_modifier_document'=>'Modifier le document', 'info_heure' => 'Heure', 'info_largeur' => 'Largeur', 'info_hauteur' => 'Hauteur', 'info_gauche_numero_document'=>'DOCUMENT NUMÉRO', 'info_statut_document'=> 'Ce document est :', 'info_illustrations' => 'Illustrations', 'info_doc_max_poids' => 'Les documents doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).', 'info_image_max_poids' => 'Les images doivent obligatoirement faire moins de @maxi@ (ce fichier fait @actuel@).', // L 'logo' => 'Logo', 'label_refdoc_joindre' => 'Document numéro', 'label_parents' => 'Ce document est lié à', 'label_fichier' => 'Fichier', 'label_fichier_vignette' => 'Vignette', 'label_caracteristiques' => 'Caractéristiques', 'label_apercu' => 'Aperçu', 'label_credits' => 'Crédits', 'lien_tout_enlever' => 'Tout enlever', // M 'media_audio' => 'Bandes sons', 'media_video' => 'Séquences', 'media_image' => 'Images', 'media_file' => 'Autres', // O 'objet_documents'=>'Documents', // P 'par_id' => 'ID', 'par_date' => 'Date', 'par_taille' => 'Poids', 'par_largeur' => 'Largeur', 'par_hauteur' => 'Hauteur', 'par_titre' => 'Titre', // T 'tous_les_medias'=>'Tous les medias', 'titre_page_documents_edit' => 'Modifier le document : @titre@', // U 'un_document' => '1 document', 'un_file'=>'1 document', 'un_image'=>'1 image', 'un_audio'=>'1 bande son', 'un_video'=>'1 séquence', 'une_utilisation'=>'1 utilisation', 'upload_info_mode_document' => 'Déposer dans le portfolio', 'upload_info_mode_image' => 'Retirer du portfolio', 'upload_zip_mode_document' => 'Déposer toutes les images dans le portfolio', // 'verifier_documents_brises' => 'Vérifier les fichiers manquants', 'vignette_supprimee' => 'La vignette a été supprimée', 'voir_descriptif' => 'Voir le descriptif', /* 'affichage' => 'Affichage :', 'attr_alt' => 'Pas de balise alt ?? ', 'conteneur' => 'Conteneur :', 'fichier_introuvable' => 'Fichier introuvable', 'filtrer' => 'Filtrer :', 'info_breve' => 'Breve ', 'info_breves' => 'Breves', 'info_doc' => 'Cette page récapitule la liste de tous vos documents. Pour modifier les informations de chaque document, suivez le lien vers la page de sa rubrique.', 'info_reparer' => 'Cette page reconstitue les liens entre documents et articles dans lequel ils sont insérés par un tag ou ', 'info_rubrique' => 'Rubrique ', 'lien_ajoute' => 'lien ajouté', 'mis_jour_liens' => 'Liens mis a jour', 'mis_jour_tailles' => 'Mettre les tailles a jour', 'par' => 'Par @numero@', 'portfolio' => 'Portfolio', 'reparer_liens' => 'Reparer les liens', 'info_syndication' => 'Syndication', 'sans_titre_descriptif' => 'Sans titre ni descriptif', 'taille_erronee' => 'Taille erronée', 'type' => 'Type :', 'tous' => 'Tous', 'tous_doc' => 'Tous vos documents', 'tous_docs' => 'Tous les Documents'*/ ); ?> PK9R\GHlang/medias_de.phpnuW+A 'Kein Dokument', 'aucun_file'=>'Keine Datei', 'aucun_image'=>'Kein Bild', 'aucun_audio'=>'Kein Ton', 'aucun_video'=>'Keine Videos', 'aucune_utilisation'=>'Dieses Dokument wird nicht verwendet.', 'aucune_vignette' => 'Kein Miniaturbild', // B 'bouton_copier_local'=>'Lokale Kopie anlegen', 'bouton_download_depuis'=>'Von:', 'bouton_download_local' => 'Mein Computer', 'bouton_download_par_mediatheque' => 'Mediathek', 'bouton_download_par_ftp' => 'FTP-Server', 'bouton_download_sur_le_web' => 'Internet', 'bouton_attacher_document' => 'Anhängen', 'bouton_enlever_document' => 'Entfernen', 'bouton_enlever_supprimer_document' => 'Löschen', 'bouton_enlever_supprimer_document_confirmation' => 'Wollen sie dieses Dokument wirklich löschen?', 'bouton_modifier_document' => 'Bearbeiten', 'bouton_parcourir' => 'Durchsuchen...', 'bouton_refresh_document' => 'Dokument neu laden', 'bouton_remplacer_image' => 'Dieses Bild ersetzen', 'bouton_remplacer_document' => 'Dieses Dokument ersetzen', 'bouton_remplacer_image_document' => 'Durch ein Dokument oder Bild ersetzen', 'bouton_supprimer' => 'Löschen', 'bouton_supprimer_tous_orphelins' => 'Löschen alle dokument ungenutzt', 'bouton_supprimer_tous_orphelins_confirmation' => 'Wollen Sie wirklich bis @nb@ unbenutzte l�schen ?', 'bouton_upload' => 'Übertragen', // D 'documents'=> 'Mediathek', 'documents_distants'=> 'Externe', 'documents_locaux'=> 'Lokale', 'documents_non_publies'=> 'Nicht veröffentlicht', 'documents_publies'=> 'Veröffentlicht', 'documents_tous'=> 'Alle', 'documents_brises' => 'Beschädigt', 'documents_orphelins' => 'Ungenutzt', 'descriptif'=>'Beschreibung', 'des_documents'=>'@nb@ Dokumente', 'des_files'=>'@nb@ Dokumente', 'des_images'=>'@nb@ Bilder', 'des_audios'=>'@nb@ Töne', 'des_videos'=>'@nb@ Videos', 'des_utilisations'=>'@nb@ Verwendungen', 'document_installe_succes' => 'Die Datei wurde erfolgreich übertragen', 'document_copie_locale_succes' => 'Die Datei wurde erfolgreich in auf den Server übertragen.', 'nb_documents_installe_succes' => '@nb@ Dateien wurden erfolgreich übertragen.', 'document_vu' => 'In den Text eingefügt.', 'document_attache_succes' => 'Das Dokument wurde erfolgreich hinzugefügt.', // E 'erreurs' => '@nb@ Fehler', 'erreurs_voir' => '@nb@ Fehler ansehen', 'erreur_indiquez_un_fichier'=>'Geben sie eine Datei an!', 'erreur_aucun_document'=>'Dieses Dokument ist nicht in der Mediathek vorhanden.', 'erreur_aucun_fichier'=>'Es wurde kein Dokument gefunden.', 'erreur_upload_type_interdit'=> "Die Übertragung von Dokumenten mit dem Namen @nom@ ist nicht erlaubt.", 'erreur_chemin_ftp'=>'Die angegebene Datei wurde nicht auf dem Server gefunden.', 'erreur_chemin_distant' => 'Die Datei @nom@ konnte nicht über das Netz erreicht werden.', 'erreur_copie_fichier' => 'Die Datei @nom@ konnte nicht kopiert werden.', 'erreur_format_fichier_image' => 'Das Format von @nom@ ist nicht als Bild geeeignet.', 'erreur_upload_vignette' => 'Fehler beim Laden des Miniaturbilds @nom@', // F 'format_date_incorrect' => 'Datum oder Uhrzeit sind falsch.', 'fichier_modifie' => 'Die Datei wurde geändert. Klicken sie hier zum Speichern.', // I 'icone_creer_document' => 'Dokument hinzufügen', 'id' => 'ID', 'infos'=>'Technische Informationen', 'info_modifier_document'=>'Dokument bearbeiten', 'info_heure' => 'Stunde', 'info_largeur' => 'Breite', 'info_hauteur' => 'Höhe', 'info_gauche_numero_document'=>'DOKUMENT NUMMER', 'info_statut_document'=> 'Dieses Dokument ist:', 'info_illustrations' => 'Illustrationen', 'info_doc_max_poids' => 'Die Dokumente dürfen höchstens @maxi@ groß sein (diese Datei hat @actuel@).', 'info_image_max_poids' => 'Die Bilder dürfen höchstens @maxi@ groß sein (diese Datei hat @actuel@).', // L 'logo' => 'Logo', 'label_refdoc_joindre' => 'Dokument Nummer', 'label_parents' => 'Dieses Dokument gehört zu', 'label_fichier' => 'Datei', 'label_fichier_vignette' => 'Miniaturbild', 'label_caracteristiques' => 'Eigenschaften', 'label_apercu' => 'Vorschau', 'label_credits' => 'Beteiligte', 'lien_tout_enlever' => 'Alles entfernen', // M 'media_audio' => 'Töne', 'media_video' => 'Videos', 'media_image' => 'Bilder', 'media_file' => 'Andere', // O 'objet_documents'=>'Dokumente', // P 'par_id' => 'ID', 'par_date' => 'Datum', 'par_taille' => 'Größe', 'par_largeur' => 'Breite', 'par_hauteur' => 'Höhe', 'par_titre' => 'Titel', // T 'tous_les_medias'=>'Alle Medien', 'titre_page_documents_edit' => 'Dokument bearbeiten: @titre@', // U 'un_document' => '1 Dokument', 'un_file'=>'1 Dokument', 'un_image'=>'1 Bild', 'un_audio'=>'1 Ton', 'un_video'=>'1 Video', 'une_utilisation'=>'1 Verwendung', 'upload_info_mode_document' => 'Im Portfolio ablegen', 'upload_info_mode_image' => 'Aus dem Portfolio entfernen', 'upload_zip_mode_document' => 'Alle Bilder im Portfolio ablegen', // 'verifier_documents_brises' => 'Fehlende Dateien prüfen', 'vignette_supprimee' => 'Das MIniaturbild wurde gelöscht.', /* 'affichage' => 'Anzeigen:', 'attr_alt' => 'Kein alt-Tag ?? ', 'conteneur' => 'Container:', 'fichier_introuvable' => 'Datei unauffindbar', 'filtrer' => 'Filtern :', 'info_breve' => 'Meldung ', 'info_breves' => 'Meldungen', 'info_doc' => 'Diese Seite gibt einen Überblick über alle Dokumente. Um die Informationen zu einzelnen Dokumenten zu bearbeiten, klicken sie bitte auf die Links zu ihren Rubriken.', 'info_reparer' => 'Diese Seite zeigt, in welche Artikel Dokumente mit den Tags oder eingebette wurden.', 'info_rubrique' => 'Rubrik ', 'lien_ajoute' => 'Link hinzugefügt', 'mis_jour_liens' => 'Links aktualisiert', 'mis_jour_tailles' => 'Größenangaben aktualisiert', 'par' => 'Nach @numero@', 'portfolio' => 'Portfolio', 'reparer_liens' => 'Links reparieren', 'info_syndication' => 'Syndication', 'sans_titre_descriptif' => 'Ohne Titel und Beschreibung', 'taille_erronee' => 'Falsche Größe', 'type' => 'Typ :', 'tous' => 'Alle', 'tous_doc' => 'Alle ihre Dokumente', 'tous_docs' => 'Alle Dokumente'*/ ); ?>PK9R\Ώprive/infos/document.htmlnuW+A
<:medias:info_gauche_numero_document:>

#ID_DOCUMENT

[(#REM) Bloc de changement de statut ] [(#STATUT|=={publie}|oui)
  • <:medias:info_statut_document:>
    • <:texte_statut_publie:>
]
PK9R\d II"prive/editer/colonne_document.htmlnuW+A
#FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_objet},#ENV{objet},'auto','formulaires/inc-colonne_documents'}
[ ] PK9R\C66prive/editer/document.htmlnuW+A
#ENV**{icone_retour} [<:medias:info_modifier_document:>

(#ENV{titre})

]
#FORMULAIRE_EDITER_DOCUMENT{#ENV{new},#ENV{parent},#ENV{redirect},#ENV{lier_trad},#ENV{config_fonc}} #FORMULAIRE_ILLUSTRER_DOCUMENT{#ENV{new}}
PK9R\i GG prive/editer/document_popup.htmlnuW+A
<:medias:info_modifier_document:>

<:medias:info_gauche_numero_document:> #ENV{new}

#FORMULAIRE_EDITER_DOCUMENT{#ENV{new},#ENV{parent},#ENV{redirect},#ENV{lier_trad},#ENV{config_fonc}}
#FORMULAIRE_ILLUSTRER_DOCUMENT{#ENV{new}}
PK9R\?)prive/themes/spip/images/portfolio-16.pngnuW+APNG  IHDRhtEXtSoftwareAdobe ImageReadyqe<(IDATxb?ٻ\r?@1DXf h.6DYXXGf` z`e겝X4p'6|}rA)ߧ NYQNH0prq1p3Y?_Y@vo>dx/˷<;'o~20120@FM'J111322 222LLo_ U5F1"ZT) ~E|`ee%)BANoVyy00; A]Tk zA| x0"PegV ƝNLo~37g 9 aPtн'`[Nb*M):g1(8Ȳ e&1`6${ 4p}@}ĉ[Jjd

[(#TOTAL_BOUCLE|affiche_un_ou_plusieurs{medias:une_utilisation,medias:des_utilisations})]

  • [(#CHEMIN{images/#OBJET|concat{-12.png}}|tag_img) ][(#ID_OBJET|lien_objet{#OBJET})] [(#VU|=={oui}|oui) [(#CHEMIN{images/document-vu-24.png}|tag_img|inserer_attribut{title,<:medias:document_vu:>}|inserer_attribut{alt,<:medias:document_vu:>})] ]

<:medias:aucune_utilisation:>

PK9R\ZFIIprive/galerie.htmlnuW+A
[(#ENV{editable,' '}|oui) [] ] PK9R\fɑ prive/inc-ajouter-documents.htmlnuW+A[(#ENV{ajouter}|=={oui}|oui)
[(#CHEMIN{img_pack/frame-close.png}|tag_img)] #FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_objet,0},#ENV{objet,''}}
] [(#ENV{ajouter}|=={oui}|non) [(#SELF|parametre_url{ajouter,oui}|icone{<:medias:icone_creer_document:>,#CHEMIN{images/document-24.png},#LANG_RIGHT,creer.gif,ajax})] ] PK9R\țyyprive/inc-galerie.htmlnuW+A#SET{self,#SELF|parametre_url{debut_galerie,''}} #SET{self,#GET{self}|parametre_url{extension,''}} #SET{editable,#ENV{editable,' '}|oui}
    [
  • (#GET{self}|parametre_url{media,''}|aoustrong{<:medias:tous_les_medias:>,#ENV{media,''}|=={''},ajax})
  • ] [
  • (#GET{self}|parametre_url{media,#MEDIA}|aoustrong{#VAL{medias:media_}|concat{#MEDIA}|_T|concat{' (',#COMPTEUR{types_documents},')'},#ENV{media}|=={#MEDIA},ajax})
  • ]
[(#ENV{id_document}|oui) [(#CHEMIN{images/annuler-recherche.png}|tag_img|inserer_attribut{alt,<:medias:tout_voir:>})] ] [(#GET{editable})
[(#ENV{brise,0}|oui) [(#URL_ACTION_AUTEUR{verifier_documents_brises,'1',#GET{self}}|aoustrong{<:medias:verifier_documents_brises:>,0,ajax})] ] [ (#INCLURE{fond=prive/inc-ajouter-documents}{env}{ajax}) ]
]
    [(#TOTAL_BOUCLE|oui)[
  • (#GET{self}|parametre_url{extension,#EXTENSION}|aoustrong{#TITRE|concat{' (',#TOTAL_BOUCLE,')'},#ENV{extension}|=={#EXTENSION},ajax}) |
  • ]]

[(#GRAND_TOTAL|affiche_un_ou_plusieurs{#VAL{medias:un_}|concat{#ENV{media,document}},#VAL{medias:des_}|concat{#ENV{media,document},s}})]

[]
<:medias:id:> <:medias:logo:> <:medias:infos:> <:medias:descriptif:>
#ID_DOCUMENT [(#ID_DOCUMENT|medias_puce_statut_document{#STATUT})] [(#EXTENSION)] [
(#LARGEUR|?{[(#LARGEUR)[ x (#HAUTEUR) pixels]],''})
] [
(#TAILLE|taille_en_octets)
] [
(#DATE|affdate{d/m/Y})
] [(#TOTAL_BOUCLE|>{1}|oui) [(#TOTAL_BOUCLE|affiche_un_ou_plusieurs{medias:une_utilisation,medias:des_utilisations})]
] '}> [(#ID_OBJET|lien_objet{#OBJET})] [(#TOTAL_BOUCLE|>{1}|oui)
]
[(#TITRE|sinon{#VAL{}|concat{<:info_sans_titre:>,''}})] [
(#DESCRIPTIF)
] [

(#CREDITS)

]
[(#REM) Utilisation de la galerie en mode portfolio, avec renvoi vers l'edition] [(#GET{editable}) [(#AUTORISER{modifier,document,#ID_DOCUMENT})[<:bouton_modifier:>]] [(#AUTORISER{supprimer,document,#ID_DOCUMENT})[(#BOUTON_ACTION{<:medias:bouton_supprimer:>,#URL_ACTION_AUTEUR{supprimer_document,#ID_DOCUMENT,#SELF},ajax})]] ] [(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,galerie},data,''}})] [(#REM) Utilisation de la galerie en mode selecteur, avec un bouton choix qui appelle une fonction js passee en argument] [<:bouton_choisir:>]
[

(#PAGINATION{page})

] #SET{nb_orphelins,#GRAND_TOTAL}

[(#VAL{medias:aucun_}|concat{#ENV{media,document}}|_T)]

[(#ENV{orphelins}|et{#AUTORISER{supprimer,orphelins,'',#SESSION{id_auteur}}}) [(#INCLURE{fond=prive/bouton/inc-supprimer-orphelins,env,nb_orphelins=#GET{nb_orphelins}})] ]
PK9R\hE%prive/contenu/portfolio_document.htmlnuW+A[(#REM) Squelette (c) xxx Distribue sous licence GPL ] [ (#INCLURE{fond=formulaires/inc-portfolio_documents}{env}{ajax}) ] [ (#INCLURE{fond=prive/inc-ajouter-documents}{env}{ajax}) ] [ ] PK9R\})prive/bouton/inc-supprimer-orphelins.htmlnuW+A [(#SET{info_suppression,#VAL{<:medias:bouton_supprimer_tous_orphelins_confirmation:>}})] [(#REM) mettre directement la chaine de langue sous la forme <:medias:bouton_supprimer_tous_orphelins_confirmation{nb=#ENV{nb_orphelins}}:> ne fonctionne pas] [(#BOUTON_ACTION{<:medias:bouton_supprimer_tous_orphelins:>,[(#URL_ACTION_AUTEUR{supprimer_tous_orphelins,[(#ENV{media})]/[(#ENV{distant})]/[(#ENV{statut})]/[(#ENV{sanstitre})],#SELF})],ajax,[(#GET{info_suppression}|_T{#ARRAY{nb,#ENV{nb_orphelins}}})]})] PK9R\wC&&$prive/style_prive_plugin_medias.htmlnuW+A[(#REM) Ce squelette definit les styles de l'espace prive Note: l'entete "Vary:" sert a repousser l'entete par defaut "Vary: Cookie,Accept-Encoding", qui est (un peu) genant en cas de "rotation du cookie de session" apres un changement d'IP (effet de clignotement). ATTENTION: il faut absolument le charset sinon Firefox croit que c'est du text/html ! ]PK9R\{KJKJ$modalbox/jquery.simplemodal-1.3.3.jsnuW+A/* * SimpleModal 1.3.3 - jQuery Plugin * http://www.ericmmartin.com/projects/simplemodal/ * Copyright (c) 2009 Eric Martin (http://twitter.com/EricMMartin) * Dual licensed under the MIT and GPL licenses * Revision: $Id: jquery.simplemodal.js 228 2009-10-30 13:34:27Z emartin24 $ */ /** * SimpleModal is a lightweight jQuery plugin that provides a simple * interface to create a modal dialog. * * The goal of SimpleModal is to provide developers with a cross-browser * overlay and container that will be populated with data provided to * SimpleModal. * * There are two ways to call SimpleModal: * 1) As a chained function on a jQuery object, like $('#myDiv').modal();. * This call would place the DOM object, #myDiv, inside a modal dialog. * Chaining requires a jQuery object. An optional options object can be * passed as a parameter. * * @example $('
my data
').modal({options}); * @example $('#myDiv').modal({options}); * @example jQueryObject.modal({options}); * * 2) As a stand-alone function, like $.modal(data). The data parameter * is required and an optional options object can be passed as a second * parameter. This method provides more flexibility in the types of data * that are allowed. The data could be a DOM object, a jQuery object, HTML * or a string. * * @example $.modal('
my data
', {options}); * @example $.modal('my data', {options}); * @example $.modal($('#myDiv'), {options}); * @example $.modal(jQueryObject, {options}); * @example $.modal(document.getElementById('myDiv'), {options}); * * A SimpleModal call can contain multiple elements, but only one modal * dialog can be created at a time. Which means that all of the matched * elements will be displayed within the modal container. * * SimpleModal internally sets the CSS needed to display the modal dialog * properly in all browsers, yet provides the developer with the flexibility * to easily control the look and feel. The styling for SimpleModal can be * done through external stylesheets, or through SimpleModal, using the * overlayCss and/or containerCss options. * * SimpleModal has been tested in the following browsers: * - IE 6, 7, 8 * - Firefox 2, 3 * - Opera 9, 10 * - Safari 3, 4 * - Chrome 1, 2 * * @name SimpleModal * @type jQuery * @requires jQuery v1.2.2 * @cat Plugins/Windows and Overlays * @author Eric Martin (http://ericmmartin.com) * @version 1.3.3 */ ;(function ($) { var ie6 = $.browser.msie && parseInt($.browser.version) == 6 && typeof window['XMLHttpRequest'] != "object", ieQuirks = null, w = []; /* * Stand-alone function to create a modal dialog. * * @param {string, object} data A string, jQuery object or DOM object * @param {object} [options] An optional object containing options overrides */ $.modal = function (data, options) { return $.modal.impl.init(data, options); }; /* * Stand-alone close function to close the modal dialog */ $.modal.close = function () { $.modal.impl.close(); }; /* * Chained function to create a modal dialog. * * @param {object} [options] An optional object containing options overrides */ $.fn.modal = function (options) { return $.modal.impl.init(this, options); }; /* * SimpleModal default options * * appendTo: (String:'body') The jQuery selector to append the elements to. For ASP.NET, use 'form'. * focus: (Boolean:true) Forces focus to remain on the modal dialog * opacity: (Number:50) The opacity value for the overlay div, from 0 - 100 * overlayId: (String:'simplemodal-overlay') The DOM element id for the overlay div * overlayCss: (Object:{}) The CSS styling for the overlay div * containerId: (String:'simplemodal-container') The DOM element id for the container div * containerCss: (Object:{}) The CSS styling for the container div * dataId: (String:'simplemodal-data') The DOM element id for the data div * dataCss: (Object:{}) The CSS styling for the data div * minHeight: (Number:200) The minimum height for the container * minWidth: (Number:200) The minimum width for the container * maxHeight: (Number:null) The maximum height for the container. If not specified, the window height is used. * maxWidth: (Number:null) The maximum width for the container. If not specified, the window width is used. * autoResize: (Boolean:false) Resize container on window resize? Use with caution - this may have undesirable side-effects. * autoPosition: (Boolean:true) Reposition container on window resize? * zIndex: (Number: 1000) Starting z-index value * close: (Boolean:true) If true, closeHTML, escClose and overClose will be used if set. If false, none of them will be used. * closeHTML: (String:'') The HTML for the default close link. SimpleModal will automatically add the closeClass to this element. * closeClass: (String:'simplemodal-close') The CSS class used to bind to the close event * escClose: (Boolean:true) Allow Esc keypress to close the dialog? * overlayClose: (Boolean:false) Allow click on overlay to close the dialog? * position: (Array:null) Position of container [top, left]. Can be number of pixels or percentage * persist: (Boolean:false) Persist the data across modal calls? Only used for existing DOM elements. If true, the data will be maintained across modal calls, if false, the data will be reverted to its original state. * onOpen: (Function:null) The callback function used in place of SimpleModal's open * onShow: (Function:null) The callback function used after the modal dialog has opened * onClose: (Function:null) The callback function used in place of SimpleModal's close */ $.modal.defaults = { appendTo: 'body', focus: true, opacity: 50, overlayId: 'simplemodal-overlay', overlayCss: {}, containerId: 'simplemodal-container', containerCss: {}, dataId: 'simplemodal-data', dataCss: {}, minHeight: 200, minWidth: 300, maxHeight: null, maxWidth: null, autoResize: false, autoPosition: true, zIndex: 1000, close: true, closeHTML: '', closeClass: 'simplemodal-close', escClose: true, overlayClose: false, position: null, persist: false, onOpen: null, onShow: null, onClose: null }; /* * Main modal object */ $.modal.impl = { /* * Modal dialog options */ o: null, /* * Contains the modal dialog elements and is the object passed * back to the callback (onOpen, onShow, onClose) functions */ d: {}, /* * Initialize the modal dialog */ init: function (data, options) { var s = this; // don't allow multiple calls if (s.d.data) { return false; } // $.boxModel is undefined if checked earlier ieQuirks = $.browser.msie && !$.boxModel; // merge defaults and user options s.o = $.extend({}, $.modal.defaults, options); // keep track of z-index s.zIndex = s.o.zIndex; // set the onClose callback flag s.occb = false; // determine how to handle the data based on its type if (typeof data == 'object') { // convert DOM object to a jQuery object data = data instanceof jQuery ? data : $(data); // if the object came from the DOM, keep track of its parent if (data.parent().parent().size() > 0) { s.d.parentNode = data.parent(); // persist changes? if not, make a clone of the element if (!s.o.persist) { s.d.orig = data.clone(true); } } } else if (typeof data == 'string' || typeof data == 'number') { // just insert the data as innerHTML data = $('
').html(data); } else { // unsupported data type! alert('SimpleModal Error: Unsupported data type: ' + typeof data); return s; } // create the modal overlay, container and, if necessary, iframe s.create(data); data = null; // display the modal dialog s.open(); // useful for adding events/manipulating data in the modal dialog if ($.isFunction(s.o.onShow)) { s.o.onShow.apply(s, [s.d]); } // don't break the chain =) return s; }, /* * Create and add the modal overlay and container to the page */ create: function (data) { var s = this; // get the window properties w = s.getDimensions(); // add an iframe to prevent select options from bleeding through if (ie6) { s.d.iframe = $('') .css($.extend(s.o.iframeCss, { display: 'none', opacity: 0, position: 'fixed', height: w[0], width: w[1], zIndex: s.o.zIndex, top: 0, left: 0 })) .appendTo(s.o.appendTo); } // create the overlay s.d.overlay = $('
') .attr('id', s.o.overlayId) .addClass('simplemodal-overlay') .css($.extend(s.o.overlayCss, { display: 'none', opacity: s.o.opacity / 100, height: w[0], width: w[1], position: 'fixed', left: 0, top: 0, zIndex: s.o.zIndex + 1 })) .appendTo(s.o.appendTo); // create the container s.d.container = $('
') .attr('id', s.o.containerId) .addClass('simplemodal-container') .css($.extend(s.o.containerCss, { display: 'none', position: 'fixed', zIndex: s.o.zIndex + 2 })) .append(s.o.close && s.o.closeHTML ? $(s.o.closeHTML).addClass(s.o.closeClass) : '') .appendTo(s.o.appendTo); s.d.wrap = $('
') .attr('tabIndex', -1) .addClass('simplemodal-wrap') .css({height: '100%', outline: 0, width: '100%'}) .appendTo(s.d.container); // add styling and attributes to the data // append to body to get correct dimensions, then move to wrap s.d.data = data .attr('id', data.attr('id') || s.o.dataId) .addClass('simplemodal-data') .css($.extend(s.o.dataCss, { display: 'none' })) .appendTo('body'); data = null; s.setContainerDimensions(); s.d.data.appendTo(s.d.wrap); // fix issues with IE if (ie6 || ieQuirks) { s.fixIE(); } }, /* * Bind events */ bindEvents: function () { var s = this; // bind the close event to any element with the closeClass class $('.' + s.o.closeClass).bind('click.simplemodal', function (e) { e.preventDefault(); s.close(); }); // bind the overlay click to the close function, if enabled if (s.o.close && s.o.overlayClose) { s.d.overlay.bind('click.simplemodal', function (e) { e.preventDefault(); s.close(); }); } // bind keydown events $(document).bind('keydown.simplemodal', function (e) { if (s.o.focus && e.keyCode == 9) { // TAB s.watchTab(e); } else if ((s.o.close && s.o.escClose) && e.keyCode == 27) { // ESC e.preventDefault(); s.close(); } }); // update window size $(window).bind('resize.simplemodal', function () { // redetermine the window width/height w = s.getDimensions(); // reposition the dialog s.setContainerDimensions(true); if (ie6 || ieQuirks) { s.fixIE(); } else { // update the iframe & overlay s.d.iframe && s.d.iframe.css({height: w[0], width: w[1]}); s.d.overlay.css({height: w[0], width: w[1]}); } }); }, /* * Unbind events */ unbindEvents: function () { $('.' + this.o.closeClass).unbind('click.simplemodal'); $(document).unbind('keydown.simplemodal'); $(window).unbind('resize.simplemodal'); this.d.overlay.unbind('click.simplemodal'); }, /* * Fix issues in IE6 and IE7 in quirks mode */ fixIE: function () { var s=this, p = s.o.position; // simulate fixed position - adapted from BlockUI $.each([s.d.iframe || null, s.d.overlay, s.d.container], function (i, el) { if (el) { var bch = 'document.body.clientHeight', bcw = 'document.body.clientWidth', bsh = 'document.body.scrollHeight', bsl = 'document.body.scrollLeft', bst = 'document.body.scrollTop', bsw = 'document.body.scrollWidth', ch = 'document.documentElement.clientHeight', cw = 'document.documentElement.clientWidth', sl = 'document.documentElement.scrollLeft', st = 'document.documentElement.scrollTop', s = el[0].style; s.position = 'absolute'; if (i < 2) { s.removeExpression('height'); s.removeExpression('width'); s.setExpression('height','' + bsh + ' > ' + bch + ' ? ' + bsh + ' : ' + bch + ' + "px"'); s.setExpression('width','' + bsw + ' > ' + bcw + ' ? ' + bsw + ' : ' + bcw + ' + "px"'); } else { var te, le; if (p && p.constructor == Array) { var top = p[0] ? typeof p[0] == 'number' ? p[0].toString() : p[0].replace(/px/, '') : el.css('top').replace(/px/, ''); te = top.indexOf('%') == -1 ? top + ' + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"' : parseInt(top.replace(/%/, '')) + ' * ((' + ch + ' || ' + bch + ') / 100) + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"'; if (p[1]) { var left = typeof p[1] == 'number' ? p[1].toString() : p[1].replace(/px/, ''); le = left.indexOf('%') == -1 ? left + ' + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"' : parseInt(left.replace(/%/, '')) + ' * ((' + cw + ' || ' + bcw + ') / 100) + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"'; } } else { te = '(' + ch + ' || ' + bch + ') / 2 - (this.offsetHeight / 2) + (t = ' + st + ' ? ' + st + ' : ' + bst + ') + "px"'; le = '(' + cw + ' || ' + bcw + ') / 2 - (this.offsetWidth / 2) + (t = ' + sl + ' ? ' + sl + ' : ' + bsl + ') + "px"'; } s.removeExpression('top'); s.removeExpression('left'); s.setExpression('top', te); s.setExpression('left', le); } } }); }, focus: function (pos) { var s = this, p = pos || 'first'; // focus on dialog or the first visible/enabled input element var input = $(':input:enabled:visible:' + p, s.d.wrap); input.length > 0 ? input.focus() : s.d.wrap.focus(); }, getDimensions: function () { var el = $(window); // fix a jQuery/Opera bug with determining the window height var h = $.browser.opera && $.browser.version > '9.5' && $.fn.jquery <= '1.2.6' ? document.documentElement['clientHeight'] : $.browser.opera && $.browser.version < '9.5' && $.fn.jquery > '1.2.6' ? window.innerHeight : el.height(); return [h, el.width()]; }, getVal: function (v) { return v == 'auto' ? 0 : v.indexOf('%') > 0 ? v : parseInt(v.replace(/px/, '')); }, setContainerDimensions: function (resize) { var s = this; if (!resize || (resize && s.o.autoResize)) { // get the dimensions for the container and data var ch = s.getVal(s.d.container.css('height')), cw = s.getVal(s.d.container.css('width')), dh = s.d.data.outerHeight(true), dw = s.d.data.outerWidth(true); var mh = s.o.maxHeight && s.o.maxHeight < w[0] ? s.o.maxHeight : w[0], mw = s.o.maxWidth && s.o.maxWidth < w[1] ? s.o.maxWidth : w[1]; // height if (!ch) { if (!dh) {ch = s.o.minHeight;} else { if (dh > mh) {ch = mh;} else if (dh < s.o.minHeight) {ch = s.o.minHeight;} else {ch = dh;} } } else { ch = ch > mh ? mh : ch; } // width if (!cw) { if (!dw) {cw = s.o.minWidth;} else { if (dw > mw) {cw = mw;} else if (dw < s.o.minWidth) {cw = s.o.minWidth;} else {cw = dw;} } } else { cw = cw > mw ? mw : cw; } s.d.container.css({height: ch, width: cw}); if (dh > ch || dw > cw) { s.d.wrap.css({overflow:'auto'}); } } if (s.o.autoPosition) { s.setPosition(); } }, setPosition: function () { var s = this, top, left, hc = (w[0]/2) - (s.d.container.outerHeight(true)/2), vc = (w[1]/2) - (s.d.container.outerWidth(true)/2); if (s.o.position && Object.prototype.toString.call(s.o.position) === "[object Array]") { top = s.o.position[0] || hc; left = s.o.position[1] || vc; } else { top = hc; left = vc; } s.d.container.css({left: left, top: top}); }, watchTab: function (e) { var s = this; if ($(e.target).parents('.simplemodal-container').length > 0) { // save the list of inputs s.inputs = $(':input:enabled:visible:first, :input:enabled:visible:last', s.d.data[0]); // if it's the first or last tabbable element, refocus if ((!e.shiftKey && e.target == s.inputs[s.inputs.length -1]) || (e.shiftKey && e.target == s.inputs[0]) || s.inputs.length == 0) { e.preventDefault(); var pos = e.shiftKey ? 'last' : 'first'; setTimeout(function () {s.focus(pos);}, 10); } } else { // might be necessary when custom onShow callback is used e.preventDefault(); setTimeout(function () {s.focus();}, 10); } }, /* * Open the modal dialog elements * - Note: If you use the onOpen callback, you must "show" the * overlay and container elements manually * (the iframe will be handled by SimpleModal) */ open: function () { var s = this; // display the iframe s.d.iframe && s.d.iframe.show(); if ($.isFunction(s.o.onOpen)) { // execute the onOpen callback s.o.onOpen.apply(s, [s.d]); } else { // display the remaining elements s.d.overlay.show(); s.d.container.show(); s.d.data.show(); } s.focus(); // bind default events s.bindEvents(); }, /* * Close the modal dialog * - Note: If you use an onClose callback, you must remove the * overlay, container and iframe elements manually * * @param {boolean} external Indicates whether the call to this * function was internal or external. If it was external, the * onClose callback will be ignored */ close: function () { var s = this; // prevent close when dialog does not exist if (!s.d.data) { return false; } // remove the default events s.unbindEvents(); if ($.isFunction(s.o.onClose) && !s.occb) { // set the onClose callback flag s.occb = true; // execute the onClose callback s.o.onClose.apply(s, [s.d]); } else { // if the data came from the DOM, put it back if (s.d.parentNode) { // save changes to the data? if (s.o.persist) { // insert the (possibly) modified data back into the DOM s.d.data.hide().appendTo(s.d.parentNode); } else { // remove the current and insert the original, // unmodified data back into the DOM s.d.data.hide().remove(); s.d.orig.appendTo(s.d.parentNode); } } else { // otherwise, remove it s.d.data.hide().remove(); } // remove the remaining elements s.d.container.hide().remove(); s.d.overlay.hide().remove(); s.d.iframe && s.d.iframe.hide().remove(); // reset the dialog object s.d = {}; } } }; })(jQuery); PK9R\OTvvmodalbox/modal_closebox.pngnuW+APNG  IHDR;0 pHYs  gAMA cHRMmsql1?IDATxbdό?~`'czz: i~988?p?P  Y]]UCCHs-fyfffAfttt?|իW~P_  F2(!۱Z k`h>S^:ug`:7- t NPs ] xq0d5 "B)HPLLƍd_͜9󗛛7koo߿wHccc9` ̄ aBO]eժU@3~ ڹs`~A3g/(r!P1bWW04ϟ?0!}&d) ԶY>}@)))YP;@v1̷@#"""eݻ-0b)2e3q b P8@Algg`D_5J}ƈc11/?Y .ӧAf}-ހ7dˁ[7pEpB+//@1Pp(yxx XRRf֭X*@Yc?yCI߿T @( x߿,޽˗/(r?lLd)02C-f c|Ý;wX LڇwȆֲ `V3''' h把(Nг0}FJyNNXv`a"bB;ԟǏ TL7o9fd=˗W.]Z `>@MM-o\ %WTIz(:t >mg'ٽˀy<|I NHH-2D9Pd,;en`VHH(9%%e&,@j)X+H?a(Ķ@1#8I8'; $flux .=''; } return $flux; } ?> PK9R\jPPbase/medias.phpnuW+A'0')); // ecrire la version pour ne plus passer la ecrire_meta($nom_meta_base_version,$current_version="0.3",'non'); } if (version_compare($current_version,'0.4','<')){ // recalculer tous les statuts en tenant compte de la date de publi des articles... $res = sql_select('id_document','spip_documents',"statut='0'"); include_spip('action/editer_document'); while ($row = sql_fetch($res)) instituer_document($row['id_document']); ecrire_meta($nom_meta_base_version,$current_version="0.4",'non'); } if (version_compare($current_version,'0.5','<')){ // ajouter un champ sql_alter("TABLE spip_documents ADD brise tinyint DEFAULT 0"); // vider le cache des descriptions de tables $trouver_table = charger_fonction('trouver_table','base'); $trouver_table(false); ecrire_meta($nom_meta_base_version,$current_version="0.5",'non'); } if (version_compare($current_version,'0.6','<')){ sql_alter("TABLE spip_types_documents ADD media varchar(10) DEFAULT 'file' NOT NULL"); medias_check_type_media(); ecrire_meta($nom_meta_base_version,$current_version="0.6",'non'); } if (version_compare($current_version,'0.7','<')){ sql_alter("TABLE spip_documents ADD credits varchar(255) DEFAULT '' NOT NULL"); ecrire_meta($nom_meta_base_version,$current_version="0.7",'non'); } if (version_compare($current_version,'0.8','<')){ // reset des statut='0' pour forcer un recalcul de tous les statuts sql_updateq('spip_documents',array("statut"=>'0')); ecrire_meta($nom_meta_base_version,$current_version="0.8",'non'); } // version 0.9 n'avait pas DEFAULT '' sur le champ fichier if (version_compare($current_version,'0.10','<')){ // Augmentation de la taille du champ fichier pour permettre les URL longues sql_alter("TABLE spip_documents CHANGE fichier fichier TEXT NOT NULL DEFAULT ''"); ecrire_meta($nom_meta_base_version,$current_version="0.10",'non'); } if (version_compare($current_version,'0.11','<')){ // Passage du mode en varchar sql_alter("TABLE spip_documents CHANGE mode mode varchar(10) DEFAULT 'document' NOT NULL"); ecrire_meta($nom_meta_base_version,$current_version="0.11",'non'); } if (version_compare($current_version,'0.12','<')){ /** * On change le champs taille en bigint pour avoir des tailles de documents en base > 2Go */ sql_alter("TABLE spip_documents CHANGE `taille` `taille` bigint"); ecrire_meta($nom_meta_base_version,$current_version="0.12",'non'); } } medias_check_statuts(); medias_check_type_media(); } function medias_check_type_media(){ include_spip('base/abstract_sql'); // mettre a jour les bonnes valeurs // les cas evidents sql_updateq('spip_types_documents',array('media'=>'image'),"mime_type REGEXP '^image/'"); sql_updateq('spip_types_documents',array('media'=>'audio'),"mime_type REGEXP '^audio/'"); sql_updateq('spip_types_documents',array('media'=>'video'),"mime_type REGEXP '^video/'"); // les cas particuliers ... sql_updateq('spip_types_documents',array('media'=>'video'),"mime_type='application/ogg' OR mime_type='application/x-shockwave-flash'"); sql_updateq('spip_types_documents',array('media'=>'image'),"mime_type='application/illustrator'"); sql_updateq('spip_types_documents',array('media'=>'video'),"mime_type='application/mp4'"); // le plugin Vidéo(s) et toutes ses vidéos "distantes" sont des medias de type video sql_updateq('spip_types_documents',array('media'=>'video'),"extension REGEXP '^dist_'"); } function medias_check_statuts(){ $trouver_table = charger_fonction('trouver_table','base'); $desc = $trouver_table('documents'); if (!isset($desc['field']['statut'])) return; $docs = array_map('reset',sql_allfetsel('id_document','spip_documents',"statut='0'")); if (count($docs)){ include_spip('action/editer_document'); foreach($docs as $id_document) // mettre a jour le statut si necessaire instituer_document($id_document); } } function medias_install($action,$prefix,$version_cible){ $version_base = $GLOBALS[$prefix."_base_version"]; switch ($action){ case 'test': medias_check_statuts(); medias_check_type_media(); return (isset($GLOBALS['meta'][$prefix."_base_version"]) AND version_compare($GLOBALS['meta'][$prefix."_base_version"],$version_cible,">=")); break; case 'install': medias_upgrade('medias_base_version',$version_cible); break; case 'uninstall': //medias_vider_tables(); break; } } ?> PK9R\ >>javascript/jquery.MultiFile.jsnuW+A/* ### jQuery Multiple File Upload Plugin v1.31 - 2009-01-17 ### * Home: http://www.fyneworks.com/jquery/multiple-file-upload/ * Code: http://code.google.com/p/jquery-multifile-plugin/ * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html ### */ /*# AVOID COLLISIONS #*/ ;if(window.jQuery) (function($){ /*# AVOID COLLISIONS #*/ // extend jQuery - $.MultiFile hook $.extend($, { MultiFile: function( o /* Object */ ){ //return $("INPUT[type='file'].multi").MultiFile(o); return $("input:file.multi").MultiFile(o); } }); //=== // extend $.MultiFile - default options $.extend($.MultiFile, { options: { accept: '', max: -1, // error handling function error: function(s){ if($.blockUI){ $.blockUI({ message: s.replace(/\n/gi,'
'), css: { border:'none', padding:'15px', size:'12.0pt', backgroundColor:'#900', color:'#fff', opacity:'.8','-webkit-border-radius': '10px','-moz-border-radius': '10px' } }); window.setTimeout($.unblockUI, 2000); } else{ alert(s); } }, // namePattern: $name/$id (from master element), $i (slave count), $g (group count) namePattern: '$name', // STRING: collection lets you show messages in different languages STRING: { remove:'x', denied:'You cannot select a $ext file.\nTry again...', file:'$file', selected:'File selected: $file', duplicate:'This file has already been selected:\n$file' } } }); //=== // extend $.MultiFile - global methods $.extend($.MultiFile, { /** * This utility makes it easy to disable all 'empty' file elements in the document before submitting a form. * It marks the affected elements so they can be easily re-enabled after the form submission or validation. * * Returns a jQuery collection of all affected elements. * * @name disableEmpty * @type jQuery * @cat Plugins/Multifile * @author Diego A. (http://www.fyneworks.com/) * * @example $.MultiFile.disableEmpty(); * @param String class (optional) A string specifying a class to be applied to all affected elements - Default: 'mfD'. */ disableEmpty: function(klass){ var o = []; $('input:file').each(function(){ if($(this).val()=='') o[o.length] = this; }); return $(o).each(function(){ this.disabled = true }).addClass(klass || 'mfD'); }, /** * This method re-enables 'empty' file elements that were disabled (and marked) with the $.MultiFile.disableEmpty method. * * Returns a jQuery collection of all affected elements. * * @name reEnableEmpty * @type jQuery * @cat Plugins/Multifile * @author Diego A. (http://www.fyneworks.com/) * * @example $.MultiFile.reEnableEmpty(); * @param String klass (optional) A string specifying the class that was used to mark affected elements - Default: 'mfD'. */ reEnableEmpty: function(klass){ klass = klass || 'mfD'; return $('input:file.'+klass).removeClass(klass).each(function(){ this.disabled = false }); }, /** * This method will intercept other jQuery plugins and disable empty file input elements prior to form submission * * @name intercept * @cat Plugins/Multifile * @author Diego A. (http://www.fyneworks.com/) * * @example $.MultiFile.intercept(); * @param Array methods (optional) Array of method names to be intercepted */ autoIntercept: [ 'submit', 'ajaxSubmit', 'validate' /* array of methods to intercept */ ], intercepted: {}, intercept: function(methods, context, args){ var method, value; args = args || []; if(args.constructor.toString().indexOf("Array")<0) args = [ args ]; if(typeof(methods)=='function'){ $.MultiFile.disableEmpty(); value = methods.apply(context || window, args); $.MultiFile.reEnableEmpty(); return value; }; if(methods.constructor.toString().indexOf("Array")<0) methods = [methods]; for(var i=0;i0) /*IsNull(MF.max)*/){ o.max = MF.E.attr('maxlength'); if(!(o.max>0) /*IsNull(MF.max)*/){ o.max = (String(MF.e.className.match(/\b(max|limit)\-([0-9]+)\b/gi) || ['']).match(/[0-9]+/gi) || [''])[0]; if(!(o.max>0)) o.max = -1; else o.max = String(o.max).match(/[0-9]+/gi)[0]; } }; o.max = new Number(o.max); // limit extensions? o.accept = o.accept || MF.E.attr('accept') || ''; if(!o.accept){ o.accept = (MF.e.className.match(/\b(accept\-[\w\|]+)\b/gi)) || ''; o.accept = new String(o.accept).replace(/^(accept|ext)\-/i,''); }; //=== // APPLY CONFIGURATION $.extend(MF, o || {}); MF.STRING = $.extend({},$.MultiFile.options.STRING,MF.STRING); //=== //######################################### // PRIVATE PROPERTIES/METHODS $.extend(MF, { n: 0, // How many elements are currently selected? slaves: [], files: [], instanceKey: MF.e.id || 'MultiFile'+String(group_count), // Instance Key? generateID: function(z){ return MF.instanceKey + (z>0 ?'_F'+String(z):''); }, trigger: function(event, element){ var handler = MF[event], value = $(element).attr('value'); if(handler){ var returnValue = handler(element, value, MF); if( returnValue!=null ) return returnValue; } return true; } }); //=== // Setup dynamic regular expression for extension validation // - thanks to John-Paul Bader: http://smyck.de/2006/08/11/javascript-dynamic-regular-expresions/ if(String(MF.accept).length>1){ MF.rxAccept = new RegExp('\\.('+(MF.accept?MF.accept:'')+')$','gi'); }; //=== // Create wrapper to hold our file list MF.wrapID = MF.instanceKey+'_wrap'; // Wrapper ID? MF.E.wrap('
'); MF.wrapper = $('#'+MF.wrapID+''); //=== // MF MUST have a name - default: file1[], file2[], file3[] MF.e.name = MF.e.name || 'file'+ group_count +'[]'; //=== if(!MF.list){ // Create a wrapper for the list // * OPERA BUG: NO_MODIFICATION_ALLOWED_ERR ('list' is a read-only property) // this change allows us to keep the files in the order they were selected MF.wrapper.append( '' ); MF.list = $('#'+MF.wrapID+'_list'); }; MF.list = $(MF.list); //=== // Bind a new element MF.addSlave = function( slave, slave_count ){ // Keep track of how many elements have been displayed MF.n++; // Add reference to master element slave.MF = MF; // Count slaves slave.i = slave_count; // BUG FIX: http://plugins.jquery.com/node/1495 // Clear identifying properties from clones if(slave.i>0) slave.id = slave.name = null; // Define element's ID and name (upload components need this!) slave.id = slave.id || MF.generateID(slave.i); //slave.name = (slave.name || MF.E.attr('name') || 'file');// + (slave.i>0?slave.i:''); // same name as master element // 2008-Apr-29: New customizable naming convention (see url below) // http://groups.google.com/group/jquery-dev/browse_frm/thread/765c73e41b34f924# slave.name = String(MF.namePattern /*master name*/.replace(/\$name/gi,MF.E.attr('name')) /*master id */.replace(/\$id/gi, MF.E.attr('id')) /*group count*/.replace(/\$g/gi, (group_count>0?group_count:'')) /*slave count*/.replace(/\$i/gi, (slave_count>0?slave_count:'')) ); // Clear value $(slave).val('').attr('value','')[0].value = ''; // If we've reached maximum number, disable input slave if( (MF.max > 0) && ((MF.n-1) > (MF.max)) )//{ // MF.n Starts at 1, so subtract 1 to find true count slave.disabled = true; //}; // Remember most recent slave MF.current = MF.slaves[slave.i] = slave; // now let's use jQuery slave = $(slave); // Triggered when a file is selected $(slave).change(function(){ // Lose focus to stop IE7 firing onchange again $(this).blur(); //# Trigger Event! onFileSelect if(!MF.trigger('onFileSelect', this, MF)) return false; //# End Event! //# Retrive value of selected file from element var ERROR = '', v = String(this.value || ''/*.attr('value)*/); // check extension if(MF.accept && v && !v.match(MF.rxAccept))//{ ERROR = MF.STRING.denied.replace('$ext', String(v.match(/\.\w{1,4}$/gi))); //} //}; // Disallow duplicates for(var f in MF.slaves)//{ if(MF.slaves[f] && MF.slaves[f]!=this)//{ //console.log(MF.slaves[f],MF.slaves[f].value); if(MF.slaves[f].value==v)//{ ERROR = MF.STRING.duplicate.replace('$file', v.match(/[^\/\\]+$/gi)); //}; //}; //}; // Create a new file input element //var newEle = $(''); var newEle = $(MF.clone).clone();// Copy parent attributes - Thanks to Jonas Wagner //# Let's remember which input we've generated so // we can disable the empty ones before submission // See: http://plugins.jquery.com/node/1495 newEle.addClass('MultiFile'); // Handle error if(ERROR!=''){ // Handle error MF.error(ERROR); // Clear element value (DOES NOT WORK in some browsers) //slave.reset().val('').attr('value', '')[0].value = ''; // 2007-06-24: BUG FIX - Thanks to Adrian Wrbel // Ditch the trouble maker and add a fresh new element MF.n--; MF.addSlave(newEle[0], this.i); slave.parent().prepend(newEle); slave.remove(); return false; }; // Hide this element (NB: display:none is evil!) $(this).css({ position:'absolute', top: '-3000px' }); // Add new element to the form //MF.list.before(newEle);//.append(newEle); MF.wrapper.prepend(newEle);//.append(newEle); // Update list MF.addToList( this ); // Bind functionality MF.addSlave( newEle[0], this.i+1 ); //# Trigger Event! afterFileSelect if(!MF.trigger('afterFileSelect', this, MF)) return false; //# End Event! }); // slave.change() };// MF.addSlave // Bind a new element // Add a new file to the list MF.addToList = function( slave ){ //# Trigger Event! onFileAppend if(!MF.trigger('onFileAppend', slave, MF)) return false; //# End Event! // Create label elements var r = $('
'), v = String(slave.value || ''/*.attr('value)*/), a = $(''+MF.STRING.file.replace('$file', v.match(/[^\/\\]+$/gi)[0])+''), b = $(''+MF.STRING.remove+''); // Insert label MF.list.append( r.append(b, ' ', a)//.prepend(slave.i+': ') ); b.click(function(){ //# Trigger Event! onFileRemove if(!MF.trigger('onFileRemove', slave, MF)) return false; //# End Event! MF.n--; MF.current.disabled = false; // Remove element, remove label, point to current MF.slaves[slave.i] = null; $(slave).remove(); $(this).parent().remove(); // Show most current element again (move into view) and clear selection $(MF.current).css({ position:'', top: '' }); $(MF.current).reset().val('').attr('value', '')[0].value = ''; //# Trigger Event! afterFileRemove if(!MF.trigger('afterFileRemove', slave, MF)) return false; //# End Event! return false; }); //# Trigger Event! afterFileAppend if(!MF.trigger('afterFileAppend', slave, MF)) return false; //# End Event! }; // MF.addToList // Add element to selected files list // Bind functionality to the first element if(!MF.MF) MF.addSlave(MF.e, 0); // Increment control count //MF.I++; // using window.MultiFile MF.n++; }); // each element } // MultiFile function }); // extend jQuery function library /* ### Default implementation ### The plugin will attach itself to file inputs with the class 'multi' when the page loads */ $(function(){ $.MultiFile() }); /*# AVOID COLLISIONS #*/ })(jQuery); /*# AVOID COLLISIONS #*/ PK9R\H((#action/supprimer_tous_orphelins.phpnuW+APK9R\,4TT$action/verifier_documents_brises.phpnuW+A$brise),'id_document='.intval($row['id_document'])); } } ?>PK9R\vaO action/copier_local.phpnuW+A$fichier,'name'=>basename($fichier)); $ajouter_documents = charger_fonction('ajouter_documents','action'); spip_log("convertit doc $id_document en local: $source => $fichier"); $liste = array(); $ajouter_documents($id_document,$files,'',0,$row['mode'],$liste); spip_unlink($fichier); // ajouter l'origine du document aux credits include_spip('action/editer_document'); document_set($id_document,array('credits'=>($row['credits']?$row['credits'].', ':'').$source)); return true; } else { spip_log("echec copie locale $source"); } return _T('medias:erreur_copie_fichier',array('nom'=>$source)); } ?> PK9R\UU action/changer_mode_document.phpnuW+A$mode), 'id_document='.$id_document); } } ?> PK9R\.囄++action/ajouter_documents.phpnuW+A 'non' ); $type_image = ''; // au pire $champs['titre'] = ''; if ($titrer){ $titre = substr($nom_envoye,0, strrpos($nom_envoye, ".")); // Enlever l'extension du nom du fichier $titre = preg_replace(',[[:punct:][:space:]]+,u', ' ', $titre); $champs['titre'] = preg_replace(',\.([^.]+)$,', '', $titre); } if (!$fichier = fixer_fichier_upload($file)) return ("Impossible de telecharger le fichier"); $champs['inclus'] = $fichier['inclus']; $champs['extension'] = $fichier['extension']; $champs['fichier'] = $fichier['fichier']; $infos = renseigner_taille_dimension_image($champs['fichier'],$champs['extension']); if (is_string($infos)) return $infos; // c'est un message d'erreur ! $champs = array_merge($champs,$infos); // Si mode == 'choix', fixer le mode image/document if (in_array($mode,array('choix','auto'))) { $choisir_mode_document = charger_fonction('choisir_mode_document','inc'); $mode = $choisir_mode_document($champs, $champs['inclus'] == 'image', $objet); } $champs['mode'] = $mode; if (($test = verifier_taille_document_acceptable($champs))!==true){ spip_unlink($champs['fichier']); return $test; // erreur sur les dimensions du fichier } unset($champs['type_image']); unset($champs['inclus']); $champs['fichier'] = set_spip_doc($champs['fichier']); } // lier le parent si necessaire if ($id_objet=intval($id_objet) AND $objet) $champs['parents'][] = "$objet|$id_objet"; // "mettre a jour un document" si on lui // passe un id_document if ($id_document=intval($id_document)){ unset($champs['titre']); // garder le titre d'origine unset($champs['date']); // garder la date d'origine unset($champs['descriptif']); // garder la desc d'origine // unset($a['distant']); # on peut remplacer un doc statique par un doc distant // unset($a['mode']); # on peut remplacer une image par un document ? } include_spip('action/editer_document'); // Installer le document dans la base if (!$id_document){ $id_document = insert_document(); spip_log ("ajout du document ".$file['tmp_name']." ".$file['name']." (M '$mode' T '$objet' L '$id_objet' D '$id_document')"); } document_set($id_document,$champs); // permettre aux plugins de faire des modifs a l'ajout initial // ex EXIF qui tourne les images si necessaire pipeline('post_edition', array( 'args' => array( 'table' => 'spip_documents', // compatibilite 'table_objet' => 'documents', 'spip_table_objet' => 'spip_documents', 'type' =>'document', 'id_objet' => $id_document, 'champs' => array_keys($champs), 'serveur' => '', // serveur par defaut, on ne sait pas faire mieux pour le moment 'action' => 'ajouter_document', 'operation' => 'ajouter_document', // compat <= v2.0 ), 'data' => $champs ) ); return $id_document ; } if (!function_exists('corriger_extension')){ /** * Corrige l'extension du fichier dans quelques cas particuliers * (a passer dans ecrire/base/typedoc) * A noter : une extension 'pdf ' passe dans la requete de controle * mysql> SELECT * FROM spip_types_documents WHERE extension="pdf "; * * @param string $ext * @return string */ function corriger_extension($ext) { $ext = preg_replace(',[^a-z0-9],i', '', $ext); switch ($ext) { case 'htm': $ext='html'; break; case 'jpeg': $ext='jpg'; break; case 'tiff': $ext='tif'; break; } return $ext; } } /** * Verifie la possibilite d'uploader une extension * renvoie un tableau descriptif si l'extension est acceptee * une chaine 'zip' si il faut zipper * false si l'extension est refusee * */ function verifier_upload_autorise($source){ if (preg_match(",\.([^.]+)$,", $source, $match) AND $ext = $match[1]){ $ext = corriger_extension(strtolower($ext)); if ($row = sql_fetsel("extension,inclus", "spip_types_documents", "extension=" . sql_quote($ext) . " AND upload='oui'")) return $row; } if (sql_countsel("spip_types_documents", "extension='zip' AND upload='oui'")) return 'zip'; spip_log("Extension $ext interdite a l'upload"); return false; } /** * tester le type de document : * - interdit a l'upload ? * - quelle extension dans spip_types_documents ? * - est-ce "inclus" comme une image ? * * le zipper si necessaire * * @param array $file //format $_FILES * @return array */ function fixer_fichier_upload($file){ if (is_array($row=verifier_upload_autorise($file['name']))) { $row['fichier'] = copier_document($row['extension'], $file['name'], $file['tmp_name']); return $row; } // creer un zip comme demande // pour encapsuler un fichier dont l'extension n'est pas supportee elseif($row==='zip'){ $row = array('extension'=>'zip','inclus'=>false); $ext = 'zip'; if (!$tmp_dir = tempnam(_DIR_TMP, 'tmp_upload')) return false; spip_unlink($tmp_dir); @mkdir($tmp_dir); include_spip('inc/charset'); $tmp = $tmp_dir.'/'.translitteration($file['name']); $file['name'] .= '.zip'; # conserver l'extension dans le nom de fichier, par exemple toto.js => toto.js.zip // deplacer le fichier tmp_name dans le dossier tmp deplacer_fichier_upload($file['tmp_name'], $tmp, true); include_spip('inc/pclzip'); $source = _DIR_TMP . basename($tmp_dir) . '.zip'; $archive = new PclZip($source); $v_list = $archive->create($tmp, PCLZIP_OPT_REMOVE_PATH, $tmp_dir, PCLZIP_OPT_ADD_PATH, ''); effacer_repertoire_temporaire($tmp_dir); if (!$v_list) { spip_log("Echec creation du zip "); return false; } $row['fichier'] = copier_document($row['extension'], $file['name'], $source); spip_unlink($source); return $row; } return false; } function verifier_taille_document_acceptable($infos){ // si ce n'est pas une image if (!$infos['type_image']) { if (_DOC_MAX_SIZE > 0 AND $infos['taille'] > _DOC_MAX_SIZE*1024) return _T('medias:info_doc_max_poids', array('maxi' => taille_en_octets(_DOC_MAX_SIZE*1024), 'actuel' => taille_en_octets($infos['taille']))); if ($infos['mode'] == 'image') return _T('medias:erreur_format_fichier_image',array('nom'=> $infos['fichier'])); } // si c'est une image else { if (_IMG_MAX_SIZE > 0 AND $infos['taille'] > _IMG_MAX_SIZE*1024) return _T('medias:info_image_max_poids', array('maxi' => taille_en_octets(_IMG_MAX_SIZE*1024), 'actuel' => taille_en_octets($infos['taille']))); if (_IMG_MAX_WIDTH * _IMG_MAX_HEIGHT AND ($infos['largeur'] > _IMG_MAX_WIDTH OR $infos['hauteur'] > _IMG_MAX_HEIGHT)) return _T('info_logo_max_taille', array( 'maxi' => _T('info_largeur_vignette', array('largeur_vignette' => _IMG_MAX_WIDTH, 'hauteur_vignette' => _IMG_MAX_HEIGHT)), 'actuel' => _T('info_largeur_vignette', array('largeur_vignette' => $infos['largeur'], 'hauteur_vignette' => $infos['hauteur'])) )); } // verifier en fonction du mode si une fonction est proposee if ($verifier_document_mode = charger_fonction("verifier_document_mode_".$infos['mode'],"inc",true)) return $verifier_document_mode($infos); return true; } ?>PK9R\_:action/dissocier_document.phpnuW+A3 AND $arg[3]=='suppr') $suppr = true; if (count($arg)>4 AND $arg[4]=='safe') $check = true; if ($id_objet=intval($id_objet) AND ( ($id_objet<0 AND $id_objet==-$GLOBALS['visiteur_session']['id_auteur']) OR autoriser('modifier',$objet,$id_objet) )) dissocier_document($document, $objet, $id_objet, $suppr, $check); else spip_log("Interdit de modifier $objet $id_objet $document","spip"); } // http://doc.spip.org/@supprimer_lien_document function supprimer_lien_document($id_document, $objet, $id_objet, $supprime = false, $check = false) { if (!$id_document = intval($id_document)) return false; // D'abord on ne supprime pas, on dissocie sql_delete("spip_documents_liens", "id_objet=".intval($id_objet)." AND objet=".sql_quote($objet)." AND id_document=".$id_document); // Si c'est une vignette, l'eliminer du document auquel elle appartient // cas tordu peu probable sql_updateq("spip_documents", array('id_vignette' => 0), "id_vignette=".$id_document); pipeline('post_edition', array( 'args' => array( 'operation' => 'delier_document', 'table' => 'spip_documents', 'id_objet' => $id_document, 'objet' => $objet, 'id' => $id_objet ), 'data' => null ) ); if ($check) { // si demande, on verifie que ses documents vus sont bien lies ! $spip_table_objet = table_objet_sql($objet); $table_objet = table_objet($objet); $id_table_objet = id_table_objet($objet,$serveur); $champs = sql_fetsel('*',$spip_table_objet,addslashes($id_table_objet)."=".intval($id_objet)); $marquer_doublons_doc = charger_fonction('marquer_doublons_doc','inc'); $marquer_doublons_doc($champs,$id_objet,$objet,$id_table_objet,$table_objet,$spip_table_objet, '', $serveur); } // On supprime ensuite s'il est orphelin // et si demande // ici on ne bloque pas la suppression d'un document rattache a un autre if ($supprime AND !sql_countsel('spip_documents_liens', "objet!='document' AND id_document=".$id_document)){ $supprimer_document = charger_fonction('supprimer_document','action'); return $supprimer_document($id_document); } } function dissocier_document($document, $objet, $id_objet, $supprime = false, $check = false){ if ($id_document=intval($document)) { supprimer_lien_document($id_document, $objet, $id_objet, $supprime, $check); } else { list($image,$mode) = explode('/',$document); $image = ($image=='I'); $typdoc = sql_in('docs.extension', array('gif', 'jpg', 'png'), $image ? '' : 'NOT'); $obj = "id_objet=".intval($id_objet)." AND objet=".sql_quote($objet); $s = sql_select('docs.id_document', "spip_documents AS docs LEFT JOIN spip_documents_liens AS l ON l.id_document=docs.id_document", "$obj AND vu='non' AND docs.mode=".sql_quote($mode)." AND $typdoc"); while ($t = sql_fetch($s)) { supprimer_lien_document($t['id_document'], $objet, $id_objet, $supprime, $check); } } // pas tres generique ca ... if ($objet == 'rubrique') { include_spip('inc/rubriques'); depublier_branche_rubrique_if($id); } } ?> PK9R\P\00action/editer_document.phpnuW+A 'prop', 'date' => 'NOW()', ); // Envoyer aux plugins $champs = pipeline('pre_insertion', array( 'args' => array( 'table' => 'spip_documents', ), 'data' => $champs ) ); $id_document = sql_insertq("spip_documents", $champs); pipeline('post_insertion', array( 'args' => array( 'table' => 'spip_documents', 'id_objet' => $id_document ), 'data' => $champs ) ); return $id_document; } /** * Enregistre une revision de document. * $c est un contenu (par defaut on prend le contenu via _request()) * * @param int $id_document * @param array $c */ function document_set ($id_document, $c=false) { // champs normaux $champs = array(); foreach (array( 'titre', 'descriptif', 'date', 'taille', 'largeur','hauteur','mode','credits', 'fichier','distant','extension', 'id_vignette', ) as $champ) if (($a = _request($champ,$c)) !== null) $champs[$champ] = $a; // Si le document est publie, invalider les caches et demander sa reindexation $t = sql_getfetsel("statut", "spip_documents", 'id_document='.intval($id_document)); if ($t == 'publie') { $invalideur = "id='id_document/$id_document'"; $indexation = true; } $ancien_fichier = ""; // si le fichier est modifie, noter le nom de l'ancien pour faire le menage if (isset($champs['fichier'])){ $ancien_fichier = sql_getfetsel('fichier','spip_documents','id_document='.intval($id_document)); } include_spip('inc/modifier'); modifier_contenu('document', $id_document, array( 'invalideur' => $invalideur, 'indexation' => $indexation ), $champs); // nettoyer l'ancien fichier si necessaire if ($champs['fichier'] // un plugin a pu interdire la modif du fichier en virant le champ AND $ancien_fichier // on avait bien note le nom du fichier avant la modif AND $ancien_fichier!==$champs['fichier'] // et il a ete modifie AND @file_exists($f = get_spip_doc($ancien_fichier))) spip_unlink($f); // Changer le statut du document ? // le statut n'est jamais fixe manuellement mais decoule de celui des objets lies if(instituer_document($id_document,array('parents'=>_request('parents',$c),'ajout_parents'=>_request('ajout_parents',$c)))) { // // Post-modifications // // Invalider les caches include_spip('inc/invalideur'); suivre_invalideur("id='id_document/$id_document'"); } } /** * determiner le statut d'un document : prepa/publie * si on trouve un element joint sans champ statut ou avec un statut='publie' alors le doc est publie aussi * * @param int $id_document */ function instituer_document($id_document,$champs=array()){ $statut=isset($champs['statut'])?$champs['statut']:null; $date_publication = isset($champs['date_publication'])?$champs['date_publication']:null; if (isset($champs['parents'])) medias_revision_document_parents($id_document,$champs['parents']); if (isset($champs['ajout_parents'])) medias_revision_document_parents($id_document,$champs['ajout_parents'],true); $row = sql_fetsel("statut,date_publication", "spip_documents", "id_document=$id_document"); $statut_ancien = $row['statut']; $date_publication_ancienne = $row['date_publication']; if (is_null($statut)){ $statut = 'prepa'; $trouver_table = charger_fonction('trouver_table','base'); $res = sql_select('id_objet,objet','spip_documents_liens',"objet!='document' AND id_document=".intval($id_document)); // dans 10 ans, ca nous fera un bug a corriger vers 2018 // penser a ouvrir un ticket d'ici la :p $date_publication=time()+10*365*24*3600; while($row = sql_fetch($res)){ $table = table_objet_sql($row['objet']); $desc = $trouver_table($table); // si pas de champ statut, c'est un objet publie, donc c'est bon // si c'est une rubrique, c'est bon aussi, car un document publie une rubrique if (!isset($desc['field']['statut']) OR $row['objet']=='rubrique'){ $statut = 'publie'; $date_publication=0; continue; } $id_table = id_table_objet($row['objet']); $row2 = sql_fetsel('statut'.($table=='spip_articles'?",date":""),$table,$id_table.'='.intval($row['id_objet'])); if ($row2['statut']=='publie'){ $statut = 'publie'; // si ce n'est pas un article, c'est donc deja publie, on met la date a 0 if (!$row2['date']){ $date_publication=0; continue; } else { $date_publication = min($date_publication,strtotime($row2['date'])); } } } $date_publication = date('Y-m-d H:i:s',$date_publication); if ($statut=='publie' AND $statut_ancien=='publie' AND $date_publication==$date_publication_ancienne) return false; if ($statut!='publie' AND $statut_ancien!='publie' AND $statut_ancien!='0') return false; } if ($statut!==$statut_ancien OR $date_publication!=$date_publication_ancienne){ sql_updateq('spip_documents',array('statut'=>$statut,'date_publication'=>$date_publication),'id_document='.intval($id_document)); return true; } return false; } /** * Revision des parents d'un document * chaque parent est liste au format objet|id_objet * * @param unknown_type $id_document * @param unknown_type $parents */ function medias_revision_document_parents($id_document, $parents=null, $ajout=false){ if (!is_array($parents)) return; $insertions = array(); $cond = array(); // au format objet|id_objet foreach($parents as $p){ $p = explode('|',$p); if (preg_match('/^[a-z0-9_]+$/i', $objet=$p[0])){ // securite $insertions[] = array('id_document'=>$id_document,'objet'=>$p[0],'id_objet'=>$p[1]); $cond[] = "(id_objet=".intval($p[1])." AND objet=".sql_quote($p[0]).")"; } } if (!$ajout){ // suppression des parents obsoletes $cond_notin = "id_document=".intval($id_document).(count($cond)?" AND NOT(".implode(") AND NOT(",$cond).")":""); #$cond_in = "id_document=".intval($id_document).(count($cond)?" AND (".implode(" OR (",$cond).")":""); sql_delete("spip_documents_liens", $cond_notin); } foreach($insertions as $ins){ if (!sql_countsel('spip_documents_liens','id_document='.intval($ins['id_document'])." AND id_objet=".intval($ins['id_objet'])." AND objet=".sql_quote($ins['objet']))) sql_insertq('spip_documents_liens',$ins); } } ?> PK9R\ : action/supprimer_document.phpnuW+A 0)); } include_spip('inc/documents'); if (!$doc = sql_fetsel('*', 'spip_documents', 'id_document='.intval($id_document))) return false; spip_log("Suppression du document $id_document (".$doc['fichier'].")"); // Si c'est un document ayant une vignette, supprimer aussi la vignette if ($doc['id_vignette']) { action_supprimer_document_dist($doc['id_vignette']); sql_delete('spip_documents_liens', 'id_document='.$doc['id_vignette']); } // Si c'est un document ayant des documents annexes (sous-titre, ...) // les supprimer aussi $annexes = array_map('reset',sql_allfetsel("id_document","spip_documents_liens","objet='document' AND id_objet=".intval($id_document))); foreach($annexes as $id){ action_supprimer_document_dist($id); } // dereferencer dans la base sql_delete('spip_documents_liens', 'id_document='.intval($id_document)); sql_delete('spip_documents', 'id_document='.intval($id_document)); // Supprimer le fichier si le doc est local, // et la copie locale si le doc est distant if ($doc['distant'] == 'oui') { include_spip('inc/distant'); if ($local = _DIR_RACINE . copie_locale($doc['fichier'],'test')) spip_unlink($local); } else spip_unlink(get_spip_doc($doc['fichier'])); pipeline('post_edition', array( 'args' => array( 'operation' => 'supprimer_document', 'table' => 'spip_documents', 'id_objet' => $id_document ), 'data' => null ) ); } ?> PK9R\(laction/tourner.phpnuW+A 0) { $dest = preg_replace(',\.[^.]+$,', '-r'.$var_rot.'$0', $src); spip_log("rotation $var_rot $src : $dest"); include_spip('inc/filtres'); include_spip('public/parametrer'); // charger les fichiers fonctions #bugfix spip 2.1.0 $res = filtrer('image_rotation',$src,$var_rot); $res = filtrer('image_format',$res,$row['extension']); list($hauteur,$largeur) = taille_image($res); $res = extraire_attribut($res,'src'); include_spip('inc/getdocument'); deplacer_fichier_upload($res,$dest); } else { $dest = $src; $size_image = @getimagesize($dest); $largeur = $size_image[0]; $hauteur = $size_image[1]; } // succes ! if ($largeur>0 AND $hauteur>0) { $set = array( 'fichier' => set_spip_doc($dest), 'largeur'=>$largeur, 'hauteur'=>$hauteur, 'distant'=>'non' // le document n'est plus distant apres une transformation ); if ($taille = @filesize($dest)) $set['taille'] = $taille; sql_updateq('spip_documents', $set, "id_document=".intval($id_document)); if ($effacer) { spip_log("rotation : j'efface $effacer"); spip_unlink($effacer); } // pipeline pour les plugins pipeline('post_edition', array( 'args' => array( 'table' => 'spip_documents', 'table_objet' => 'documents', 'spip_table_objet' => 'spip_documents', 'type' =>'document', 'id_objet' => $id_document, 'champs' => array('rotation'=>$angle,'orientation'=>$var_rot,'fichier'=>$row['fichier']), 'serveur' => $serveur, 'action'=>'tourner', ), 'data' => $set ) ); } } // Appliquer l'EXIF orientation // cf. http://trac.rezo.net/trac/spip/ticket/1494 // http://doc.spip.org/@tourner_selon_exif_orientation function tourner_selon_exif_orientation($id_document, $fichier) { if (function_exists('exif_read_data') AND $exif = exif_read_data($fichier) AND ( $ort = $exif['IFD0']['Orientation'] OR $ort = $exif['Orientation']) ) { spip_log("rotation: $ort"); $rot = null; switch ($ort) { case 3: $rot = 180; case 6: $rot = 90; case 8: $rot = -90; } if ($rot) action_tourner_post($id_document, $rot); } } ?> PK9R\1Dexec/portfolio.phpnuW+A0),$_GET); $res = /*formulaire_recherche('portfolio').*/recuperer_fond('prive/galerie',$contexte); include_spip('inc/actions'); ajax_retour($res); return; } $commencer_page = charger_fonction('commencer_page','inc'); echo $commencer_page(_T('medias:documents')); echo gros_titre(_T('medias:documents'),'',false); echo debut_grand_cadre(true); echo formulaire_recherche('portfolio'); echo recuperer_fond('prive/galerie',$_GET); echo fin_grand_cadre(true),fin_page(); } ?>PK9R\qk55exec/documents_edit.phpnuW+A'',//generer_url_ecrire("portfolio"), 'new'=>$new == "oui"?$new:$id_document, 'parent'=>$parent, 'config_fonc'=>'documents_edit_config', 'fichier'=>$row['fichier'] ); include_spip('inc/actions'); // faire le retour ajax et le passer dans le pipeline "document_edit" // (sans s a document, pour preparer la migration vers l'extension medias de SPIP core) ajax_retour( pipeline('affiche_milieu', array('args'=>array('exec'=>'document_edit','id_document'=>$id_document), 'data'=>recuperer_fond("prive/editer/document_popup", $contexte)) ) ); return; } if ($new != 'oui') { $id_document=$row['id_document']; $titre=$row['titre']?$row['titre']:basename($row['fichier']); $statut=$row['statut']; } else { $titre = ""; $statut = "prop"; } $commencer_page = charger_fonction('commencer_page', 'inc'); pipeline('exec_init',array('args'=>array('exec'=>'documents_edit','id_document'=>$id_document),'data'=>'')); echo $commencer_page(_T('medias:titre_page_documents_edit', array('titre' => $titre)), "naviguer", "documents"); echo debut_gauche('', true); $boite = pipeline ('boite_infos', array('data' => '', 'args' => array( 'type'=>'document', 'id' => $id_document, 'row' => $row ) )); echo debut_boite_info(true). $boite . fin_boite_info(true); echo recuperer_fond("prive/navigation/documents_edit",array('id_document'=>$id_document)); echo pipeline('affiche_gauche',array('args'=>array('exec'=>'documents_edit','id_document'=>$id_document),'data'=>'')); echo creer_colonne_droite('', true); echo pipeline('affiche_droite',array('args'=>array('exec'=>'documents_edit','id_document'=>$id_document),'data'=>'')); echo debut_droite('', true); $redirect = _request('redirect') ? _request('redirect') : generer_url_ecrire("portfolio"); $contexte = array( 'icone_retour'=>$new=='oui'?'':icone_inline(_T('icone_retour'),$redirect, find_in_path("images/document-24.png"), "rien.gif",$GLOBALS['spip_lang_left']), 'redirect'=>_request('redirect',''),//generer_url_ecrire("portfolio"), 'titre'=>$titre, 'new'=>$new == "oui"?$new:$id_document, 'parent'=>$parent, 'config_fonc'=>'documents_edit_config' ); $milieu = recuperer_fond("prive/editer/document", $contexte); echo pipeline('affiche_milieu',array('args'=>array('exec'=>'documents_edit','id_document'=>$id_document),'data'=>$milieu)); echo fin_gauche(), fin_page(); } ?> PK9R\k$kkimages/article-12.pngnuW+APNG  IHDR agAMA7tEXtSoftwareAdobe ImageReadyqe<PLTEhhh}}}rrryyyzzzttr..,TTUXZNۼgepiAC4]]]蕕"1beZ򪩲ccckkkv}N _bO''&^aONPDDG*sssljwghhWWUE츸_j8CCĆSVNnmmߔvvvYWtRNSc5IDATx,E@Gpw)9t+5"G~N9( eB AkK'!o>>eS-95NiRf-&Y>1u)TbT<[)%k^u .pgg- YH_Afւv<"`R=\~sbBۨ׉bk(, ׵s9 eaB'x0 iv¥E}= xnˆ}%RpMs)❎ x\rE@| Eh@ظt6(CUE' p(v9}1,!;Ni#}G.B`{{ۿ&_& *`$ t]J2Q#/'r| A;_vɉYɞV2JtR1T Dc 766"2i, "mŲ2꧞ 5qdgdnnfZ Vp\QГzX,~@.HV}Bw6lhw8*-qjJj{RDUsCwR)=!4 GڜmEaq*W⇜i]CUI8_rsv`i[%:21IENDB`PK9R\-ejjimages/document-16.pngnuW+APNG  IHDRatEXtSoftwareAdobe ImageReadyqe< IDATxb9s/^3VYIP= 3۷ V )p@oݺ~aA樫u6(a0ڷ<wuf\.?~p\ ^{0:#?.Ř9u3ɣ 02051j-&O=&p $$@`M&por% d}t[7IENDB`PK9R\3Pimages/vu-16-10.pngnuW+APNG  IHDR `.tEXtSoftwareAdobe ImageReadyqe<PLTE778bbb777CCCaaa___񜜜]]dkkkPPPggz..5yyyuuu緷㌌BBBIIIhhhdddoo888<k`$zq I0䬨ɽ2 AMO8i&\5W i_h`n$9tfNߖg}~4L#T钌IjU[ΈB%88ms3qJ\ɞq*:xގ"&&&GK6wXteP !xTDϾ5;w`dgW4Qt_Cu4Bª1$Yl@qeڤ;t(?^?$BW_RZ~NQ$q7i]S<^o`Ô[ZF)K! q~$ 4`;DSIENDB`PK9R\\\images/document-vu-24.pngnuW+APNG  IHDRj tEXtSoftwareAdobe ImageReadyqe<bPLTE멪򨩦웹ﭮᬭ劚୯説Ǯſɐmzo|n|䎚񾾾򉘭my璤n{n{¿ꉔÉhsitģ缼rψ`vtRNSbGIDATxloP1`@":wwwwwwy?,GCC~Ր&zۿ+=x۵A5d༂j ?p D)3JQi{5Bp}&L ҴGBndK5y>=P=d#$2 ;}S ]^~IMӲրvΩF]\Z*8ve*9Mp_͗\izX:}|7y'@*9XNgIENDB`PK9R\bWdAAimages/document-manquant-24.pngnuW+APNG  IHDRשtEXtSoftwareAdobe ImageReadyqe<sPLTE綶˷᪫ʨㄆ%%찰ߟuu᜜]]iiꂄ̮㿿򦧤쫫NNⴴaa⺺cd~~촵--yy㪬㜝ÿqr硡ߍ^^ᰱBB00۫᫫˩lkȓᲳIIߝ݀⬬瞝ބ__빹CDYY~~𴴴ᡡߓppᱱ츸?>ȥxw<<"!ᥥ춶ߔwwLLލ⠟ggɶ쮯¿ي쳲ꈊ{tRNSJ IDATxb0\ w B%ΝG\R\llb,,,Hl\$!%$H\0$4, I11M3!!ĨXyG Iu$ , K̹JBZiȃH0qhXXy~Ʀw)A%xxDet6n_09+듹|҆g:]Ra xJg=HZmYfSf.;~UX ۦ?߽'*v-[WJYPq 5柒>1+Hg6qsdDEEe|zB$@@bjqc1  o!֠IENDB`PK9R\˨images/vu-16.pngnuW+APNG  IHDRatEXtSoftwareAdobe ImageReadyqe<IDATxԓJQh6$!P Z(BAa \DKq6z_E !\0h *i#I h8038|0ssν3-`,l (k`( |/x#[g08uglr9iFE,"ȤT* kt:-BwGui8O$z]T*ۦidb0"P.i,L`0 UU9Exe+ GWާ\Ґv .d2ClfU(PdW{8eoާ\ҠP nZh4 (A$MJY͖?o4u:~i6f<EыyPh5vxg8[sWDt:d^on{b,~\Tx3m`+ vxc0/@_XWyRJIENDB`PK9R\ۙinc/documenter_objet.phpnuW+A$type,'id_objet'=>$id); return recuperer_fond('prive/contenu/portfolio_document',array_merge($_GET,$contexte)); } } ?>PK9R\ {BBinc/vignette.phpnuW+APK9R\'ssinc/choisir_mode_document.phpnuW+A 0 AND $infos['largeur'] < _LARGEUR_MODE_IMAGE) return 'image'; else return 'document'; } ?>PK9R\+Pyy'inc/verifier_document_mode_vignette.phpnuW+A $infos['fichier'])); #SVG if (!($infos['largeur'] OR $infos['hauteur'])) return _T('medias:erreur_upload_vignette',array('nom'=>$infos['fichier'])); return true; }PK9R\ePeinc/renseigner_document.phpnuW+A$source)); } /** * Renseigner les informations de taille et dimenssion d'une image * * @param $fichier * @param $ext * @return */ function renseigner_taille_dimension_image($fichier,$ext){ $infos = array(); $infos['type_image'] = false; // Quelques infos sur le fichier if ( !$fichier OR !@file_exists($fichier) OR !$infos['taille'] = @intval(filesize($fichier))) { spip_log ("Echec copie du fichier $fichier"); return _T('medias:erreur_copie_fichier',array('nom'=> $fichier)); } // VIDEOS : Prevoir traitement specifique ? // (http://www.getid3.org/ peut-etre) if ($ext == "mov") { $infos['largeur'] = 0; $infos['hauteur'] = 0; } // SVG : recuperer les dimensions et supprimer les scripts elseif ($ext == "svg") { list($infos['largeur'],$infos['hauteur'])= traite_svg($fichier); } // image ? else { // Si c'est une image, recuperer sa taille et son type (detecte aussi swf) $size_image = @getimagesize($fichier); $infos['largeur'] = intval($size_image[0]); $infos['hauteur'] = intval($size_image[1]); $infos['type_image'] = decoder_type_image($size_image[2]); } return $infos; } if (!function_exists('traite_svg')){ /** * Determiner les dimensions d'un svg, et enlever ses scripts si necessaire * * @param string $file * @return array */ // http://doc.spip.org/@traite_svg function traite_svg($file) { $texte = spip_file_get_contents($file); // Securite si pas admin : virer les scripts et les references externes // sauf si on est en mode javascript 'ok' (1), cf. inc_version if ($GLOBALS['filtrer_javascript'] < 1 AND $GLOBALS['visiteur_session']['statut'] != '0minirezo') { include_spip('inc/texte'); $new = trim(safehtml($texte)); // petit bug safehtml if (substr($new,0,2) == ']>') $new = ltrim(substr($new,2)); if ($new != $texte) ecrire_fichier($file, $texte = $new); } $width = $height = 150; if (preg_match(',]+>,', $texte, $s)) { $s = $s[0]; if (preg_match(',\WviewBox\s*=\s*.\s*(\d+)\s+(\d+)\s+(\d+)\s+(\d+),i', $s, $r)){ $width = $r[3]; $height = $r[4]; } else { // si la taille est en centimetre, estimer le pixel a 1/64 de cm if (preg_match(',\Wwidth\s*=\s*.(\d+)([^"\']*),i', $s, $r)){ if ($r[2] != '%') { $width = $r[1]; if ($r[2] == 'cm') $width <<=6; } } if (preg_match(',\Wheight\s*=\s*.(\d+)([^"\']*),i', $s, $r)){ if ($r[2] != '%') { $height = $r[1]; if ($r[2] == 'cm') $height <<=6; } } } } return array($width, $height); } } if (!function_exists('decoder_type_image')){ /** * Convertit le type numerique retourne par getimagesize() en extension fichier * * @param int $type * @param bool $strict * @return string */ // http://doc.spip.org/@decoder_type_image function decoder_type_image($type, $strict = false) { switch ($type) { case 1: return "gif"; case 2: return "jpg"; case 3: return "png"; case 4: return $strict ? "" : "swf"; case 5: return "psd"; case 6: return "bmp"; case 7: case 8: return "tif"; default: return ""; } } } ?>PK9R\V$V$inc/joindre_document.phpnuW+Aarray_shift($file['error']), 'name'=>array_shift($file['name']), 'tmp_name'=>array_shift($file['tmp_name']), 'type'=>array_shift($file['type']), ); if (!($test['error'] == 4)){ if (is_string($err = joindre_upload_error($test['error']))) return $err; // un erreur upload if (!verifier_upload_autorise($test['name'])) return _T('medias:erreur_upload_type_interdit',array('nom'=>$test['name'])); $files[]=$test; } } } else { //UPLOAD_ERR_NO_FILE if (!($file['error'] == 4)){ if (is_string($err = joindre_upload_error($file['error']))) return $err; // un erreur upload if (!verifier_upload_autorise($file['name'])) return _T('medias:erreur_upload_type_interdit',array('nom'=>$file['name'])); $files[]=$file; } } } if (!count($files)) return _T('medias:erreur_indiquez_un_fichier'); } return $files; } elseif (_request('joindre_distant')){ $path = _request('url'); if (!strlen($path) OR $path=='http://') return _T('medias:erreur_indiquez_un_fichier'); include_spip('action/ajouter_documents'); $infos = renseigner_source_distante($path); if (!is_array($infos)) return $infos; // message d'erreur else return array( array( 'name' => basename($path), 'tmp_name' => $path, 'distant' => true, ) ); } elseif (_request('joindre_ftp')){ $path = _request('cheminftp'); if (!$path || strstr($path, '..')) return _T('medias:erreur_indiquez_un_fichier'); include_spip('inc/actions'); $upload = determine_upload(); if ($path != '/' AND $path != './') $upload .= $path; if (!is_dir($upload)) // seul un fichier est demande return array( array ( 'name' => basename($upload), 'tmp_name' => $upload ) ); else { // on upload tout un repertoire $files = array(); foreach (preg_files($upload) as $fichier) { $files[]= array ( 'name' => basename($fichier), 'tmp_name' => $fichier ); } return $files; } } elseif (_request('joindre_zip') AND $path = _request('chemin_zip')){ define('_tmp_zip', $path); define('_tmp_dir', creer_repertoire_documents(md5($path.$GLOBALS['visiteur_session']['id_auteur']))); if (_tmp_dir == _DIR_IMG) return _T('avis_operation_impossible'); $files = array(); if (_request('options_upload_zip')=='deballe') $files = joindre_deballer_lister_zip($path,_tmp_dir); // si le zip doit aussi etre conserve, l'ajouter if (_request('options_upload_zip')=='upload' OR _request('options_deballe_zip_conserver')){ $files[] = array( 'name' => basename($path), 'tmp_name' => $path, ); } return $files; } return array(); } // Erreurs d'upload // renvoie false si pas d'erreur // et true si erreur = pas de fichier // pour les autres erreurs renvoie le message d'erreur function joindre_upload_error($error) { if (!$error) return false; spip_log("Erreur upload $error -- cf. http://php.net/manual/fr/features.file-upload.errors.php"); switch ($error) { case 4: /* UPLOAD_ERR_NO_FILE */ return true; # on peut affiner les differents messages d'erreur case 1: /* UPLOAD_ERR_INI_SIZE */ $msg = _T('upload_limit', array('max' => ini_get('upload_max_filesize'))); break; case 2: /* UPLOAD_ERR_FORM_SIZE */ $msg = _T('upload_limit', array('max' => ini_get('upload_max_filesize'))); break; case 3: /* UPLOAD_ERR_PARTIAL */ $msg = _T('upload_limit', array('max' => ini_get('upload_max_filesize'))); break; default: /* autre */ if (!$msg) $msg = _T('pass_erreur').' '. $error . '
' . propre("[->http://php.net/manual/fr/features.file-upload.errors.php]"); break; } spip_log ("erreur upload $error"); return $msg; } /** * Verifier si le fichier poste est un zip * Si on sait le deballer, proposer les options necessaires * * @param array $files * @return string */ function joindre_verifier_zip($files){ if (function_exists('gzopen') AND (count($files) == 1) AND !isset($files[0]['distant']) AND (preg_match('/\.zip$/i', $files[0]['name']) OR ($files[0]['type'] == 'application/zip')) ){ // on pose le fichier dans le repertoire zip // (nota : copier_document n'ecrase pas un fichier avec lui-meme // ca autorise a boucler) include_spip('inc/getdocument'); $desc = $files[0]; $zip = copier_document("zip", $desc['name'], $desc['tmp_name'] ); // Est-ce qu'on sait le lire ? include_spip('inc/pclzip'); if ($zip AND $archive = new PclZip($zip) AND $contenu = joindre_decrire_contenu_zip($archive) AND rename($zip, $tmp = _DIR_TMP.basename($zip)) ){ $contenu[] = $tmp; return $contenu; } } // ce n'est pas un zip sur lequel il faut demander plus de precisions return false; } /** * Verifier et decrire les fichiers de l'archive, en deux listes : * - une liste des noms de fichiers ajoutables * - une liste des erreurs (fichiers refuses) * * @param object $zip * @return array */ function joindre_decrire_contenu_zip($zip) { include_spip('action/ajouter_documents'); if (!$list = $zip->listContent()) return false; // si pas possible de decompacter: installer comme fichier zip joint // Verifier si le contenu peut etre uploade (verif extension) $fichiers = array(); $erreurs = array(); foreach ($list as $file) { if (accepte_fichier_upload($f = $file['stored_filename'])) $fichiers[$f] = $file; else // pas de message pour les dossiers et fichiers caches if (substr($f,-1)!=='/' AND substr(basename($f),0,1)!=='.') $erreurs[] = _T('medias:erreur_upload_type_interdit',array('nom'=>$f)); } ksort($fichiers); return array($fichiers,$erreurs); } // http://doc.spip.org/@joindre_deballes function joindre_deballer_lister_zip($path,$tmp_dir) { include_spip('inc/pclzip'); $archive = new PclZip($path); $archive->extract( PCLZIP_OPT_PATH, _tmp_dir, PCLZIP_CB_PRE_EXTRACT, 'callback_deballe_fichier' ); if ($contenu = joindre_decrire_contenu_zip($archive)){ $files = array(); $fichiers = reset($contenu); foreach($fichiers as $fichier){ $f = basename($fichier['filename']); $files[] = array('tmp_name'=>$tmp_dir. $f,'name'=>$f,'titrer'=>_request('options_deballe_zip_titrer'),'mode'=>_request('options_deballe_zip_mode_document')?'document':null); } return $files; } return _T('avis_operation_impossible'); } if (!function_exists('fixer_extension_document')){ /** * Cherche dans la base le type-mime du tableau representant le document * et corrige le nom du fichier ; retourne array(extension, nom corrige) * s'il ne trouve pas, retourne '' et le nom inchange * * @param unknown_type $doc * @return unknown */ // http://doc.spip.org/@fixer_extension_document function fixer_extension_document($doc) { $extension = ''; $name = $doc['name']; if (preg_match(',[.]([^.]+)$,', $name, $r) AND $t = sql_fetsel("extension", "spip_types_documents", "extension=" . sql_quote(corriger_extension($r[1]))) ) { $extension = $t['extension']; $name = preg_replace(',[.][^.]*$,', '', $doc['name']).'.'.$extension; } else if ($t = sql_fetsel("extension", "spip_types_documents", "mime_type=" . sql_quote($doc['type']))) { $extension = $t['extension']; $name = preg_replace(',[.][^.]*$,', '', $doc['name']).'.'.$extension; } return array($extension,$name); } } ?>PK9R\ VVinc/documents.phpnuW+A c'est a ca que sert la variable $portfolio // http://doc.spip.org/@image_pattern // TO BE DELETED function image_pattern($vignette) { return " "; } // // Affiche le document avec sa vignette par defaut // // Attention : en mode 'doc', si c'est un fichier graphique on prefere // afficher une vue reduite, quand c'est possible (presque toujours, donc) // En mode 'image', l'image conserve sa taille // // A noter : dans le portfolio prive on pousse le vice jusqu'a reduire la taille // de la vignette -> c'est a ca que sert la variable $portfolio // http://doc.spip.org/@vignette_automatique // TO BE DELETED // utilise par ecrire/quete.php function vignette_automatique($img, $doc, $lien, $x=0, $y=0, $align='', $class='spip_logos') { include_spip('inc/distant'); include_spip('inc/filtres'); include_spip('inc/filtres_images_mini'); $e = $doc['extension']; if (!$img) { if ($img = image_du_document($doc)) { if (!$x AND !$y) // eviter une double reduction $img = image_reduire($img); } else{ $f = charger_fonction('vignette','inc'); $img = $f($e, false); $size = @getimagesize($img); $img = ""; } } else{ $size = @getimagesize($img); $img = ""; } // on appelle image_reduire independamment de la presence ou non // des librairies graphiques // la fonction sait se debrouiller et faire de son mieux dans tous les cas if ($x OR $y) { $img = image_reduire($img, $x, $y); } $img = inserer_attribut($img, 'alt', ''); $img = inserer_attribut($img, 'class', $class); if ($align) $img = inserer_attribut($img, 'align', $align); if (!$lien) return $img; $titre = supprimer_tags(typo($doc['titre'])); $titre = " - " .taille_en_octets($doc['taille']) . ($titre ? " - $titre" : ""); include_spip('base/abstract_sql'); $type = sql_fetsel('titre, mime_type','spip_types_documents', "extension = " . sql_quote($e)); $mime = $type['mime_type']; $titre = attribut_html(couper($type['titre'] . $titre, 80)); return "$img"; } // Trouve une image caracteristique d'un document. // Si celui-ci est une image et que les outils graphiques sont dispos, // retourner le document (en exploitant sa copie locale s'il est distant). // Autrement retourner la vignette fournie par SPIP pour ce type MIME // Resultat: un fichier local existant // TO BE DELETED // utilise par vignette_automatique() ci-dessus function image_du_document($document) { $e = $document['extension']; if ((strpos($GLOBALS['meta']['formats_graphiques'], $e) !== false) AND (!test_espace_prive() OR $GLOBALS['meta']['creer_preview']=='oui') AND $document['fichier']) { if ($document['distant'] == 'oui') { $image = _DIR_RACINE.copie_locale($document['fichier']); } else $image = get_spip_doc($document['fichier']); if (@file_exists($image)) return $image; } return ''; } // http://doc.spip.org/@document_et_vignette // TO BE DELETED // utilise par tourner() function document_et_vignette($document, $url, $portfolio=false) { $extension = $document['extension']; $vignette = $document['id_vignette']; if ($vignette) $vignette = sql_fetsel("*", "spip_documents", "id_document = ".$vignette); if ($vignette) { include_spip('inc/filtres'); $loc = get_spip_doc($vignette['fichier']); $image = filtrer('image_reduire', $loc, 120, 110, false, true); if ($loc == $image) $image = image_pattern($vignette); } else if (in_array($extension, explode(',', $GLOBALS['meta']['formats_graphiques'])) AND $GLOBALS['meta']['creer_preview'] == 'oui') { include_spip('inc/distant'); include_spip('inc/filtres'); // Si le document distant a une copie locale, on peut l'exploiter if ($document['distant'] == 'oui') { $image = _DIR_RACINE.copie_locale($document['fichier'], 'test'); } else { $image = get_spip_doc($document['fichier']); } if ($image) { if ($portfolio) { $image = filtrer('image_reduire', $image, 110, 120, false, true); } else { $image = filtrer('image_reduire', $image, -1,-1,false, true); } $image = inserer_attribut($image, "class", "miniature_document"); } } else { $image = ''; } if (!$image) { $f = charger_fonction('vignette','inc'); list($fichier, $largeur, $hauteur) = $f($extension); $image = " "; } else $image = inserer_attribut($image, 'alt', ' '); if (!$url) return $image; else { $t = sql_fetsel("mime_type", "spip_types_documents", "extension=".sql_quote($document['extension'])); return "$image"; } } // // Afficher un document dans la colonne de gauche // // http://doc.spip.org/@afficher_documents_colonne // TO BE DELETED function afficher_documents_colonne($id, $type="article",$script=NULL) { if (!is_array($GLOBALS['medias_exec_colonne_document']) OR !in_array(_request('exec'),$GLOBALS['medias_exec_colonne_document'])) $GLOBALS['medias_exec_colonne_document'][] = _request('exec'); return ""; include_spip('inc/autoriser'); // il faut avoir les droits de modif sur l'article pour pouvoir uploader ! if (!autoriser('joindredocument',$type,$id)) return ""; include_spip('inc/presentation'); // pour l'aide quand on appelle afficher_documents_colonne depuis un squelette // seuls cas connus : article, breve ou rubrique if ($script==NULL){ $script = $type.'s_edit'; if (!test_espace_prive()) $script = parametre_url(self(),"show_docs",''); } $id_document_actif = _request('show_docs'); $joindre = charger_fonction('joindre', 'inc'); define('_INTERFACE_DOCUMENTS', true); if (!_INTERFACE_DOCUMENTS OR $GLOBALS['meta']["documents_$type"]=='non') { // Ajouter nouvelle image $ret = "
\n" . $joindre(array( 'cadre' => 'relief', 'icone' => 'image-24.gif', 'fonction' => 'creer.gif', 'titre' => majuscules(_T('bouton_ajouter_image')).aide("ins_img"), 'script' => $script, 'args' => "id_$type=$id", 'id' => $id, 'intitule' => _T('info_telecharger'), 'mode' => 'image', 'type' => $type, 'ancre' => '', 'id_document' => 0, 'iframe_script' => generer_url_ecrire("documents_colonne","id=$id&type=$type",true) )) . '

'; if (!_INTERFACE_DOCUMENTS) { //// Images sans documents $res = sql_select("D.id_document", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "T.id_objet=" . intval($id) . " AND T.objet=" . sql_quote($type) . " AND D.mode='image'", "", "D.id_document"); $ret .= "\n
"; while ($doc = sql_fetch($res)) { $id_document = $doc['id_document']; $deplier = ($id_document_actif==$id_document); $ret .= afficher_case_document($id_document, $id, $script, $type, $deplier); } $ret .= "


\n"; } } /// Ajouter nouveau document $bouton = !_INTERFACE_DOCUMENTS ? majuscules(_T('bouton_ajouter_document')).aide("ins_doc") : (_T('bouton_ajouter_image_document')).aide("ins_doc"); $ret .= "
\n
\n"; if ($GLOBALS['meta']["documents_$type"]!='non') { $ret .= $joindre(array( 'cadre' => _INTERFACE_DOCUMENTS ? 'relief' : 'enfonce', 'icone' => 'doc-24.gif', 'fonction' => 'creer.gif', 'titre' => $bouton, 'script' => $script, 'args' => "id_$type=$id", 'id' => $id, 'intitule' => _T('info_telecharger'), 'mode' => _INTERFACE_DOCUMENTS ? 'choix' : 'document', 'type' => $type, 'ancre' => '', 'id_document' => 0, 'iframe_script' => generer_url_ecrire("documents_colonne","id=$id&type=$type",true) )); } // Afficher les documents lies $ret .= "
\n"; //// Documents associes $res = sql_select("D.id_document", "spip_documents AS D LEFT JOIN spip_documents_liens AS T ON T.id_document=D.id_document", "T.id_objet=" . intval($id) . " AND T.objet=" . sql_quote($type) . ((!_INTERFACE_DOCUMENTS) ? " AND D.mode='document'" : " AND D.mode IN ('image','document')" ), "", "D.mode, D.id_document"); while($row = sql_fetch($res)) $ret .= afficher_case_document($row['id_document'], $id, $script, $type, ($id_document_actif==$row['id_document'])); $ret .= "
"; if (test_espace_prive()){ $ret .= http_script('', "async_upload.js") . http_script('$("form.form_upload").async_upload(async_upload_article_edit)'); } return $ret; } // // Affiche le raccourci // et l'insere quand on le clique // // http://doc.spip.org/@affiche_raccourci_doc function affiche_raccourci_doc($doc, $id, $align) { static $num = 0; if ($align) { $pipe = "|$align"; if ($GLOBALS['browser_barre']) $onclick = "\nondblclick=\"barre_inserer('\\x3C$doc$id$pipe>', $('textarea[name=texte]')[0]);\"\ntitle=\"". str_replace('&', '&', entites_html(_T('double_clic_inserer_doc')))."\""; } else { $align='center'; } return ((++$num > 1) ? "" : http_script('', "spip_barre.js")) . "\n
<$doc$id$pipe>
\n"; } // Est-ce que le document est inclus dans le texte ? // http://doc.spip.org/@est_inclus // TO BE DELETED function est_inclus($id_document) { return isset($GLOBALS['doublons_documents_inclus']) ? in_array($id_document,$GLOBALS['doublons_documents_inclus']) : false; } // // Afficher un document sous forme de ligne depliable (pages xxx_edit) // // TODO: il y a du code a factoriser avec inc/documenter // http://doc.spip.org/@afficher_case_document // TO BE DELETED function afficher_case_document($id_document, $id, $script, $type, $deplier=false) { global $spip_lang_right; $document = sql_fetsel("docs.id_document, docs.id_vignette,docs.extension,docs.titre,docs.descriptif,docs.fichier,docs.largeur,docs.hauteur,docs.taille,docs.mode,docs.distant, docs.date, L.vu", "spip_documents AS docs INNER JOIN spip_documents_liens AS L ON L.id_document=docs.id_document", "L.id_objet=".intval($id)." AND objet=".sql_quote($type)." AND L.id_document=".sql_quote($id_document)); if (!$document) return ""; $id_vignette = $document['id_vignette']; $extension = $document['extension']; $titre = $document['titre']; $descriptif = $document['descriptif']; $url = generer_url_entite($id_document, 'document'); $fichier = $document['fichier']; $largeur = $document['largeur']; $hauteur = $document['hauteur']; $taille = $document['taille']; $mode = $document['mode']; $distant = $document['distant']; // le doc est-il appele dans le texte ? $doublon = est_inclus($id_document); $cadre = strlen($titre) ? $titre : basename($fichier); $letype = sql_fetsel("titre,inclus", "spip_types_documents", "extension=".sql_quote($extension)); if ($letype) { $type_inclus = $letype['inclus']; $type_titre = $letype['titre']; } // // Afficher un document // $ret = ""; if ($mode == 'document') { $ret .= debut_cadre_enfonce("doc-24.gif", true, "", lignes_longues(typo($cadre),20), "document$id_document"); $ret .= "\n"; if ($distant == 'oui') { $dist = "\n
"; // Signaler les documents distants par une icone de trombone $dist .= "\n\n"; // Bouton permettant de copier en local le fichier include_spip('inc/tourner'); $dist .= bouton_copier_local($document, $type, $id, $id_document, $script); $dist .="
\n"; } else { $dist = ''; } // // Affichage de la vignette // $ret .= "\n
" . $dist . document_et_vignette($document, $url, true) . '
' . "\n
\n" . ($type_titre ? $type_titre : ( _T('info_document').' '.majuscules($extension))) . "
"; // Affichage du raccourci correspondant $raccourci = ''; if ($doublon) $raccourci .= affiche_raccourci_doc('doc', $id_document, ''); else { if (($type_inclus == "embed" OR $type_inclus == "image") AND $largeur > 0 AND $hauteur > 0) { $raccourci .= ""._T('info_inclusion_vignette')."
"; } $raccourci .= "
" . affiche_raccourci_doc('doc', $id_document, 'left') . affiche_raccourci_doc('doc', $id_document, 'center') . affiche_raccourci_doc('doc', $id_document, 'right') . "
\n"; if (($type_inclus == "embed" OR $type_inclus == "image") AND $largeur > 0 AND $hauteur > 0) { $raccourci .= "
"; $raccourci .= ""._T('info_inclusion_directe')."
"; $raccourci .= "
" . affiche_raccourci_doc('emb', $id_document, 'left') . affiche_raccourci_doc('emb', $id_document, 'center') . affiche_raccourci_doc('emb', $id_document, 'right') . "
\n"; $raccourci .= "
"; } } $ret .= "\n
" . $raccourci."
\n"; $legender = charger_fonction('legender', 'inc'); $ret .= $legender($id_document, $document, $script, $type, $id, "document$id_document", $deplier); $ret .= fin_cadre_enfonce(true); } else if ($mode == 'image') { // // Afficher une image inserable dans l'article // $ret .= debut_cadre_relief("image-24.gif", true, "", lignes_longues(typo($cadre),20), "document$id_document"); // // Afficher un apercu (pour les images) // if ($type_inclus == 'image') { $ret .= "
\n"; $ret .= document_et_vignette($document, $url, true); $ret .= "
\n"; } // // Preparer le raccourci a afficher sous la vignette ou sous l'apercu // $raccourci = ""; if (strlen($descriptif) > 0 OR strlen($titre) > 0) $doc = 'doc'; else $doc = 'img'; if ($doublon) $raccourci .= affiche_raccourci_doc($doc, $id_document, ''); else { $raccourci .= affiche_raccourci_doc($doc, $id_document, 'left') . affiche_raccourci_doc($doc, $id_document, 'center') . affiche_raccourci_doc($doc, $id_document, 'right'); } $ret .= "\n
" . $raccourci."
\n"; $legender = charger_fonction('legender', 'inc'); $ret .= $legender($id_document, $document, $script, $type, $id, "document$id_document", $deplier); $ret .= fin_cadre_relief(true); } return "
$ret
"; // on encapsule chaque document dans un container pour permettre son remplacement en ajax } // Etablit la liste des documents orphelins, c'est-a-dire qui ne sont lies // a rien ; renvoie un tableau (id_document) // ici on ne join pas avec la table objet pour voir si l'objet existe vraiment // on considere que c'est le role d'optimiser que de nettoyer les liens morts // sinon eventuellement appeler avant une fonction nettoyer_liens_documents // http://doc.spip.org/@lister_les_documents_orphelins /* function lister_les_documents_orphelins() { $s = sql_select("d.id_document, d.id_vignette", "spip_documents AS d LEFT JOIN spip_documents_liens AS l ON d.id_document=l.id_document", "(l.id_objet IS NULL)"); $orphelins = array(); while ($t = sql_fetch($s)) { $orphelins[$t['id_document']] = true; // la vignette d'un orphelin est orpheline if ($t['id_vignette']) $orphelins[$t['id_vignette']] = true; } // les vignettes qui n'appartiennent a aucun document sont aussi orphelines $s = sql_select("v.id_document", "spip_documents AS v LEFT JOIN spip_documents AS d ON v.id_document=d.id_vignette", "v.mode='vignette' AND d.id_document IS NULL"); while ($t = sql_fetch($s)) $orphelins[$t['id_document']] = true; return array_keys(array_filter($orphelins)); } */ // Supprimer les documents de la table spip_documents, // ainsi que les fichiers correspondants dans IMG/ // Fonction a n'appeler que sur des documents orphelins // http://doc.spip.org/@supprimer_documents /* function supprimer_documents($liste = array()) { if (!count($liste)) return; $in = sql_in('id_document', $liste); // Supprimer les fichiers locaux et les copies locales // des docs distants $s = sql_select("fichier, distant", "spip_documents", $in); while ($t = sql_fetch($s)) { if ($t['distant'] == 'oui') { include_spip('inc/distant'); if ($local = copie_locale($t['fichier'], 'test')) spip_log("efface $local = ".$t['fichier']); supprimer_fichier($local); } else { if (@file_exists($f = get_spip_doc($t['fichier']))) { spip_log("efface $f"); supprimer_fichier($f); } } } // Supprimer les entrees dans spip_documents et associees sql_delete('spip_documents', $in); // en principe il ne devrait rien y avoir ici si les documents sont bien orphelins sql_delete('spip_documents_liens', $in); } */ ?> PK9R\n inc/marquer_doublons_doc.phpnuW+A 'non'), "id_objet=$id AND objet=".sql_quote($type)); if (count($GLOBALS['doublons_documents_inclus'])){ // on repasse par une requete sur spip_documents pour verifier que les documents existent bien ! $in_liste = sql_in('id_document', $GLOBALS['doublons_documents_inclus']); $res = sql_select("id_document", "spip_documents", $in_liste); while ($row = sql_fetch($res)) { // Creer le lien s'il n'existe pas deja if (sql_countsel("spip_documents_liens", "id_objet=$id AND objet=".sql_quote($type)." AND id_document=" . $row['id_document'])==0) { sql_insertq("spip_documents_liens", array('id_objet'=>$id, 'objet'=>$type, 'id_document' => $row['id_document'], 'vu' => 'oui')); } sql_updateq("spip_documents_liens", array("vu" => 'oui'), "id_objet=$id AND objet=".sql_quote($type)." AND id_document=" . $row['id_document']); } } } ?>PK9R\ByL L medias_pipelines.phpnuW+A$type,'id_objet'=>$id)); } return $flux; } function medias_objets_extensibles($objets){ return array_merge($objets, array('document' => _T('medias:objet_documents'))); } function medias_document_desc_actions($flux){ return $flux; } function medias_editer_document_actions($flux){ return $flux; }PK9R\<}Q plugin.xmlnuW+A [fr]Mediathèque [it]Gestione dei documenti [es]Gestión de los documentos [ar]مكتبة المستندات [en]Media library [de]Mediathek medias img_pack/portfolio-64.png [fr]Gérer vos documents de façon centralisée [en]Manage your documents in a centralized way [Cedric MORIN->http://www.yterium.net], [romy.tetue.net->http://romy.tetue.net], superyms--(traduction) 1.6.12 0.12 stable [fr]Outils de gestion des documents, avec page récapitulative listant tous les documents du site. [it]Utility di gestione dei documenti : una pagina che mostra tutti i documenti. [es]Utilidad de gestión de los documentos: una página que resume todos los documentos del sitio. [ar]أداة لإدارة المستندات من خلال صفحة جامعة تعرض كل المستندات من صور وملفات مكتبية ووسائط متعددة. [en]Document management tools, with summary page listing all the documents on the site. [de]Dokumentenverwaltung mit Übersichtsseite für alle Dokumente der Website und erweiterten Funktionen für Dokumente in Artikeln und Rubriken. http://www.spip-contrib.net/mediatheque base/medias.php medias_fonctions.php declarer_tables_interfaces base/medias.php declarer_tables_principales base/medias.php declarer_tables_auxiliaires base/medias.php post_edition medias_pipelines.php affiche_gauche medias_pipelines.php header_prive modalbox_insert_head modalbox/modalbox_pipelines.php autoriser medias_autoriser.php document_desc_actions medias_pipelines.php editer_document_actions medias_pipelines.php objets_extensibles medias_pipelines.php medias:documents img_pack/portfolio-24.png portfolio medias:documents images/portfolio-16.png portfolio multimedia PK9R\&Ghsquelettes/head/document.htmlnuW+A [(#TITRE|textebrut) - ][(#NOM_SITE_SPIP|textebrut)] [] [] PK9R\[mqsquelettes/document.htmlnuW+A PK9R\Pee squelettes/contenu/document.htmlnuW+A [(#REM) Fil d'Ariane ]

<:accueil_site:>> <:medias:objet_documents:>> [(#TITRE|sinon{<:info_sans_titre:>}|couper{80})]

[(#TITRE|sinon{<:info_sans_titre:>})]

[

(#FICHIER)

]

[(#DATE|nom_jour) ][(#DATE|affdate)][, (#CREDITS)]

[
(#CHAPO|image_reduire{500,0})
] [
(#DESCRIPTIF|image_reduire{500,0})
]
<:medias:label_caracteristiques:>
[(#TYPE_DOCUMENT) - ] [(#LARGEUR|ou{#HAUTEUR}|oui)[(#VAL{info_largeur_vignette}|_T{#ARRAY{largeur_vignette,#LARGEUR,hauteur_vignette,#HAUTEUR}})] - ][(#TAILLE|taille_en_octets|texte_backend)]
[(#EXTENSION|match{gif|png|jpg}|oui) [(#MODELE{img,align=center,embed=oui}|image_reduire{450,0})] ] [(#EXTENSION|match{gif|png|jpg}|non) #MODELE{doc,align=center} ] [

<:info_notes:>

(#NOTES)
] PK9R\zmodeles/doc.htmlnuW+A [(#REM) Modele pour en dl/dt/dd cf. http://pompage.net/pompe/listesdefinitions/ La largeur de la legende est egale a la largeur de l'image avec un minimum de 120px, et un maximum de 350px. Dans le cas d'une simple image (mode=image), on affiche le document lui-meme, sans lien de telechargement ] [(#MODE|=={image}|oui) #SET{fichier,#URL_DOCUMENT} #SET{width,#LARGEUR} #SET{height,#HAUTEUR} #SET{url,#ENV{lien}} ] [(#MODE|=={image}|non) [(#SET{fichier,[(#LOGO_DOCUMENT||extraire_attribut{src})]})] [(#SET{width,[(#LOGO_DOCUMENT||extraire_attribut{width})]})] [(#SET{height,[(#LOGO_DOCUMENT||extraire_attribut{height})]})] #SET{url,#ENV{lien,#URL_DOCUMENT}} ][(#ENV{largeur,0}|ou{#ENV{hauteur,0}}) #SET{fichier,#GET{fichier}|image_reduire{#ENV{largeur,0},#ENV{hauteur,0}}} #SET{width,#GET{fichier}|largeur} #SET{height,#GET{fichier}|hauteur} #SET{fichier,#GET{fichier}|extraire_attribut{src}} ]
[]#TYPE_DOCUMENT - [(#TAILLE|taille_en_octets|texte_backend)][(#GET{url}|?{})]
[
(#TITRE)
][
(#DESCRIPTIF|PtoBR)[(#NOTES|PtoBR)]
]
PK9R\Nmodeles/doc_legende.htmlnuW+A [(#REM) Modele pour en dl/dt/dd cf. http://pompage.net/pompe/listesdefinitions/ La largeur de la legende est egale a la largeur de l'image avec un minimum de 120px, et un maximum de 350px. Dans le cas d'une simple image (mode=image), on affiche le document lui-meme, sans lien de telechargement ] [(#MODE|=={image}|oui) #SET{fichier,#URL_DOCUMENT} #SET{width,#LARGEUR} #SET{height,#HAUTEUR} #SET{url,#ENV{lien}} ] [(#MODE|=={image}|non) [(#SET{fichier,[(#LOGO_DOCUMENT||extraire_attribut{src})]})] [(#SET{width,[(#LOGO_DOCUMENT||extraire_attribut{width})]})] [(#SET{height,[(#LOGO_DOCUMENT||extraire_attribut{height})]})] #SET{url,#ENV{lien,#URL_DOCUMENT}} ][(#ENV{largeur,0}|ou{#ENV{hauteur,0}}) #SET{fichier,#GET{fichier}|image_reduire{#ENV{largeur,0},#ENV{hauteur,0}}} #SET{width,#GET{fichier}|largeur} #SET{height,#GET{fichier}|hauteur} #SET{fichier,#GET{fichier}|extraire_attribut{src}} ]
[
(#TITRE|sinon{#FICHIER})
]
[][(#GET{url}|?{})]
#TYPE_DOCUMENT
[(#LARGEUR|ou{#HAUTEUR}|oui)[ (#VAL{info_largeur_vignette}|_T{#ARRAY{largeur_vignette,#LARGEUR,hauteur_vignette,#HAUTEUR}}) ] - ][(#TAILLE|taille_en_octets|texte_backend)]
PK9R\modeles/emb.htmlnuW+A [(#CHEMIN{modeles/emb_[(#EXTENSION)].html}|?{[(#INCLURE {fond=modeles/emb_[(#EXTENSION)]}{id=#ID_DOCUMENT}{env}{emb=' '} )],[(#MEDIA**|in_any{#ARRAY{0,'audio',1,'video',2,'image'}}|?{ [(#INCLURE{fond=modeles/#MEDIA}{id=#ID_DOCUMENT}{env}{emb=' '})], [(#INCLURE{fond=modeles/[(#MIME_TYPE|substr{0,[(#MIME_TYPE|strpos{/})]})]}{id=#ID_DOCUMENT}{env}{emb=' '})] })]})] PK9R\> modeles/document_desc.htmlnuW+A[(#REM) Squelette (c) xxx Distribue sous licence GPL ] #CACHE{3600*100}
[(#EXTENSION|match{gif|png|jpg}|oui) #SET{id,#ID_VIGNETTE|?{#ID_VIGNETTE,#ID_DOCUMENT}}
[(#BOUTON_ACTION{[(#CHEMIN{img_pack/tourner-gauche.gif}|balise_img{<:medias:tourner_90L:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',-90'},#SELF},ajax})] [(#BOUTON_ACTION{[(#CHEMIN{img_pack/tourner-droite.gif}|balise_img{<:medias:tourner_90R:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',90'},#SELF},ajax})] [(#BOUTON_ACTION{[(#CHEMIN{img_pack/tourner-180.gif}|balise_img{<:medias:tourner_180:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',180'},#SELF},ajax})]
] [(#LOGO_DOCUMENT{#URL_DOCUMENT,60,60})]

[(#VU|=={oui}|oui)<:medias:document_vu:> ] [(#FICHIER*|basename)] [[(#RANG). ](#TITRE|sinon{<:info_sans_titre:>})]

[(#DISTANT|=={oui}|oui)<:medias:fichier_distant:> ]<:info_numero_abbreviation:>#ID_DOCUMENT - #EXTENSION - [(#TAILLE|taille_en_octets)][[<:medias:voir_descriptif:>]]
[
(#INCLUS|=={image}|et{#EVAL{_BOUTON_MODE_IMAGE}}|oui) [(#MODE|=={image}|oui) [(#BOUTON_ACTION{<:medias:upload_info_mode_document:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-document,#SELF},ajax})] ][(#MODE|=={image}|non) [(#BOUTON_ACTION{<:medias:upload_info_mode_image:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-image,#SELF},ajax})] ]
]
<:medias:bouton_refresh_document:> [(#TOTAL_BOUCLE|=={1}|et{#AUTORISER{modifier,#OBJET,#ID_OBJET}})[(#BOUTON_ACTION{<:medias:bouton_enlever_supprimer_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT-suppr-safe,#SELF},ajax,<:medias:bouton_enlever_supprimer_document_confirmation:>})]|] [(#AUTORISER{modifier,#OBJET,#ID_OBJET})[(#BOUTON_ACTION{<:medias:bouton_enlever_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT--safe,#SELF},ajax})]|] <:medias:bouton_modifier_document:> [(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,document_desc},data,''}})]
PK9R\kxa#modeles/document_case_fonctions.phpnuW+A correspondant if ($vu=='oui') $raccourci = affiche_raccourci_doc($doc, $id_document, ''); else { $raccourci = affiche_raccourci_doc($doc, $id_document, 'left') . affiche_raccourci_doc($doc, $id_document, 'center') . affiche_raccourci_doc($doc, $id_document, 'right'); if ($mode=='document' AND ($inclus == "embed" OR $inclus == "image") AND $largeur > 0 AND $hauteur > 0) { $raccourci = ""._T('info_inclusion_vignette')."" . $raccourci . ""._T('info_inclusion_directe')."" . affiche_raccourci_doc('emb', $id_document, 'left') . affiche_raccourci_doc('emb', $id_document, 'center') . affiche_raccourci_doc('emb', $id_document, 'right'); } } return "
".$raccourci."
"; } ?> PK9R\e modeles/document_case.htmlnuW+A[(#REM) Squelette (c) xxx Distribue sous licence GPL ] #CACHE{3600*100}

[(#FICHIER*|basename)] [(#TITRE|sinon{<:info_sans_titre:>})] [(#CHEMIN{#MODE|=={image}|?{images/image-24.gif,images/doc-24.gif}}|balise_img{'',cadre-icone})]

[(#EXTENSION|match{gif|png|jpg}|oui) #SET{id,#ID_VIGNETTE|?{#ID_VIGNETTE,#ID_DOCUMENT}}
[(#BOUTON_ACTION{[(#CHEMIN{img_pack/tourner-gauche.gif}|balise_img{<:medias:tourner_90L:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',-90'},#SELF},ajax})] [(#BOUTON_ACTION{[(#CHEMIN{img_pack/tourner-droite.gif}|balise_img{<:medias:tourner_90R:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',90'},#SELF},ajax})] [(#BOUTON_ACTION{[(#CHEMIN{img_pack/tourner-180.gif}|balise_img{<:medias:tourner_180:>})],#URL_ACTION_AUTEUR{tourner,#GET{id}|concat{',180'},#SELF},ajax})]
] [(#LOGO_DOCUMENT{#URL_DOCUMENT}|image_reduire{150,150})] [(#MODE|=={document}|oui)
[(#TITRE|sinon{#VAL{<:info_document:>}|concat{' ',#EXTENSION|majuscules}})]
] [(#ID_DOCUMENT|medias_raccourcis_doc{#_docslies:TITRE*,#_docslies:DESCRIPTIF*,#INCLUS,#LARGEUR,#HAUTEUR,#MODE,#VU})] [
(#INCLUS|=={image}|et{#EVAL{_BOUTON_MODE_IMAGE}}|oui) [(#MODE|=={image}|oui) [(#BOUTON_ACTION{<:medias:upload_info_mode_document:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-document,#SELF},ajax})] ][(#MODE|=={image}|non) [(#BOUTON_ACTION{<:medias:upload_info_mode_image:>,#URL_ACTION_AUTEUR{changer_mode_document,#ID_DOCUMENT-image,#SELF},ajax})] ]
]
<:medias:bouton_refresh_document:> [(#TOTAL_BOUCLE|=={1}|et{#AUTORISER{modifier,#OBJET,#ID_OBJET}})[(#BOUTON_ACTION{<:medias:bouton_enlever_supprimer_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT-suppr,#SELF},ajax,<:medias:bouton_enlever_supprimer_document_confirmation:>})]|] [(#ID_OBJET|<{0}|ou{#AUTORISER{modifier,#OBJET,#ID_OBJET}})[(#BOUTON_ACTION{<:medias:bouton_enlever_document:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-#ID_DOCUMENT,#SELF},ajax})]|] <:medias:bouton_modifier_document:> [(#PIPELINE{document_desc_actions,#ARRAY{args,#ARRAY{id_document,#ID_DOCUMENT,position,document_case},data,''}})]
PK9R\aSS svn.revisionnuW+APK9R\rimg_pack/portfolio-24.pngnuW+APK9R\CZimg_pack/video-32.pngnuW+APK9R\img_pack/photo-22.pngnuW+APK9R\img_pack/audio-16.pngnuW+APK9R\cp img_pack/portfolio-64.pngnuW+APK9R\6<77"img_pack/video-16.pngnuW+APK9R\8\\X&img_pack/audio-32.pngnuW+APK9R\(.aa*img_pack/tourner-gauche.gifnuW+APK9R\" ``+img_pack/photo-16.pngnuW+APK9R\79J/img_pack/audio-22.pngnuW+APK9R\h``,3img_pack/decroissant-16.pngnuW+APK9R\??6img_pack/video-22.pngnuW+APK9R\=P;img_pack/photo-32.pngnuW+APK9R\AJCimg_pack/unreadable-22.pngnuW+APK9R\p hh/Gimg_pack/tourner-180.gifnuW+APK9R\f::Gimg_pack/portfolio-128.pngnuW+APK9R\yycdimg_pack/croissant-16.pngnuW+APK9R\ tt%gimg_pack/distant-16.pngnuW+APK9R\/cckimg_pack/tourner-droite.gifnuW+APK9R\ (''limg_pack/distant-22.pngnuW+APK9R\433qlang/medias_sk.phpnuW+APK9R\xcɻqlang/medias_en.phpnuW+APK9R\m&N00nlang/medias_ar.phpnuW+APK9R\CEElang/medias_es.phpnuW+APK9R\lang/medias_fr.phpnuW+APK9R\GH/lang/medias_de.phpnuW+APK9R\Ώ_prive/infos/document.htmlnuW+APK9R\d II"7!prive/editer/colonne_document.htmlnuW+APK9R\C66"prive/editer/document.htmlnuW+APK9R\i GG R$prive/editer/document_popup.htmlnuW+APK9R\?)%prive/themes/spip/images/portfolio-16.pngnuW+APK9R\!ww$)prive/navigation/documents_edit.htmlnuW+APK9R\ZFII,prive/galerie.htmlnuW+APK9R\fɑ .prive/inc-ajouter-documents.htmlnuW+APK9R\țyy-0prive/inc-galerie.htmlnuW+APK9R\hE%Nprive/contenu/portfolio_document.htmlnuW+APK9R\})Pprive/bouton/inc-supprimer-orphelins.htmlnuW+APK9R\wC&&$ Tprive/style_prive_plugin_medias.htmlnuW+APK9R\~3D uzmedias_fonctions.phpnuW+APK9R\80medias_autoriser.phpnuW+APK9R\el#formulaires/illustrer_document.htmlnuW+APK9R\ ͜formulaires/editer_document.htmlnuW+APK9R\4_>)formulaires/changer_fichier_document.htmlnuW+APK9R\ގb1(1( ̺formulaires/joindre_document.phpnuW+APK9R\8 Bx x "Mformulaires/illustrer_document.phpnuW+APK9R\dM!formulaires/joindre_document.htmlnuW+APK9R\Y*formulaires/inc-lister_archive_jointe.htmlnuW+APK9R\P+66formulaires/editer_document.phpnuW+APK9R\$@k k (|formulaires/inc-portfolio_documents.htmlnuW+APK9R\߲~&$?&formulaires/inc-upload_document.htmlnuW+APK9R\<ڳ(,Fformulaires/changer_fichier_document.phpnuW+APK9R\,&}Oformulaires/inc-colonne_documents.htmlnuW+APK9R\X)Smodalbox/style_prive_plugin_modalbox.htmlnuW+APK9R\{KJKJ$Zmodalbox/jquery.simplemodal-1.3.3.jsnuW+APK9R\OTvvmodalbox/modal_closebox.pngnuW+APK9R\2?iccEmodalbox/modalbox.jsnuW+APK9R\~xqqmodalbox/modalbox_pipelines.phpnuW+APK9R\jPPbase/medias.phpnuW+APK9R\ >>;javascript/jquery.MultiFile.jsnuW+APK9R\H((#c action/supprimer_tous_orphelins.phpnuW+APK9R\,4TT$action/verifier_documents_brises.phpnuW+APK9R\vaO action/copier_local.phpnuW+APK9R\UU action/changer_mode_document.phpnuW+APK9R\.囄++_$action/ajouter_documents.phpnuW+APK9R\_:/Paction/dissocier_document.phpnuW+APK9R\P\00aaction/editer_document.phpnuW+APK9R\ :  ~action/supprimer_document.phpnuW+APK9R\(l action/tourner.phpnuW+APK9R\1Dexec/portfolio.phpnuW+APK9R\qk55exec/documents_edit.phpnuW+APK9R\k$kk<images/article-12.pngnuW+APK9R\[images/document-32.pngnuW+APK9R\M݌ɳimages/document-24.pngnuW+APK9R\-ejjimages/document-16.pngnuW+APK9R\3PKimages/vu-16-10.pngnuW+APK9R\V]hhimages/document-distant-24.pngnuW+APK9R\\\?images/document-vu-24.pngnuW+APK9R\bWdAAimages/document-manquant-24.pngnuW+APK9R\˨timages/vu-16.pngnuW+APK9R\ۙinc/documenter_objet.phpnuW+APK9R\ {BBinc/vignette.phpnuW+APK9R\'ss/inc/choisir_mode_document.phpnuW+APK9R\+Pyy'inc/verifier_document_mode_vignette.phpnuW+APK9R\ePeinc/renseigner_document.phpnuW+APK9R\V$V$inc/joindre_document.phpnuW+APK9R\ VV)inc/documents.phpnuW+APK9R\n ]uinc/marquer_doublons_doc.phpnuW+APK9R\ByL L medias_pipelines.phpnuW+APK9R\<}Q plugin.xmlnuW+APK9R\&Ghsquelettes/head/document.htmlnuW+APK9R\[mqesquelettes/document.htmlnuW+APK9R\Pee =squelettes/contenu/document.htmlnuW+APK9R\zmodeles/doc.htmlnuW+APK9R\N"modeles/doc_legende.htmlnuW+APK9R\Wmodeles/emb.htmlnuW+APK9R\> Pmodeles/document_desc.htmlnuW+APK9R\kxa#modeles/document_case_fonctions.phpnuW+APK9R\e modeles/document_case.htmlnuW+APKcc"!