From 754c5a0d2e6c88db3232346425cb11739911563e Mon Sep 17 00:00:00 2001 From: profiteroles Date: Wed, 16 Oct 2019 03:41:42 -0700 Subject: [PATCH] 0.8.0.1 --- CHANGELOG.md | 6 + MainMenu.nib/designable.nib | 2 +- MainMenu.nib/keyedobjects.nib | Bin 42930 -> 42930 bytes README.md | 2 +- Tester.zip | Bin 68649084 -> 68649416 bytes Yuba.app.zip | Bin 43871681 -> 43872142 bytes Yuba.php | 200 +++++++--------------------------- current_version.txt | 2 +- filetypes.php | 44 ++++++++ helper.php | 113 ++++++++++++++++--- web/rtc.php | 58 +++------- 11 files changed, 202 insertions(+), 225 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2fe461c..26ba2a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Changelog All notable changes to this project will be documented in this file. Older changes are summarized on individual commits. +## [0.8.0.1] +- Move batchfile generation to Prescan +- Rewrite batchfile generation (batch now handles files, links, dirs) +- Rewrite spotlight and move to batch +- Replace directory previews with flacdiricon tool + ## [0.8.0.0] - Refactor for thumb/icon "modes" - Integrate ql-icon diff --git a/MainMenu.nib/designable.nib b/MainMenu.nib/designable.nib index 1a4ec07..770b5c8 100644 --- a/MainMenu.nib/designable.nib +++ b/MainMenu.nib/designable.nib @@ -55,7 +55,7 @@ - + diff --git a/MainMenu.nib/keyedobjects.nib b/MainMenu.nib/keyedobjects.nib index 5697209a01b7a7bbdd5dd2959f2af5344536f4bf..1b4187b078d595be66e538d261d883fb72f36f2e 100644 GIT binary patch delta 23 dcmdmVo@vv0rVV)-j24^oHP%Z5DS4O4$pCbp2;Tqz delta 23 dcmdmVo@vv0rVV)-j7FRDHP%Z5DS4O4$pCaM2-5%n diff --git a/README.md b/README.md index 8d651ba..be9b2f2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ **Yuba** generates web-browsable catalogues from locally attached HFS+ filesystems. Its client application gathers forensic-quality data about a volume, properly interpreting bundles, reading Spotlight data, Finder flags, labels, and other contextual information. It can generate hashes, thumbnails, and gather 3rd party metadata with exiftool and mediainfo. Yuba's SQLite catalogues are comprehensive, lightweight, optimized for massive (1 million+) trees, and reflect incremental changes to contents and metadata. A server-side PHP script is provided, which allows familiar, Finder-style browsing of a catalogue. -####[⇩ Download Yuba 0.8.0.0](https://www.profiteroles.org/git/p/Yuba/raw/master/Yuba.app.zip) ([Changelog](CHANGELOG.md)) +####[⇩ Download Yuba 0.8.0.1](https://www.profiteroles.org/git/p/Yuba/raw/master/Yuba.app.zip) ([Changelog](CHANGELOG.md)) ## Features diff --git a/Tester.zip b/Tester.zip index a3296a762f40b284de5222ff08900569a4069a4b..bee865457562fe4978a2c6ae64045be53f9a96c0 100644 GIT binary patch delta 30389 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 HC(r){oN;_# delta 30059 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 z Ny=hqk2m)0xmRrQtiHTBy1x_VGQvR+?5s{Y&h@%0nyC)ZD_|Dk?X{oMKm^^5D5 z)vv5yQ~y)_#`-Pw+v|7MfA6XPrT$?3ul2|3Pu8EQKVN^T{`dN;_1Eif*8g39ul_;( z(IwX)tXtZ)o4p zsiA8_kA_|i)(v(Ijtwpi?hRfIeH!{V3~CtC;MWk?5YiCd5Y-Ude~{3S+>q9g*^tv9 zYshaXYA9_`HmDjZ8)_P~4RsBmVPu28VN}Dn4dWXoHcW1q*6>5atcJM_3mO(TENfWV zu%_XshK&td8n!p=Y}nKAOT)p2UmK1!oNPGLaK7PE!|x4O8?HCpZ1}t3Uc-Zi#|_UK zUN*dGc;ARM@*72se{CAcMzh9tjU5}iGShi zLgV+1QyXVA{@6IDaem{X#-)ub8do>2YuwPdxp7g@MfBPB_G#+j|+IXVzbmO_k zi;b5XuQXn3{HyVHOJ(m^?mgN^n>+2dVhV8K2#r}kJiWO6ZI+jbbXdys?XCG=!^Ab`f|NmU!||r z57Q6V*XtYfe+K<%{aF2X`bqjJ`sw`ephR`c?Wh`gQvC`i=U{`mOry z`W^aR`aSx6`u+NY`osDo`eXVN`cwKd`g8gV`b+xD`akqn_1E+_^f&dl^>_65^#AA| z>L2T$>YwXh>R;>M>faks18(3Oga)ypje#(j8q5rBe+}&o9SxlgT@Bq0Jq^7KRt6h` zox#E2WNAT!7f1%@I+iJ{D(G*lSWhDt-Vq1K=^=nTURz%atlV9*yjHZR+0Cv#D2;Rg+DVU6VtTQA6N^VMRN^i<+%5IW2 z$(rO%1x-awB~4{b%BG5@p-tK*T~lL|zNx8cLere4g-x59b~XLpbl3Rnei-+kJo)jj z6aF>b|Nj6`O9KQH000080HC5zpL%1Q0y_qqjHX@uiNCvJoB|jD0;G(e)nuFkJ`R?m zPfrLN=Aa!W006mxpCM(O0xy4yjHX?ojHX?6cnbgl1o!~}00a~O0068!Yj@+ut)J~* zG2zi&Q;i;W(l(9V-NtLnyFT$lvE)s99bX*Sv=%vo z!C)`|2Ec&(_kW~|bbGtsXa6iGKK{PwzkVM;U;5v6>z-$Mn8fTgn}vT7_vXCtrb%4z zxX4}4J3hVgyq?pamRSZ(o`midkA>4d*xnA~(93z@?kxE-$)3C@T!zI?hwbd`e)s3y z^BsT*{DOM{pZR4}ctyD6pOToplYj@?;f%T8gt-SW zu7qv3*}vKH&T8rG{_w*OogyoF`+$AkZqaOj64&cG|LiWif%m=}c5|o0B<8k6O`PVB zVGcaDCK{KQ8@WI4VA@SfmbE4|sF?c2GOZ7YA|Q@1qQC1}r2Q`YSQlAJXwRdwWpug zGVDU(!kO#mcjsV&L$FPN7MN5S0Xq=p%)j@;$e(}}ai5ZsE&O|qfEuO^w#?5m|H*ZZ zeAxTQ={U#9LmVZ3fJO^_T?ags-~Yd!YwumzvRC%rdu4@eS!J(6DqOSdJ&MaCG!)Si z8bpc^C9AR$g@j}j<$vyVZ&Bahzt^koeZSB9^EsdMIpaCcxli}j-xA=zbMM0?kxO?4 zCl@Lgs3Y)6@($T~&#zJH&Kj?bM?^$y{vJGOMkYhYphYTI`zGu)_uMFM4Dd2FY z=kcr17ZDQF6f&9y#9c$3DP5i6Mtof-c98RS*nrj4>YZPq|NhfMUIoa+&Qy+$NDL zqPC>ZJ?+Ah*=dyjvn1?RwfH zBP^m>J=~}3NQMxrH!BcL<0uCVLdP4mwc2V|>AQQW6u07TL z*ACFeDB8!i!?D+Uo4z--e%bmlVs?Lo6SXk1`j|zDWAnngVn*bmSR3zro&D*pqb+IdY)d!2A`01?e%Mh)40)b9bj&h6Il7tcqQ%2ZWOY(5v^Pt5^nIBt zs`*YHLv6qpnWCtz;+C=D`O<{tXl6|o!Frcs%M)h>3OVkccwO7rJw&<8L=lvE-1BIB z|J^WA`_}1;w>;+!s;`^GnFxGQAnUS|(w{?QL8zV+s23+{)lN*A%*8abe_e{PAWz>U zP83iunkgWr%Vgswj&|YO_x!H%B6ZITbN!<#Q-rS6T5G(-uB4KW8aaj#3d3(qO=zBS zSik>}wUS>a@6x2R5Z)!t`Hl3!U_;bd*-e>@?4+sNE2ou0)-O?BIcbsoZe{EB#@-o= zbn>8el$2PBBSmrT__Wn6{+1lWrsU;wshM28(wWNlYGiar)A{dFy29JggZykXE!$nE~b5eRymhMmm5U%N!QAz z!!!8c!-@Sh4uEoo+T)Jjw_mb1T9^7<5sjs}X6h*)+{eeYYY1?#RLw&|0v<_lJ} zM9W*lls`X{+aRv~bdDEtfY%ZzMt{V!Y6}pSe0^%unq?OQwQ=?dlJ%yS*^E)}FGaAtXqoBR6jEP<)uP`x@wVN6)e}*BLB{; zrylf1bafptm0Z|!l<%U`ObRmK! z$8D(ROY0{tup5jGT)nI~(N~e!^1Te9M!ZRv$7Fg&np&3Ra|Q9+$EqdYOGCBX3(*{V zV=Jj0QA<}5KZPxI!aW%eXWR2yd~Hq>BP2ZRt7|sLc0y;2Nbu?j-&fk#g91Av&hzO) zzZ!TV96ThHomw8xwx7_TGgjqZVY5PNQpJ`;FmGfz)3TF3B^RpC;Uy2BwpF25?YASW z$>pk{3yiO_qY$$S(`yxs&|MDDz_*mIBRsGaTr)8Pw8MS`!n-HPu*>uFPdw!TJ8B+W#{ z=rsf#7an|al>AtR5(KR%67;H zF1~%~qJUC+_+b6j;^gCwiIw3Y<$b9cqi2};Uj`|#IB}5Gk;>2-dYavkexMX_GOGQM zjOnR$vb?pP`|7`#D*ex*V~u=zA3CiEs`}*~T!==E(%+#hbrtg*EbpUO*P;BWWei7@de$5Xy4>(Hg5nIiF z{xzMXDNQ-GFq^R|cE$9|trh2%rQ@e1IUcY&b}&z{*mC8ZMzW_4oSFR?lhsSL2$!mj<~G zHV)oNyPMlLN9wPwYh`A^aot3_L~PloZwg8Li@1k-R0CzB`NF0s{czC>4V$M?#4$G# z=94!p{7=>Y91yXcQ8ILyko0!&E{ZXvsB&Gl`^02T?UF+y*Epb~Xd95>w65q()^knT zWiFfKqS=ilqdl7_3;#i>b+!^G8ojQOg8YWo)t6kYG;dtj36?2PN2!mZ z_M@_v7Tt%fm(Ma0{~(&ba*C&%tR}xWUf!E^BFTz6Dvv5&-}^@`L)wMSOXj)rW7p-p z2WcWc*{PACz7dF1|c1p9u;AQ212)P!RbJfqDmMfZsr{Ao%LU8p3^Od`BcMe^8$h;-AN z*!=AwyJ881KxuJvE%86f<{KN3prY0TaXf9Z>oIrk;V>WVvyMglDo9qvV(4VkWpcAWm2@J$(fEf}vIx0EbB zC5_6rGuCOA+^+_UoLG9a5}h7YrRs(ncCJ1bEWYd{xvclA;1rYdo(FGBm>&qQB|kT| ze=o`$)51hc{rq$fQ}^ti^jV{=EKXep)M=7);u^N*)~H(d(375AIxBAm^1EaL`zr5I zN1#yOmS=jEAF*Z7)~1bLd!j#}6@7HUJc{wx*@Q-CLGCyD4*R8e!&?c^Ue==C#tyFz zw@Kae>wI_3cKUF?RFP^Kr7=b4DYs;#&{pGJq9RV>^W7IzB_)d%BWle?36gz14_1&y zvtKyaD((0Yl~d(x1eVD$xs}@*n)J8q9(+rgY3YBcQR-p7MrErrB@koxdXlnRc)0xK zg|?SYmpumVjlCyIjLvR)|M5iR!@|Mvn70qysBQ(kWNsd;Vf|TI<8Yhrz!7`-cBI0H z7sIzhQ!+KqH_6}lt6nhSJ$>Z>pG&3ilb5gG+#=IyuMDL}on)sU|1M1J^$tOlyeUlW zCu>kQf8Z5)zrNExbgNw#p+E>T{oU~Div($$=;CmJD>mgz%R&0*&P#>M?>(cxVAhj< z?_Na%`{dz>qf%3(3)B)9w0y2f3F+}CRO?uzb_!~7e|Nn5+O|gjUMkb&*N4jY7-}9h zpo#V(mX3XL+~OF@Qp{AE=cz}BcUYs}ovbysynMDY^@z=|+b8(XSM+!$9cuRZc+RUG zmBp1k$y(OZ#}F2*cr0$rRDY7rffz+FHSm&)h;e-=zcRmIyty`^jF7?t{4z`$-35bZ zEjkNDZuBd(ax6^2GhKR5d72Ox)~XJg$f~&AElr#;_hLA774@hr>zO$3?Db>T6GLZ3 zy?ljwYTwC>9(=An^*Ql#qHvpU&KARmJYtnko2BH-f}tL{dIA$XG}Kev$5N#mP~I}S z6#Jujr!|6q4UiP&P5Pr9LV4I4xTf8XBFv^nyjVLW2JK+Bjzoog;&v@7I|`3A z+bd%+@uiio7za4Ojh|`!SB3 z(p5M*Sf;WOFIDlZON_pX>pn>(@nfpy(v8LV=kafeI5K;`qv{-=k-LAmxRIuEuj6Pq zu^wkvcxRjv?*(hlSfK;7<$0?omLi|{Jae!pVPd(@vhcp_~XHnUIWDy zRc_^O{!c+U1LI;Ix(pW)^)!6#BQ>A_swn?E?n@U zNtvM+gAS*q__`nT;1Z=Ox0fNLGYHxsr1oRj`^`D!tG)1*vwhwzH%}|{3SSjd9XO$F zd#E$8wnj|YbJA3v_smj}KxMjI%h$h>F3hYe zs5Q`^ci&uGTZ#TA=d`g@h{m<=mYZFC2F)I>F{+V#S|wTP#gMMSfx}Zh&8FZ#!+X6s z7g~2F&-!{p<&T%Q=(Iev5=BdL>Ev@OX=rpP5C7DnEJ&@IoUNlUh^Yr(MBSK>eVAb6 z7IeKR_8GOM9nZZf_aS~1k7Wm|*J*7|*Q`Ah3Zmlaqt^T;2`7)UnGEJng%3#Fzked+ zRHWqU4PyO4oABy)$3~3QJ1(j|69qqM5=zw)C7Zw5H~J;u?mL4jmY*#bz^6Ma#w#0N zr_S!J5tsi&JGMuVaDnv|EZtQ%88L_Oir`xllX$auxXfz4>RR_xX#^*#je?W60DvyG$%G{3Fx*L?5H zMA4bc^$oq{t=#j3_E3Dq!dr{0z65bDXeW*2wR2J)>$hCmm+YkuWm9rY=l#4q zC%*Z?WdkySf&-;|Xp`8Z+9;!mT8q7BGM;6a3f~C3H~6C5MRSR+iRnA0pbkuzZ3ufAn@_ox=z(%fWrO zo_}onRG#P)c}h7}D03rI-EVbdxInbS{r+UC27jACwqWd!PLbq*;1*d$^3L}v*>@#B zW>A{zc6NX9S7qRSQ~4wF3kk}t^7-^K&AjHxtM78-1>_6a4c-Jqzj=dDezCcUex$WP z{N_hVY(kp4%6C*sa{TvShmI$q%|04LS_r6got>ZioD|ZYn}ngSVP^azmuPV9CzM)sL`@|U9_|2Qw=Z08g?s&Y+jpGbxE`CZ$H>$DNgpq>%~3XW5vDLfny45~U6n)U~-H36gnkO#1Y+xWO5l$vV4tg4R6q&`ao=l|SCnRAE*96c zS9CW0C=cPR@DnY|2KHgX3lfRMIibq8$XITb6Q?u`_1+`q$)`YW8CVrI~{#Fv;5%PB5`H?cpdT)dGr|wSGcYUJxNVkp*&YWAFL-(OnD*_bu z6+c~bwEI8yYXU;a+gAx^Fq^GTMEAz z7<@UOTw=vqB4&6jOUNOe-ZxLZ^@c51V$6^32T@0zH@`%D?&&U!(j`*q$iC#w@}!T@ zca*04*}5Y46XzJ2t6ZvQFL4l$ccAPxa`s4AN2{(_mmt4hc=GnOIJNb#z`zpx=ElP- zX}n2WRIr;A^gWovpx$95$x)79h5k-(HpQpI0;JCB#6f=214D$F2gZKR4rc^s_`3u$ ziItRmnVl_(va3TG*$Vw;4>FI#m= z(y7`?q&ShXyz@q%AU{OXl5eijZ@6sKo%?YEBC>;h!OCIq;&sMZ#iVxKs0j<=F@2WGufj zeTnilQRM5!ri_aP2QMt%<3p`Y)u2|=qDc~{NZ+$r%zZ+}G>0FL(3tLhOYrMjLENU! z0`Yet1Os7HihSIrOxbmn$&0Mq8zr}64Y?T8Pr1>ipVA3tYdA4NYi?m5qMn&Yk@c87 zpSMZ~d{bYmuiKmPqR_bk#{k)HPH3^so>t4`Lk_*Un-$m96VzKH&rp~h`<8qemCwpn zW_v#&SFWt$nyYByq3UCk_6Crm_;R3*&9y6adZn%rQ)ce5lvNB@IHpJUOH0_cm&#u{ zbiLIvU;9{Us{vPmzw)$Vs`>kO=!XEPQo~Ozj zIZ?Vl#;rQrt-7sk)i_zPnUUmlrpi}!%Cp8qeC-x2k&0?uANpS|5nP;%7(VmZ9CdQ4 z;k{sJ=J1xyyM8I(>j;6`5=9O&jkCh;Is50Xv$PBeG=93qu@+eFp+J)IBam>vWv=6X zxohb+qpD479{5%yXGaNn5y{HGuZ(mkdK)FmB43z0T(xP&!6#^9N|kx^)S&J=3Bh3# z{bBa~brS1NZ!)Al6$iYTE4|<0q8A;2iqPoy`6~Q=Jk+v1Sk@&{M2JP%LcNIYA=T=1 zE^UCx+8M{Ptz#3uXq)mq7TH&9W+JVIuLZ(^{{12^6`$5N&gpg-Soo2}9ud9YH}^U0 zwI_l`FDq_^)qkd4nxd9yFxT@$Xwa*tUhLkAf!t$~Rg6uNKZBlq&uLl~$fjxKv`5`E z{H(me@8dT2Oh&tMxYNFv_HL)3rWa+KU6Sxn*g6-P9i_8Y=YkNa|JUpZRL9W}j==Qt zZnKXHw=dgKdw-`|p;S4-bBF)b(dl=l^n8)+r#PP7eU%XN{aL`|5tLEWL(iGBP{u_A zBIui=pSYAc|0clKPk!gF`R*0W?u zQ;T)1`zFbfY7IW6E|(uOatkzSxc7kht2@ur(e$wH;}xzaO7{pNc+BY=?iyN&tXqB8 zE2^#dW=m#ok#p=KS8CJpa>4Z2jg98c9>-r!)E;&&(YC42b&jf%Kdzg|7a3mpb|)T* zN@96wF_dtx}4$PT5DD#i6i_t z@+>m-$@;M^StMJ|fvz{Nx@o3ec@B&fovWA#uzy-2{;ZVU#{zkgdOj^=;C?=`TBSE@ zKxHZBFvq7-ax|-wc67O+GUZpZ>Lw3lffca?YJ_2W^lrEIJ1LtMPAlsB~) z=1|Ks>D}1_uN#Qm*d1G%?C#lB&zbADSN4hd^is?A+aNA3K1}SIOR)Mfv^kwq`s9*s zP22g81yiptB?PN6r??d|f9qd0z8~$#ap}Zhx2JaK;QN}V14B$|g&PlRdwJ9fu7pVY zQ#06InkPD)aQU36#^I}u;`K`MRC<+Xy>vIiQOBsu$9|zJX}Q?Wvxu0bsCzrBc)Fy|A$rddYkE6O{eBw-yKS2BM=GtXvXH)p*kVdkMF}PP z5KDfGdru0UuPeT6J`gTDQPpF)|JOkp5t8ZoA<|*x^#1sEruGW1Ly)C-dnlpM{SK*v z+SRD&ecx?jh~Em%>8+Gc7VW!C5ne`E{|hOe87;kUNv((Y&U^8qtzovnRe5#4x;inq}1$}c+QElQT9~m!2#$4~uwAX3qO? zsOKqz2YNxyP~84mwf3#ZdP3^bF~e(xK0jM2C`{jEljtG|m_8o04_ADok+R<$O~1Sz zUC)g&stq-rgRE~cy>LBW%3;FOIQ=+#W{^(d#B&}KB~weak8#%@n|SIRC7Uj%W&g~q zWLfx(Ir)S0o5lU{y}`<9GeyoMg^NyKO(|ygS%|vNUR9YJTQ#4#k$3F7kpJGrgV%!t zzLt0tNT*sE({u&BK$9vxum1V7fWdNQQH$Gcu@c1=v^O)x@5rs0(q8}DKSt+2D|NC@ zE5jK%N zt%?Yb>;oq#{U#3+BBv@`!*b3X-YTO@4V5s8E%1-_UEiZ6)u7cV}{B^pCh1AGS2(o&otXtcybzM%OdGNM#O1YT4N67t1fBCi)CH5KXie73G<#Lq z!`+AWRnOPY*S^U3ycs(Z%or8=O)}Rh+EteB;}m-*(aU--#$T#OJ)ZA(EJDgIA(V_W zPnzC@%?O`q>Wd?MI>q{SW=% zBI^{MYd##4?MiZkkk2w$p_xY$k*H1`*EfCU&4rz{@|$@&O;<9?^%WG_4|?i7u;RSxw_|@7G%Oo-;&5j)I>KW`w@}* zfd2_&Gak~Nbh$fSGuYq6gjz@kikvV zqf2MzJU)H1q+bXM8(%r;A9dr^LN0IRZ0>=kIIR#f$1~3rtl)_10g0=spQ`KLNtJ)- z5!S!cpuJUgkmnw^OHKNzfZQnt*{d}|!V?X><87Pf@;6${QIh2o20gu2@gGZ=h7t`d zX%qLGi=E`BXWFZKcRli-^h<=ifzV zCNi`L3`Eb@G207G8+%z>#rO2+>IhaxTd1d8j_`<4{ivq3C$8bH$H-4%rSIXoNd{A| zu5k{k51>*Si@%`aD7dbekSJ#!wuN}c=-j=>x{UHYNvj04Of^efmwBsM7dXYTiEySKF+ImRZMJ9B_HASp_3z&^c4aO<8lit~IoWv18BXFA+9ZB$CF zTE7&8DN5blbPWai%qQ&Sb)d3Nv^EIo_Su~{3yQY8^FIl^0 zS*^pR&IdKO>U)@FZZuTwvGKWdUw8Sy1Hw?JvXKb1^iMV7q6ft)l2FBxJh!?DmCWIK zhn}mq1#?i+p-U_%wMKE%L6)>HH@W5WGDsexyQg0hb?C9`45B!rR8yKbeo=S~^sUYW z&(%hLTUs9V-mIR!|E=fL=m~@O@=U3MvPQ0UUNixVxAZHE4-&l7S9Es08L+S@`SPkx z=<^b_dx}m)Nozm81O#R*dL&QWySHpd!yYxZdOvXSRn~lX=V_GhbsGOq$Fl}Usa|9f z2sev=K5q$iea@szo^Z>YscYzeP35j#BV*M?{QkC*jPQ5e+>ofv#B7#qK*4ab?A9#1YzA1mz$fW1qFxA*|-Mos( zwU#FYR7BExp-1?ckc_?=H(gQ!2^)2%B=j^AT1Wj>ql21-k1*@p&UCg}d4BB7_x-OX zuJ1|U4S7!0r5yTol1*0Nn{GjwbBF-rhYRnU4J4R0V>;)4ygjl7b0nc53urc}DHy!D zL4w3Q#Rh&O68pP^umyO-j-`UZJ2?oQ3TIsc6d6#NU8?wD%mMd+0wwSphC8$(*=UFr zLLyge^ea1Ra}@>B6j?-Kx*Y(l%32!W_!M<5R3sv!WCRm7xo z>@dw);Go=@E6%?|G}sm5P55y>8ZzHq)wzNVqF@sqM37Ag!u+=!ftZhx=G##f%+-#D zh~dHlG(?4Q@F#H{fMP`+IKfkJv5n6J9-Bf#M8B)RHrnAlMsWwHD9BVfPXc!Xj&`?f z3oFa&+IEDM(StAH50sUZIuI1#xohBHTdE^GHcY{QK%fpG5FR^1uZVGln=YUszuo># z3Ng7SFNK>ynH$^%AoXs=CRR~@8>?`JPZr@Ci|s#b$1M41-?pVkAO4ugzCP_t`ZJLqaokjf&2m#D>U;N7s#n%G(@*sQ3WVg z=l}waDMLe+c_n;||I`_+(CeTG>TChAdhM!{5DqRugD>^MPeW|eJ|{PZ$N~91AV0cG zKE{Ww#i`(cA|G+V5q>`6opoWm_y&v#=Z?Z3A>BV3=TeMDL3LXL4*~es2q3?RQAnEO zyj(ZuqyNXteXNGu8mn=o`0tUyG%F%~fe?Y%B>lVTu5dI+7`ExyA^gv*w*K98%&bQH zW9u=6$6x$2TB^%2(TW7%6hW^NA+iEEfREvynC&VsO2)vQO1K-4%)h$;J4!sFnxPd& z1j5Y*fjIU%4$QQ_2y=s#HsH4$oAjH2Vuj?cz?zk4$gv=^hL4o?h>q)V-+z*VZKe3V zfv|Qa1cKKVf$-VoeNW9F7rQe4k6qv{ySTPLc9gK)wVf%#nwC8YvStSjN;>>^gTB4R zntJ@(fmp-EUlaT6h!KcxN(91pSDiN(w+;VCOR;&(xRBEC2U==r_jgNcU=5I~Cno8UztKlxjZO?wh(CoA-t2VMeYP6ejC{Ny`(92>uTw%vna5Wf!9-vjWY!nPe; zbsY`S@Af&hyQ3uVVdflna9f10mTYA_+w>`1*WC^ zBybbp$adE_i{}ZbrsKaVZ z3si{(Na3K`e`+iR6f0!Xu|rnS+`&(~(;qg|`-DS3B!P=SKUlV0ca4<8J%5ZT;ijAa z)Ug04R_OHP-!dZD_trn+B0#Z1J+nK+RE7cn%(U&~-^OTte(li0b%6V`++jm+epQmJ z4?^cRM<9;u3jGxkEZKyH%nHMOOGsquUEO!s9r878Vmk5D>m->zdOxqf>|7fWG zzm+N*O?~4nh_BxifpFQCMH@J)5e<3$P6@W>S?^=Kcis5oofysp9OG{pHh7-n^WlNO zE2YWb!MokrX{!8S=a|IS;14KP$nWV+*?Yh-{jLEk+xHM7>+ZzLOkvSSU@iN1DaT45 zW2J9LcSyN*I|~5TtWe(+R^eP=IxVnkgMnS6PZ%Z)S%U?21Y8jQ+MU1>V5<1p#PQ_R%rrL~!+;16N4Zu%8f$)!EUGl>kZD?rEZbb~ZCji$hoT7lsOOW;Vz0n^(zknetWbL`_2cr`H zt@^X>P&iDWz%3-=jQ|4SfD3N>)@WphrQ$ye;#fwfXdn`S5F$e$40qW*1$#V@cz$eL zf8SDJ)4$`U525=zA(;JPeK4-onc((_dw00l(Qg8HR!IK%4w=aAr1q$p;{o7IN8ZOow?!|xKLT&pnTgNF%lrWp(=Ji}AT!;MSi@+GR z=te{KzlS?EY2AQgB^bmOS;J~z>%Dh(&bBi$_5)YTe{9aT7Ed9FXVc zwz8mSGk4d;4jYg!$So_hyhB3<*Ms!@XIRTWag~~R6+>ij;LDwf#-5cdjW@8n!kJx| zWfk>nr@CPA*Z&L=wS`kwg7NU@&K2u1Ia%g_8ypP6WP&IV@Wnnbl=4pGar}?0Q^KV{ z@mJQdDI++KEwYBwUjL8gFH7jlP!4DJQwe)po9MO+>W7TN47&j2EPNkKPmfX4cdK=YDd0pTVPI+ zNBJM^y!jT>DW7(zxc_@tKyws0Ph*sMpx@s8GjQLfggy4c4cwEIxR8&GfTi!h=4TWY zPC-8UPqVk@Cpk4vQ3e!$d|abf@Y@DkJJzPI zLG^44xZoa!5D4|(HkdPt$51L-#HIXOj=6MhUckmBUtnHXK#CcVzZ;3^1zMOG zY#OMc;KDyD;)2e?0y5YU6l`}0c3**PP(BaSfoSCl7DG$^=@H~KCSy`6J2jZIMQZps zDA~`AxqhmCdRAQy+Vm6r-FXID5mQ82vcvbz9>Zn?+pA(9F+J8!y;BLl+bDvtH}Ck) zh3^9y2NE5+Lq-qtenLYUNU5+A%!uHI69F_tE_1xZKoNKgQ%ax(Ys{b_6Yh{~GqaAz z;|)3BP^*Lnfe^u^6SMo7k721GgkyeySp;j$q9H=qse%w9!=zOt2%Z4;%1HX^oeCr5 z`#L9>F(HTK}hNdOHXLtY$oTSP-f5P=lF6bm_(anNH4Bd)c_!K)5L5GA|- zNDU~>3rog8S)tfBa_}suR3FNZ#leg?B8UVITE>WL({N;EIuS$<|Gb_NHJ}Yf*kTP0$-^gB(2yy_VSs}_05pbpj^bd{Dh9Sz;NZhc zBoGx$0}M5wr?prT1+Bh?xi`^}DonEuvP<9#zXauKa3(;;(8V!aAeGy^l5Dq?h|aWV-oq)Z{%*&UD+R-GdODd+-48j$Q4T#@kxCgUMX zIQSYsV<;SKT0s>F5Hb#y{0X9iX93g&XAlwqB|$8SSXvckNg{=)Vd7sHmwc()WC;Tq zL=I;FP9KS&C&MOH1w+!o{98bXd_qkAha`k60eKKvO}>*XRwxEs9yN|DZY>5QJ%Szw zVKaha$P{^r8IRuqY=(?t!Q&`aao5x>0*>cEktQr|Ljii63nL?dU{~;(4t;RK7N$a_;N%JGpoyp$GK6A3;-C>R zh#7L4!$MWq=`+UtI3P8ko_QR3gap%&bHS9`34rGSHiqUx;bzie(D$FiC?Qff3cS}K zP=cGlYclf08N4`=43m_$$Zf0))02ZI>5;)%l&~vBF_>T(0GlEQi}AR(gc7uZ1C(J_ zqa)xo3R*FTUBDYT_=^PhC zt_Ro%$!LMcl!q7~8rXmf6ZKge2AG?-7*d3v0IY>v|Bbb{F?nn|gD-Ex;%-|;oc_5T zBUp3}?Z2!Q%X zrfgUi=Ag1)G6c(z&>ljEt4Ql{x0@N0SrRCs9!F$1YAQA>OL98)2G7><2C@LQZ zHvu$+m@i_XEKFUt7Yxq?5sZo0V;s2&pb3T}aM&Ca$iW!^>OC25+w_8$<+i$YK`OAr-bAEFF9uu;6lH ziD$>H*uYeklEbj1T{yO+n+?ptIxHFU5-$~#$AtB41dp3W*}zIy4_FPPhzUEc8gX#Z zGeQcu;BhVXB1jZ~$3FwuK^LkhVytM6v%?qFFe$qOumRF47LREM*g?WolrT-$)4!9Y zg*yPNfm~e1vzp47baWl!!1-zh*a-4vfG>joq$LMyseodrj|B(2SUEw|-GJ19zRBRo zd09?ynKM@fB!Li|1zr=OZVOzY1&GiD3X8(QKolnkZ4{6i5KR%5l!t9VRR#nka4C32 zK`E3lw?;7(30=~{zLA4Vw7I|*;{zZyAaMMGDV2jAH8GJ@dEww&0F9xf033AI!jv97 zjfJxCI{;0fGkG}ZqK(-GRMo_JfSX7+~r#9K&k>)JGm&+7DYC#6;-)bw5aPoFPW!$pxDOQVw?E<^f@! zGb#qV7h&)(3uGjQD~bTn7?P90!7Ts{p$>B#j5fw($VLw~UASgW`hRf9~zy?UBc08u)5Ci>x+z!*; znJqj!1F$L5g#Q4}D!?9N)uz3TrQy#2>msWv#Ifblu%`oNOEwiB? zbrj<{-F2se6Al2ZDe`kKo*f6+8|nXYCl-KDf#+AKakaJ|1M2{CVrZ8F`)muW;fYCr z_Zxf>CYc=Yj-zh47bsMbv;U#6L8ia|FT27?d=oSX7+?+WV#puaYm|x~N&p)o7aZ_d z%?HyQ?QlG<1=s)?)rZGyzQvFLcYK4XnFM%@odn#^V*ZNnI4$`Q6Vh9R_0A4kzbt~7 zh`~9Dg8L=-@pbTsBKN5hGc&cm`>Q9w$4m#o=VwAYOy^@h{5D+$712X&3AnR40Y6Og z8wc>7j{+>oO$?mPliQPs&>|2a^5Db%9nL<)ync^Y|NKw{VISt3i^utc{4xHHEaMd# z01IQ!;N2tk}b&_pme0%2~T;@oxo^yj4NEhu9}Djz}P+Rhw+`TXYh zxm&IW_!Jj6*0v9oY+dkDHgFV00jB~3PVU{`TnHX0+R>!>n8DvRGeAuRrQpvlnF2BG ZIdl&1(k=;n&I!8#mY-NJ0}aj-{}1<4SP%dJ diff --git a/Yuba.php b/Yuba.php index 93a7e31..a6585fa 100755 --- a/Yuba.php +++ b/Yuba.php @@ -35,7 +35,7 @@ require("filetypes.php"); // Manual prefs -$wopt_steps = 8; // total number of steps +$wopt_steps = 7; // total number of steps $wopt_currstep = 1; if ($p['debug']) { $wopt_clear = 0; } else { $wopt_clear = 1; } $wopt_debug_unique = 0; @@ -307,6 +307,7 @@ $dbo->exec("CREATE TABLE files ( thumb_height INTEGER, thumb_tool TEXT, icon_filename TEXT, + icon_tool TEXT, contents_filename TEXT )"); @@ -421,6 +422,7 @@ $fids = array(); $noread = array(); $fx = new SplFixedArray($passed_file); $splcount = 0; +$bline = array(); echo ProgressBar::start($passed_total,"Prescan (".stepString().")"); @@ -431,6 +433,8 @@ foreach ($files as $splFileInfo) { $shellpath = escapeshellarg($splFileInfo->getPathname()); $realpath = $splFileInfo->getRealPath(); + $fid = md5($splFileInfo->getSize().$splFileInfo->getMtime().$splFileInfo->getBasename()); + $key = md5($pathname); $pkey = md5($path); @@ -444,7 +448,6 @@ foreach ($files as $splFileInfo) { if ($splFileInfo->getType() != "dir" && $splFileInfo->getType() != "link") { - $fid = md5($splFileInfo->getSize().$splFileInfo->getMtime().$splFileInfo->getBasename()); $dx[$fid][] = $pathname; $fx[$splcount] = array($fid, $pathname); $family[$key]['fid'] = $fid; @@ -473,22 +476,22 @@ foreach ($files as $splFileInfo) { // Create batch - $line = array(); if ($p['thumbs'] || $p['icons'] || $p['meta'] || $p['hash'] || $p['contents'] || $p['spotlight']) { $parts = array(); $parts[] = $bin_php; - $parts[] = escapeshellarg(realpath("helper2.php")); + $parts[] = escapeshellarg(realpath("helper.php")); $parts[] = $i; $parts[] = $passed_total; + $parts[] = $fid; $parts[] = escapeshellarg($pathname); $parts[] = $splFileInfo->getType(); $parts[] = escapeshellarg($bpath); $parts[] = $mytime; $tcmd = implode(" ",$parts); - msg($tcmd); - $line[] = $tcmd; + //msg($tcmd); + $bline[] = $tcmd; } @@ -508,10 +511,9 @@ foreach ($files as $splFileInfo) { } - -$batchfile = $tmpdir."/__batch.sh"; -if (!empty($line)) { - file_put_contents($batchfile,implode("\n", $line)); +$batchfile = $tmpdir."/batch.sh"; +if (!empty($bline)) { + file_put_contents($batchfile,implode("\n", $bline)); msg("Writing batch to file"); } @@ -591,41 +593,16 @@ $dbo->exec($stmt); $wopt_currstep++; -// Directory Previews +// Init Spotlight DB ////////////////////////////////////////// -echo ProgressBar::start(count($fx),"Searching for directory previews (".stepString().")"); -foreach ($fx as $array) { - $fid = $array[0]; - $pathname = $array[1]; - if (in_array(basename($pathname),$p['p_files'])) { - $dpreview[dirname($pathname)] = $fid; - } - echo ProgressBar::next(); - } -echo ProgressBar::finish($wopt_clear); +if ($p['spotlight']) { $dbo->exec("CREATE TABLE mdls (id INTEGER PRIMARY KEY,".implode(",",$cbuild).")"); } // Helper ////////////////////////////////////////// -if ($p['thumbs'] || $p['icons'] || $p['meta'] || $p['hash'] || $p['contents']) { +if (file_exists($batchfile)) { - echo ProgressBar::start($passed_file,"Creating batch (".stepString().")",1); - - $batchfile = $tmpdir."/_batch.sh"; - $helper = realpath("helper.php"); - - foreach ($fx as $count => $array) { - $fid = $array[0]; - $pathname = $array[1]; - $tcmd = $bin_php." ".escapeshellarg($helper)." ".$fid." ".escapeshellarg($pathname)." ".escapeshellarg($bpath)." ".$mytime."; printf '\\n".ProgressBar::next()."'"; - msg($tcmd); - $line[] = $tcmd; - } - - file_put_contents($batchfile,implode("\n", $line)); - echo ProgressBar::finish($wopt_clear); - echo ProgressBar::start($passed_file,"Running batch (".stepString().")"); if ($p['parallel']) { passthru($bin_parallel." < ".$batchfile); @@ -648,101 +625,7 @@ $dbp->exec("CREATE INDEX IF NOT EXISTS mediainfo_index ON mediainfo (fid)"); $dbp->exec("CREATE INDEX IF NOT EXISTS thumbs_index ON thumbs (fid)"); $dbp->exec("CREATE INDEX IF NOT EXISTS icons_index ON icons (fid)"); -// Spotlight -////////////////////////////////////////// - -$mb['i'] = array( "PixelWidth", - "PixelHeight", - "Latitude", - "Longitude", - "DurationSeconds", - "UseCount", - "FSInvisible", - "NumberOfPages", - "PageHeight", - "PageWidth", - "TotalBitRate" ); - -$mb['t'] = array( "Title", - "ContentType", - "Creator", - "FSCreatorCode", - "Kind", - "FSTypeCode" ); - -$mb['a'] = array( "UserTags", - "WhereFroms", - "EncodingApplications" ); - -$mb['d'] = array( "DateAdded", - "LastUsedDate", - "ContentModificationDate", - "ContentCreationDate" ); - -$ibuild[] = ":pid, :spotlight"; -$cbuild[] = "pid TEXT, spotlight TEXT"; -foreach (array_merge($mb['i'],$mb['d']) as $item) { - $cbuild[] = $item." INTEGER"; - $ibuild[] = ":".$item; - } -foreach (array_merge($mb['t'],$mb['a']) as $item) { - $cbuild[] = $item." TEXT"; - $ibuild[] = ":".$item; - } - -$dbo->exec("CREATE TABLE mdls (".implode(",",$cbuild).")"); - -if ($p['spotlight']) { - - echo ProgressBar::start($passed_total,"Spotlight (".stepString().")"); - - foreach ($files as $splFileInfo) { - - $path = $splFileInfo->getPathname(); - msg($path); - - $pid = md5($path); - $shellpath = escapeshellarg($path); - $mdls = shell_exec("mdls -plist - ".$shellpath." 2>&1"); - - if (substr_count(@$mdls,"\n") > 1) { - $spotlight = $parser->parseString(utf8_for_xml($mdls)); - } else { - $spotlight = array(); - } - - $stmt = $dbo->prepare("INSERT INTO mdls VALUES (".implode(",",$ibuild).")"); - - foreach ($mb as $key => $list) { - foreach ($list as $item) { - - if (@$spotlight["kMDItem".$item]) { - $stmt->BindValue(":pid",$pid); - $stmt->BindValue(":spotlight",$mdls); - switch($key) { - case "i": - case "t": - $stmt->BindValue(":".$item,$spotlight["kMDItem".$item]); - break; - case "a": - $stmt->BindValue(":".$item,serialize($spotlight["kMDItem".$item])); - break; - case "d": - $stmt->BindValue(":".$item,strtotime($spotlight["kMDItem".$item])); - break; - } - } - } - } - - $stmt->execute(); - echo ProgressBar::next(true); - - } - - echo ProgressBar::finish($wopt_clear); - - } +$dbo->exec("CREATE INDEX IF NOT EXISTS mdls_index ON mdls (id)"); // Files ////////////////////////////////////////// @@ -755,7 +638,7 @@ foreach ($files as $splFileInfo) { // DB - $stmt = $dbo->prepare("INSERT INTO files VALUES (:pid, :fid, :Pathname, :Path, :Filename, :Extension, :Type, :Size, :Inode, :Perms, :Owner, :ATime, :MTime, :CTime, :LinkTarget, :RealPath, :stat, :items, :newest, :fkind, :gfi_type, :gfi_attr, :gfi_created, :has_exif, :has_mediainfo, :has_hash, :thumb_filename, :thumb_width, :thumb_height, :thumb_tool, :icon_filename, :contents_filename)"); + $stmt = $dbo->prepare("INSERT INTO files VALUES (:pid, :fid, :Pathname, :Path, :Filename, :Extension, :Type, :Size, :Inode, :Perms, :Owner, :ATime, :MTime, :CTime, :LinkTarget, :RealPath, :stat, :items, :newest, :fkind, :gfi_type, :gfi_attr, :gfi_created, :has_exif, :has_mediainfo, :has_hash, :thumb_filename, :thumb_width, :thumb_height, :thumb_tool, :icon_filename, :icon_tool, :contents_filename)"); // Identify dir, file, link or bundle dir @@ -880,9 +763,25 @@ foreach ($files as $splFileInfo) { // Pool - if ($type == "file") { + if ($type == "dir") { - unset($fetch_exif, $fetch_media, $fetch_hash, $fetch_thumb, $yes_exif, $yes_media, $yes_hash); + unset($fetch_icon); + + $fetch_icon = @$dbp->query("SELECT * FROM icons WHERE fid='".$pid."'")->fetch(); + if (@$fetch_icon['relative_path']) { + $stmt->BindValue(":icon_filename",$fetch_icon['relative_path']); + $stmt->BindValue(":icon_tool",$fetch_icon['tool']); + } + + } elseif ($type == "file") { + + $fetch_icon = @$dbp->query("SELECT * FROM icons WHERE fid='".$fid."'")->fetch(); + if (@$fetch_icon['relative_path']) { + $stmt->BindValue(":icon_filename",$fetch_icon['relative_path']); + $stmt->BindValue(":icon_tool",$fetch_icon['tool']); + } + + unset($fetch_exif, $fetch_media, $fetch_hash, $fetch_thumb, $fetch_icon, $yes_exif, $yes_media, $yes_hash); $yes_exif = $dbp->query("SELECT rowid FROM exiftool WHERE fid='".$fid."'")->fetch()[0]; $stmt->BindValue(":has_exif",$yes_exif); @@ -896,9 +795,8 @@ foreach ($files as $splFileInfo) { $yes_contents = $dbp->query("SELECT relative_path FROM contents WHERE fid='".$fid."'")->fetch()[0]; $stmt->BindValue(":contents_filename",$yes_contents); - if (!in_array($extension, $p['t_skip'])) { - $fetch_thumb = $dbp->query("SELECT * FROM thumbs WHERE fid='".$fid."'")->fetch(); - } + $fetch_thumb = $dbp->query("SELECT * FROM thumbs WHERE fid='".$fid."'")->fetch(); + if (@$fetch_thumb['relative_path']) { $stmt->BindValue(":thumb_filename",$fetch_thumb['relative_path']); $stmt->BindValue(":thumb_width",$fetch_thumb['width']); @@ -907,30 +805,8 @@ foreach ($files as $splFileInfo) { } else { $stmt->BindValue(":thumb_filename",null); } - - $fetch_icon = $dbp->query("SELECT * FROM icons WHERE fid='".$fid."'")->fetch(); - if (@$fetch_icon['relative_path']) { - $stmt->BindValue(":icon_filename",$fetch_icon['relative_path']); - } else { - $stmt->BindValue(":icon_filename",null); - } - - } elseif ($type == "dir") { - - if (is_array(@$dpreview) && @$dpreview[$pathname]) { - $fetch_thumb = $dbp->query("SELECT * FROM thumbs WHERE fid='".$dpreview[$pathname]."'")->fetch(); - if (@$fetch_thumb['relative_path']) { - $stmt->BindValue(":thumb_filename",$fetch_thumb['relative_path']); - $stmt->BindValue(":thumb_width",$fetch_thumb['width']); - $stmt->BindValue(":thumb_height",$fetch_thumb['height']); - $stmt->BindValue(":thumb_tool",$fetch_thumb['tool']); - } else { - $stmt->BindValue(":thumb_filename",null); - } - } } - // ------------------------------------------------ // @@ -1109,7 +985,7 @@ while ($row_a = $loop->fetch()) { } elseif (!$found) { // find a single value - list($kind,$item) = explode("^",$dindex); + list($kind,$item) = @explode("^",$dindex); if (@$m[$kind][$item]) { $stmt->BindValue(":".$name,@sanitize($m[$kind][$item],$type)); $found = 1; diff --git a/current_version.txt b/current_version.txt index 01eb481..f588047 100755 --- a/current_version.txt +++ b/current_version.txt @@ -1 +1 @@ -0.8.0.0 \ No newline at end of file +0.8.0.1 \ No newline at end of file diff --git a/filetypes.php b/filetypes.php index dc1465a..4d05393 100755 --- a/filetypes.php +++ b/filetypes.php @@ -16,6 +16,7 @@ $bin_pngquant = escapeshellarg(__DIR__."/bin/pngquant"); $bin_parallel = escapeshellarg(__DIR__."/bin/parallel"); $bin_convert = escapeshellarg(__DIR__."/bin/convert"); $bin_flacicon = escapeshellarg(__DIR__."/bin/flacicon"); +$bin_flacdiricon = escapeshellarg(__DIR__."/bin/flacdiricon"); // System tools $bin_php = "php"; @@ -245,4 +246,47 @@ foreach ($p['t_skip'] as $ext) { $p['t_skip'][] = strtoupper($ext); } foreach ($p['i_skip'] as $ext) { $p['i_skip'][] = strtoupper($ext); } foreach ($p['p_files'] as $file) { $p['p_files'][] = strtoupper($file); } +// Spotlight ////////////////////////////////////////// + +$mb['i'] = array( "PixelWidth", + "PixelHeight", + "Latitude", + "Longitude", + "DurationSeconds", + "UseCount", + "FSInvisible", + "NumberOfPages", + "PageHeight", + "PageWidth", + "TotalBitRate" ); + +$mb['t'] = array( "Title", + "ContentType", + "Creator", + "FSCreatorCode", + "Kind", + "FSTypeCode" ); + +$mb['a'] = array( "UserTags", + "WhereFroms", + "EncodingApplications" ); + +$mb['d'] = array( "DateAdded", + "LastUsedDate", + "ContentModificationDate", + "ContentCreationDate" ); + +$ibuild[] = ":pid, :spotlight"; +$cbuild[] = "pid TEXT, spotlight TEXT"; +foreach (array_merge($mb['i'],$mb['d']) as $item) { + $cbuild[] = $item." INTEGER"; + $ibuild[] = ":".$item; + } +foreach (array_merge($mb['t'],$mb['a']) as $item) { + $cbuild[] = $item." TEXT"; + $ibuild[] = ":".$item; + } + +unset($item); + ?> \ No newline at end of file diff --git a/helper.php b/helper.php index a4376cd..c792600 100755 --- a/helper.php +++ b/helper.php @@ -4,6 +4,9 @@ // // ////////////////////////////////////////// +ini_set('memory_limit', '10240M'); +date_default_timezone_set("America/Los_Angeles"); + $prefs_file = "/Users/".get_current_user()."/Library/Preferences/org.profiteroles.Yuba.php"; $p = unserialize(file_get_contents($prefs_file)); @@ -17,7 +20,7 @@ $dm = ""; function dfm ($string, $flag = 0) { // dumb workaround for debug messages appearing out of order // uncomment next line to revert to instant message printing - dm($string); return; + //dm($string); return; global $dm; if ($flag == 1) { @@ -29,13 +32,19 @@ function dfm ($string, $flag = 0) { } } -$fid = $argv[1]; -$pathname = $argv[2]; +$bdone = $argv[1]; +$btotal = $argv[2]; +$fid = $argv[3]; +$pathname = $argv[4]; +$pid = md5($pathname); $shellpath = escapeshellarg($pathname); $ext = pathinfo($pathname,PATHINFO_EXTENSION); $file = pathinfo($pathname, PATHINFO_BASENAME); -$bpath = $argv[3]; -$mytime = $argv[4]; +$btype = $argv[5]; +$bpath = $argv[6]; +$mytime = $argv[7]; + +$parser = new plistParser(); $stamp = date("Y-m-d_H-i-s", $mytime); $messages_log_file = $bpath."/".$stamp."_messages.log"; @@ -43,6 +52,20 @@ $messages_log_file = $bpath."/".$stamp."_messages.log"; $tmpdir = "/tmp/yuba/".$mytime; if (!is_dir($tmpdir)) { mkdir($tmpdir,0777,true); dfm("mkdir ",$tmpdir); } +// Main DB + +$dbo = new PDO("sqlite:".$bpath."/".$stamp.".sqlite3"); +$dbo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +$dbo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); + +//$dbo->query("PRAGMA page_size = 4096"); +//$dbo->query("PRAGMA cache_size = 10000"); +//$dbo->query("PRAGMA locking_mode = EXCLUSIVE"); +//$dbo->query("PRAGMA synchronous = NORMAL"); +$dbo->query("PRAGMA journal_mode = WAL"); + +// Pool DB + $dbp = new PDO("sqlite:".$bpath."/pool.sqlite3"); $dbp->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbp->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); @@ -62,7 +85,7 @@ dfm("BATCH INIT ".$file.":".print_r($argv,true),2); // Thumbs ////////////////////////////////////////// thumbs: -if ($p['thumbs']) { +if ($p['thumbs'] && $btype == "file" && $ext != "DS_Store") { dfm("THUMBS",1); @@ -195,7 +218,7 @@ if ($p['thumbs']) { // Icons ////////////////////////////////////////// icons: -if ($p['icons']) { +if ($p['icons'] && ($btype == "file" || $btype == "dir") && $ext != "DS_Store") { dfm("ICONS",1); @@ -234,8 +257,7 @@ if ($p['icons']) { } - $stmt->BindValue(":fid",$fid); - + $cmd['flacdiricon'] = $bin_flacdiricon." ".$shellpath." ".$p['icon_size']." ".$tfile; $cmd['flacicon'] = $bin_flacicon." ".$shellpath." ".$p['icon_size']." ".$tfile; $cmd['ql-icon'] = $bin_qlicon." --input=".$shellpath." --width=".$p['icon_size']." --height=".$p['icon_size']." | ".$bin_pngquant." - -o ".$tfile; $cmd['qltool'] = $bin_qltool." di ".$shellpath." ".$p['icon_size']." ".$p['icon_size']." | base64 --decode | ".$bin_convert." - -scale 50% - | ".$bin_pngquant." - -o ".$tfile; @@ -267,16 +289,25 @@ if ($p['icons']) { } else { - if ($ext == "flac") { - $tools = array("flacicon","ql-icon","qltool"); + if ($btype == "dir") { + $stmt->BindValue(":fid",$pid); + $tools = array("flacdiricon","qltool"); } else { - $tools = array("ql-icon","qltool"); + $stmt->BindValue(":fid",$fid); + if ($ext == "flac") { + $tools = array("flacicon","ql-icon","qltool"); + } else { + $tools = array("ql-icon","qltool"); + } } + + unset($mytool); foreach ($tools as $tool) { if (!@filesize($tfile)) { shell_exec($cmd[$tool]." ".$redirect); dfm($cmd[$tool]); $estring .= " ->".$tool; + $mytool = $tool; } } @@ -309,7 +340,7 @@ if ($p['icons']) { dfm("moving ".$tfile." to ".$dfile); $stmt->BindValue(":created",time()); $stmt->BindValue(":relative_path",substr($dfile,strlen($bpath))); - $stmt->BindValue(":tool",$tool); + $stmt->BindValue(":tool",$mytool); $estring .= " ->use"; } @@ -317,7 +348,7 @@ if ($p['icons']) { } else { $estring .= " ->discard"; - dfm($tool." produced a bad file (size=".$checksize.")"); + dfm($mytool." produced a bad file (size=".$checksize.")"); } @@ -332,7 +363,7 @@ if ($p['icons']) { // Metadata ////////////////////////////////////////// meta: -if ($p['meta']) { +if ($p['meta'] && $btype == "file" && $ext != "DS_Store") { dfm("META",1); @@ -389,7 +420,7 @@ if ($p['meta']) { // Hash ////////////////////////////////////////// hashy: -if ($p['hash']) { +if ($p['hash'] && $btype == "file" && $ext != ".DS_Store") { dfm("HASH",1); @@ -423,7 +454,7 @@ if ($p['hash']) { // Contents ////////////////////////////////////////// contents: -if ($p['contents']) { +if ($p['contents'] && $btype == "file") { dfm("CONTENTS",1); @@ -463,6 +494,53 @@ if ($p['contents']) { } } +// Spotlight ////////////////////////////////////////// + +if ($p['spotlight']) { + + dfm("SPOTLIGHT",1); + $estring .= " SPOTLIGHT"; + + $cmd = "mdls -plist - ".$shellpath." ".$redirect; + dfm($cmd); + $mdls = shell_exec($cmd); + + if (substr_count(@$mdls,"\n") > 1) { + $spotlight = $parser->parseString(utf8_for_xml($mdls)); + } else { + $spotlight = array(); + } + + $stmt = $dbo->prepare("INSERT INTO mdls VALUES (:id,".implode(",",$ibuild).")"); + $stmt->BindValue(":id",$bdone+1); + + foreach ($mb as $key => $list) { + foreach ($list as $item) { + + if (@$spotlight["kMDItem".$item]) { + $stmt->BindValue(":pid",$pid); + $stmt->BindValue(":spotlight",$mdls); + switch($key) { + case "i": + case "t": + $stmt->BindValue(":".$item,$spotlight["kMDItem".$item]); + break; + case "a": + $stmt->BindValue(":".$item,serialize($spotlight["kMDItem".$item])); + break; + case "d": + $stmt->BindValue(":".$item,strtotime($spotlight["kMDItem".$item])); + break; + } + } + } + } + + $estring .= " ->db"; + $stmt->execute(); + + } + // Inserts ////////////////////////////////////////// dfm("SQL",1); @@ -471,5 +549,6 @@ foreach ($sbatch as $stmt) { $stmt->execute(); dfm($stmt->queryString); } dm($dm); echo msg($estring,false); +echo "\n"."PROGRESS:".round(($bdone/$btotal)*100,2)."\n"; ?> \ No newline at end of file diff --git a/web/rtc.php b/web/rtc.php index 8fd9ea3..f4c0fd1 100644 --- a/web/rtc.php +++ b/web/rtc.php @@ -4,7 +4,7 @@ // Yuba RTC Browser ///////////////////////////////////////////////////////////////// -$browser_version = "0.7.13.2"; +$browser_version = "0.8.0.1"; require "togggle.php"; require "lib/ref/ref.php"; @@ -25,7 +25,7 @@ $hidefiles = array(".DS_Store");