From 566814bf886be9cc42f6d4baed67ca1432d0501d Mon Sep 17 00:00:00 2001 From: markseu Date: Wed, 22 Feb 2017 21:05:46 +0100 Subject: [PATCH] System update (improved blog and wiki) --- system/plugins/core.php | 37 ++++++++++---------- system/plugins/yellow-blog.zip.installation | Bin 5122 -> 5074 bytes system/plugins/yellow-wiki.zip.installation | Bin 4637 -> 4593 bytes 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/system/plugins/core.php b/system/plugins/core.php index 5bec3f0..3961d51 100755 --- a/system/plugins/core.php +++ b/system/plugins/core.php @@ -1047,28 +1047,27 @@ class YellowPageCollection extends ArrayObject // Filter page collection by meta data function filter($key, $value, $exactMatch = true) { - if(!empty($key)) + $array = array(); + $value = strreplaceu(' ', '-', strtoloweru($value)); + $valueLength = strlenu($value); + $this->filterValue = ""; + foreach($this->getArrayCopy() as $page) { - $array = array(); - $value = strreplaceu(' ', '-', strtoloweru($value)); - $valueLength = strlenu($value); - foreach($this->getArrayCopy() as $page) + if($page->isExisting($key)) { - if($page->isExisting($key)) + foreach(preg_split("/\s*,\s*/", $page->get($key)) as $pageValue) { - foreach(preg_split("/,\s*/", $page->get($key)) as $pageValue) + $pageValueLength = $exactMatch ? strlenu($pageValue) : $valueLength; + if($value==substru(strreplaceu(' ', '-', strtoloweru($pageValue)), 0, $pageValueLength)) { - $pageValueLength = $exactMatch ? strlenu($pageValue) : $valueLength; - if($value==substru(strreplaceu(' ', '-', strtoloweru($pageValue)), 0, $pageValueLength)) - { - $this->filterValue = substru($pageValue, 0, $pageValueLength); - array_push($array, $page); - } + if(empty($this->filterValue)) $this->filterValue = substru($pageValue, 0, $pageValueLength); + array_push($array, $page); + break; } } } - $this->exchangeArray($array); } + $this->exchangeArray($array); return $this; } @@ -1105,7 +1104,7 @@ class YellowPageCollection extends ArrayObject $location = $page->location; $keywords = $this->yellow->toolbox->createTextKeywords($page->get("title")); $keywords .= ",".$page->get("tag").",".$page->get("author"); - $tokens = array_unique(array_filter(preg_split("/,\s*/", $keywords), "strlen")); + $tokens = array_unique(array_filter(preg_split("/\s*,\s*/", $keywords), "strlen")); if(!empty($tokens)) { $array = array(); @@ -1125,7 +1124,7 @@ class YellowPageCollection extends ArrayObject } } $this->exchangeArray($array); - $this->sort("searchscore", $ascendingOrder); + $this->sort("modified", false)->sort("searchscore", $ascendingOrder); } return $this; } @@ -2015,8 +2014,8 @@ class YellowText // Return human readable date, custom date format function getDateFormatted($timestamp, $format) { - $dateMonths = preg_split("/,\s*/", $this->get("dateMonths")); - $dateWeekdays = preg_split("/,\s*/", $this->get("dateWeekdays")); + $dateMonths = preg_split("/\s*,\s*/", $this->get("dateMonths")); + $dateWeekdays = preg_split("/\s*,\s*/", $this->get("dateWeekdays")); $month = $dateMonths[date('n', $timestamp) - 1]; $weekday = $dateWeekdays[date('N', $timestamp) - 1]; $format = preg_replace("/(?J++Bk3q)>|s5Xn|-X`uf&WFUYF0I25y0O$b# zz&-yUFR8zoWUzPej-6l7ydv9g|4SOUG`G(aiCRBZ-p5YzJ}De}Z=0lC9=(k(@J^=| zpyA6GV4Rqh-Ep z0K8qq42e*=zKqd?0butJe-YaPYiYA^7QDbiZ!Lk388qS|rrl+B7;c)X#bhQ!Q_ z1|vIPi5R!f$Z=cLGeNxLb>%ojI$;3vP?1$ZR{5gFo1pv9s0@H;r@zjoz#&vk0dlsfBY#oby?RpclpVr5DuNgH090lvXs`2 z-9C4HG{&D-U4b5}tT#TFclQ{B4CPw}Bx2?qJB!mZi+{q`ESIKWYL?DYc=iy=&aeF3 zJ>}6I{xw=;Xu0Af1=ArdvG1gs#Ds5jAcKE5GZy|)Rdh3tnbQ{XGK57sffdcr zbWKiJY$iwAmWr}r-APmBO`wY1c*Xv+zp}@LL5l<2b$JtNe$0cGx6>4niF(iIFAltJ?erHPUnO2MQ4vZ`g*a{^ zMLVmhEh8`AKOKtS01*oL`)Jcv=|1b6XePY9Im zSP3?UvQ3J;c;hV}QmTpMcM~*ciAPW{TPEnc2CW#C9`J`0uLC`vwKY`Im3UOHMd$~@ z@k{KUH$S_zCi)~ut7r@ej}9BP)ydWl8`yZd+_JS{15Ml$h}0?6W&Z^vF3B89V7l?d z&mH@fJ-#cx`N8Z}S03Hgfbg8adanJxcT+h|T?NbWC}yr5mIOj37`gjX<%r{p&Rmp} z=x#L~0(S~L(CJzXBSpcFhZQz4nG)n5-CDKc?}Hj{#8KlO2*M(qJMQp)PfD{;*lDTg z$|MVMkxs5G5Xq6HStSXr)vEvUqqX#?-p7^|2#swmIJdtUQJnc$ub5#i4c;h>vKM=f z_Az)ZcR@B_%Xb~A$TqIwbR*=hLr+=`LX0GPfi94&He7}k__t^{6v&dR-s{Q{og-MO z4(-7zM0;}cY?v1S%?rPm%=>{w7Ss0g>pv>NDH#trY7~iYh7mQ&*16Bmgc=z^9y~A znpoXv%udZl&@Xet1>)jF4AnR1YbVZN->PhxT7{c9drh$ zC0aza6>c!zeK$T=Eq_NF<_szWke+e|l^ zI?_5fyx?XvolROhRaK2)WAv0&LycCiFTJl%3SacW_Te$Qwt2bq`)Sk ze4kOiNQFFSGC4T)qij`C$!*H!kFvnC?lm`l|3V~H*5nVK7v^PA8bdX4vi1RvrB5|< z0}_vO#b#$VIk7u8O3-tsH^MGvr6hN$=GTTWMZS!k7SHWS(K#3k7Z(uJ$lJI8a!RFH73qh5o_i5=g<<=KSIhfI%6uLD z2$>b6>8cp`{?|`|U?XkYt@@)^Keqqs9!k_GVk_Ah%pxryY+Ao9QH+F}xEw%ZNknnH z5%Eq&^BKoyEqUXivKh0eIdBGJCY3Y5v1#UtL;NER0Nd%rfxKz(N6MD^0pBEJe>Sun1MF{W-*bgEBSvA; zQf?L3B zN26r&@i8;B?KutS!JCDqv*T8yFQ*tRxL@<{aUhemT5e7|h<`_KE9jwx;81lPxy1-`yE0 zlV}+};-<%1pt&MyeE3CMHFi}g^{XZmC3V8|t5eK7IdO84;=PDS`7rU)Tdh zERHbh6R~mQv3&BY=7U+mF2!&HGox_@J$~mA-a}c7y^(jk>m+P_=w}B_J<+-km5pS7 zQWb--SSCWKbtOh zlS8dm;o(Byr5H6t1L@ws*RAZb z9vHYzIB_COheH>S#`^KAQArJaKm4!*^;<;Fb4YLgh@q z_UxCvQ`l_Q(@*7y{fP+u&9%G_BH_y&C7O55*!mr8-d(-?rcP`wwQHkb1d}0CYOD=H z!m&{HKj1+L1OOQSdEABvySs*YNcsf&l;w^E4)QYT9wR8t(GXx@ah-T00%o1x&42U@ z>Y4~p+FCCBWmfyfU3U??P!#i&tbFr|Z-8VwI+;dq4E|h*@Zzjti(rZPQp2~miEyhL z`VuQDdw+YP`#^yMnd|9zE#50TMAW%@cI>*)?Q@*~aTWb6=7p0LBg03RKgk?Cue|r# z&@%}L5GZ@j|A6ZZ6;j@HYihR2OQv0A6xGV`s=O4vk5(ATAACJiLft5O_@Gn(NxlAd z$eym8Sd*?wWqWkec>YXjyglJ!c%I-bQj)gVT{$?WY}!esuVOPvC#(1&)w=zGw|sLc>*b#Np!3_l>-rKM)jf;G}4O)9r|?|!~YV*h;=Wx~9{@Snc{ zN}I)yd>4euW`XkjFDn1Z?7zqrg=698{qK3@{+Io4;UV209A`xdvC5H8FrXY+waA=N Z&seYV{=bs_+i`&rHO~sAf-wKB`UisN1Ka=r delta 3332 zcmZu!XHb)kvQFp$qy!M4NQG+$~^8?LbvFgq#9L`)wDn9i$*Hv=!Td2 z1)PTFv0PW7=<8O(LuJ{bZgpo|4ZJx+eOQ zfG*&Wq(=^p|3#;jNRi(0nbbD+YF4JRGnIuaEH;WKU5Qj^aE@N@I!pFFhNf^dI}OLr z8FYN^=&NzWW>M`OI`!MY%Ti_dAVtg(kq%^#6hg17%4nESIAPi8n-j^S2IHo<*++Dg z9(Moab|E-INgP48=-FOFhY!G*`_*2Wy$7J)-Y*r|+k&rlQe~VYvsPCIRys!I@cyFS zFObD(@@(C{?>=;N;+%5G^K+B;6H#V(-sj*z$^678nxrX7{EH*PdPHYbM;nprqd5Oo zPx26dB*VodM`plE{o%O#PCR%icI47dWrGUVC5Npp<6zArT_ zKJxj*I5S8E&Tv0Rgi@=z$7Cm76G#@>RI@YAsm$x;?hryHdM6R2(uCw_%|qXvvKLfc zI9w7RnF1cRC(&L>`AOuA6xwgq$ zD&?tUCJJKE66AmSrNu;wi83&2jHfaP#@eh?<~&*Q)go9nMt};QsLY)iU>s5uq016( zta<5{MH0KxUBzY=$C9u*ce8YSg9LveMY|oFI4V*PM*JA5W0j!xE3#P^?xNcD?1e|5 z`USa#wTX}vomr0dVa#>_WH{~$tpGXDyEt6cxlqh2<8O9!rGGtol&4Zb2fpoR;0_eZB?RhX4L6)t^z|K--}WZe_AjiIA0Q%v_Wk>L(2k5gj%!gPCV{ zC0KLbMaA;P!C%^cQb!PR{^E>4h~NHpEh`$H!!uHQp}f6S=_&wpIU1BUW@CGt7h2kd z`J2TW;6s`>ZgD(ebg(ZrFitmuVLmAXHPr$PIX$i!+|9z}?FT~N73U--$*i~I@$V(K{y*Wq@=@T?JTN~CgUuzzcBjOwS>opD5HGjM~m+ZNa!tgjJ@tGK|h}PTNRCW!#trqGj{` zqv@IvSc$x&*bjS5G;2lugD-N$y5V~ZA`M{WkRzYv8D(;#slIidoZY@~^4xmHe?3!qFLLX05TYd{rB=#yEZ+fgDJ9=&iw}$Z46qTy*8;@@ply$Dw7GiGx>bJZq9hWaJ4Xbx8PAi z3NVF2@{-PK=ij@-voAU)(mRc?Aan6`s`gKcN+m(7J7L3a%9h4wbzH1588c|iYM_;z z9*-r|IX)Y*VQr7m!+E_i{otzv)Ltp4BqRfM1-=F;}SH<7A)WrvkmH zp>(Ww-@VT>v+&LJwRrz(IAhWE!F&0p`U*{sBsc7Nuy*;=*OebS>UZ@VS{mwz98>pS ztb27DRMy2vH11gYwR|w_`01nqQ18M8C21e>mNfUFOLlC5W$Uk~j*|5@Fm@jj%CPAe z`XHYtnP?Xb0xAAkXG|b$KErjOCrKqfQ=Bg9;1^R$4>$mdw}y6>>zM82quG(M#&Y5| z6=W6-6MW?t%Wigw3GI#nICPG<_(3LmYqfHtO`oe&LdddzO4ZHhw`j1wc0L}Y+P{3V zP;Ys=MnbwZQe-kMkK9Z$K|1NZU3P(#EY3{6TCp-zA}8N_+DIPqb`20>l8F!Y6!zM^ zVe!aLm3iwJ;hIPKD*43)+90BZX4~CvsU$9pv^?}uS@}y|zX;^wq;=r-r@ZGpH&!={ z?cXq3H05qpeYwW8(0cn8ULX-0~L?zPQmT0ZiA8Un#D zjj)U|NRGh$bK5{JO-w+|KKdZvd?%`GU3ZMF=F7WDk5eaCu9Zp8-E)-6?7Oj~!OkTb zYLBQ&rCTpH=@-rU&K~V&X<MF9vgFvkdf_!_*wu@7#Xu-A`JFmlL~s? zDdRWM#tvmje(Y+Hy)ta8fplDG46<)=VWaCE+jD6@oc>)croz9j-$|7 zO)?TMVW^Sigi@y_8vlcdgHY+2cL94Idf{p5GG0r{{s~GC@*91>*N@`Ra}z(U&TS&O zUQr3W0p2uKypdRe?reb17YsGo4@W`BjoN*mT5V+MDpOI@v)s?)LFQ(VvvHw7<7S{B zb`f`HO`29&Ad*ikkBK1myHrzF-N8-02dU3tKMTXn8(OSH-M5B@c13C3SdA0TP_p|q z>MpyPAw5PCJS&|&#tUhgdAhu;{`lwI*nRXn{a@ai5A3bQ0`|LD&98qbrI{`7cm+a^WcIV>?zgYd^4s?lIYk#0``05^~O$#FsX$2*T zof{rblWTKOd4wI-vGgZ9z;lwp$*$o12E&U5Mz{injEUs-k?e5QrzRAh68Z-C80o@1 zF2mWmPqanA6F!ms4Muzh`T$RWHg+N=V%jcn*MuP!)*bzpgMxFj+9gfjKI@xV>oXh0 zzi>F1IDKjKV50RXJ~lQJF3eYdWy<)Gn|CjSVwRewJ9j^&N0~Y&+ssQiCc)1lTXf(X z8*@&fLESJ73mDLSZiwJ$K~m8C87u97phWx6h3w~TZ~M$a)Wy>!`Sp+|N}NvP`)^9E zMc7PneRON(G1%N>CoyuBi^bh`q6m0QuC1b;!tNhvDMDWZ7=vv7>1O8>vw^xg{`Oy(AfhHBwD*4mEa;6q^e7ZMzDS3xf|r; zW>vzb`YqLOMjTEMX$kao7yN76SYw*zSBPYeQ$_%jv~#)`=6DZeT5S*>k_29K&^9fw zdVX>dFxP;SzzetROf7eIgsk~(aYXn`V>U}Z82(5v5S{(&1+&+B-2Oh#Vm%+s*&N0L zCzgl4>bTFg1xOjWbzW`54;cxz4~duHS8*z}(BB=GL=h;uQF}Sndap8&HdU~rM5>v$prh48!emrt-)BD@TNj$ z?>O{%1)hd~%wlNX_8yuDf{y5z`$6j$)c~q?54-uUYtT!w@O`NJ6Wqas(@)1jy z9x>b;XKjiS%Po%y`^3G9$^lQ?3uL6EuIFeFb1BA!`~%qPEVi>K-Uk=k&vpR4s#q7x zWMdqL=!%NcqhY}=j{JBokd-W-V6r8&5!0*=&2-R&!rF8j`41Vu?kDxRL)rpN-Vx4Z2@S;%5)myTxw(IH%^l_IYp_M~ zl+d&m&$l?qD+`0tAtmf|7M(zyWsR;}Sb`D~Z#c{WqI#HUL2IH?a^O zU!U{$0^MEk9%?=TK6z;t0nzG0Ci@1llmK8frKDo?f}ve`E#4VW$$9gPP5Q*>VW!qq zpJ9GUV*Wlt=ll-H@o9cA_3;_+axEEI@T6_UiEoSX2bg&-flO`(@>+Tl$tdI_kFPRl zf#|a*R*G1J_Dva6MPBBv&G6ROOoJxDcOFgU#0k-g;^W2!Q>z3Q86WMKl*GH>XP3!~ z4hLcU{4%_h5!w8=)wN=XT2}o`ih&7oa8 z)+kh&hE0M#!*p1>bzPi&K%yiWgZ>~?+If}}01!D10Pz2_*58w<1$qarJNV!xbi|MS ze({*7OZp_k_U*w6HPJeKOg5jVy9}l%$GJfrh@fjAf5yJQu0!jvMsMKBhhJNZls zCa=hquxPI$SHx>L=pBz}7RKw_bfvQI5VpRUa$(z^Wh<}%iOpJg5eV8*!b_$o zSe@?%Et&twr>?N zkj$4M0|4Sw2$1v=oApe+?8Je=C)?kvT#7}+jRdOOc_&x*wcZJ=PzW!GqK%j>d9Pb# zdN*RF?!TzL70K}-7w*rYzn$C_=*{ITwEPS#C|P7eW$(8RPrYEoMp!f#@lMs^FVgcO zx`j)ml%T>uDg&LEgSd>E7CW=WoTiGcC_v_bKdqx3&@eyXK}*M6hp+%I@pYZ6%T($U zAm1M%WF_rIyN(?nhUB7nXytG4GB+gi;PQIA zt4%VjcB9tPGFJw>Oo>~SXXJmX5{SKSWtup`m9rTN;XvR{54Et~qxW0AArBt#iL0zL zwV{9+)qNnSvPVBVU;PB+o2mITuSpyCu@R_J-!lITOta>xa zv$P4?`^8(jI7ddLc+x^x$%Ya8616cr+KdHSc-1s~&$YbGx7%{WmAWTSj5v4U+;~Q@ z{*tGlees&3Oosxp-`!3Z62<##^eq70o-H@X43uNIbvF$emJZ>}P*L^A@d*r2f0uQ1JJ8in| zVy=2bnYX=9LcV)2SbpdMHb`5_U0>ToX=xxhzswlX=PHknsTr$H#c3-k+v(ckOJ4WI zQmoY$58jv?MD8-+Z89A$pVpKY3tO7BPk%A2R+Y5fc)3JK>FZ|@lg5zN+xr6owNLN%!{6hqrhA;7R03Cr8h27n zy`{LD9cz}*vrc9n53QA{p2w3PC0VX2(I=hjaj;&tl?^#OgR0rq zrJ(HCh z(9aR~IzMsb_7%dijk#+hE>uai!EP-i`(lg?DP}znw#~OPGz}AV(IO-NVndtx3e?ou9Z`DVY<1(ux$Y%BVqR;tbXBi^1xZ?GW<$(Ii zuF7FkYt~2$QBJ(KFxk!N=NX=~Q7o2E(H3<+vNHzPG3qhd3=KNx(qbSn>9}FCQ!6A* z%?-_~^aoWN-`k&xc-3>PU(5RQRj^UZgx@)VEZ>YLvktj0Ur06n;0$_A+pXS|>Npb< za}ehgSh9Jv^j#wcN%z`2ZbP{GwSqp{wMpv>`n?tq$Cz<^v0IARJLC46@Y>>b%UjC$ z%yX81<0Se>2;)4OGWV)ol^88k2j1t+KDp4*%ACkHZkSNzSo?K%hD+xshAg}mLtDYB z6Dpm8Lng5<0D}6#DUy(2H2?oyBvPRu21q0A3jP7KBwZ3R0=^+d3h4uPNHig7>3l0qR;(*LHcf7$>*I*AI=XPXxweT67;-uzqsfd2x?%%h|L delta 2544 zcmZveX*d)L1BGXVD`94AV~s28V2tcruBGgRLAIeR4Kl_SgA5H>ii{DBrN&O#*C-50 zB1=RWYuOczkw#beZqM`GAK&wQ=g;|bex38000hvNtlhreoIGr zDi8orBtjMO-Xz6)5EEg!+5{8r6E&c1NWjs|;o?HBiKZ?3w{iV}8vZjROjtsFQF66dX*HvI{I0IQnoTanks2R$MQZr632$EM3ex-~&2`e(a!2-rD81gf7?MbW)ZY48 zW|x27zwG@(JLov)2=MT0I!$H#sE=e#UTxy6L7nRoQTrA+H|u`pD)4kt`Ey_?V%54# zW-^j@-e0VdbxU%9*vaLy=ivER<@YMhRN&?*ylsMm=FuMFg{-+$pxKp0 z#;+Y-PmqgY_qk!G=OPdKUcoK-r`+U&PGaLhouN98AlS<7mV2SnILk3gRYXx<^oI7=OBv@LUz1s2+k8e2+VkUn=Gs0JCl+5jr%V^qt#Cf%ffR!+&PZkw2aMt zQ>+5wIEqe(u_}5MnDbmU#rqY)fG$hfC)PftMW^on3M{~$8OzORA2Q^ssMgC1!TAWp zU^-V!$Qt8zd`B;>I!XTLX^gmYErQ2L{}hTAcD6geo9G{X?*q%h_f`&lDepK^&Wn|wt*{0QaZH} zY0B!=o8ES_Z?c0jNj64(G%{p@9v#s46?K(sk+!g51B({Mq3{E=v9OWqqf%8PvNWX6 zB1wufETT~1*=TkuN0~os;_?-#3#!lnO@DP$II5DW->66NO#kDV)|2tO~xajc#=_N_d%-0DSds?{1#$aH9JLTLLgzy*T~a zB^l=&IoqIYnd0M==&;eymDQWNwrAqnXq;=S_rDro-J)H^8D@YGZ zufIA!ww%Zl^Bq0KwfqZal|godnO8k~2+e&V=2C4a=G@i-BG|_cvEjJ|*-*mB)~B!9 zz3WzVrYgZddKnE6vF_wIO-_*<4VBqYM-4uX{a8qI~RpC)0i3B*s93dTZP z`NY0RT*UDI8We`Y-XiV0^&JB$B)KgHK2q04s<=|v%QdAu`IhpZWPq`zPOclYnXUA% zHI+`GqXWMN`Zo;z!r|c+6Ka&9mO6idKBkRd_N<~&BrHMiqvDL;cI$puq=wJ9gbkW^ zD$AW)t-|TvR^ySzSzG^{i?^kz;Mn^^AmoJVIVuF7G?{~rjj18KON1@G!`W$V4R!_@s){&zvX ze>3P4k+Et5YUFINTYxsg*h`rRVfe#V+A1;p>aMCyA0nIWMuXI-^nK&G4i9L@p z_-Zyq-*;L|6|cOT7cW8UeSI5^?olea#UJ{Nh)o{k1_y_9c-1iY-NXs!&_? zXlZK%a`2SjHvvE8_3q^67z40D){pKi!Dnw8s%km+)e{CD8hf7|j2#;c8f1Q(c}o9| z??CJ?dz~54ACcrK88auw7S~9FtBVjBo^46x zG3?Jy3Jtvef;UCQ;c*o|7(jOZBGvYKy*L210 z06t+nAN<-ac2h3#NEoQqM=JzP(8&AJ%({C*sU;(}7baQl$>x`L!pGxy8h6KE>mNVa zd&It=Sy=QwQ{c%Sr77wL!v2e-4e!X2uV>Rjb$q2Yq;Z1xyHfWHgTv*q=BRIm9XR9p zv4l?JLTI7i<@`4#iB|~ot?Z!M7t@)Gt_4v1w8w)C<+@@@w!r!}RyMj%`0)g|Sxf4? z+B*${1D+*Y&J@v4n+rcWGArW{XstG8VzX27EY;~~c7f3*iAWK1R~1V0<9Dw9h`D8^ zz3Pk+EuqEN+ef;1*yt$f*u4(7iAFfBLJ^%m!