PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i5h-3LL

HOME


5h-3LL 1.0
DIR: /srv/http/adent.cz/inzert-reality.cz/app/Plugin/Reality/Controller
/srv/http/adent.cz/inzert-reality.cz/app/Plugin/Reality/Controller/
Upload File:
Current File : /srv/http/adent.cz/inzert-reality.cz/app/Plugin/Reality/Controller/NemovitostController.php
<?php

App::uses('TextTools', 'Tools.Lib');
App::uses('RandomTools', 'Tools.Lib');
App::uses('FiltrData', 'Reality.Model');

App::uses('Folder', 'Utility');
App::uses('File', 'Utility');

class NemovitostController extends AppController {

    public $components = array('RequestHandler', 'Search', 'Filter.Filter');
    public $helpers = array('Time', 'Js', 'Text', 'QrCode.QrCode');
    public $uses = array('Reality.ObcanskaVybavenost','Reality.PObvod', 'Reality.Okres', 'Reality.Makler', 'Reality.Ostatni', 'Reality.Plyn', 'Reality.Odpad', 'Reality.Voda', 'Reality.Elektrina', 'Reality.Topeni', 'Reality.Site', 'Reality.Telekomunikace', 'Reality.UcelBudovy', 'Reality.Akce', 'Reality.Doprava', 'Reality.Irtyp', 'Reality.Vlastnictvi', 'Reality.Typ', 'Reality.Kraj', 'Reality.PolohaObjektu', 'Reality.Nemovitost', 'Reality.NemovitostFoto', 'Reality.DruhPozemku', 'Reality.Dispozice', 'Reality.Stav', 'Reality.Vybaveno', 'Reality.Druh', 'Reality.FiltrData', 'Reality.DruhBytu','Reality.TypProstor');

    public function odstranInzerat() {
        $nemovitost = $this->Nemovitost->findByDeleteString($this->request->slug);
        if ($nemovitost == null) {
            $result = 0;
        } else {
            $this->Nemovitost->id = $nemovitost['Nemovitost']['id'];
            $this->Nemovitost->read();
            $this->Nemovitost->saveField('status', 'neinzerovat');
            $result = 1;

            $email = new CakeEmail();
            $email->template('stazeni_inzeratu', 'email_template')
                    ->emailFormat('both')
                    ->to('inzerat@inzert-reality.cz')
                    ->from('inzerat@inzert-reality.cz')
                    ->subject('Stazeni inzerátu ze stránek www.inzert-reality.cz');
            $email->viewVars(array('name' => $nemovitost['Nemovitost']['nazev']));
            $email->viewVars(array('id' => $nemovitost['Nemovitost']['id']));
            $email->viewVars(array('vlozilJmeno' => $nemovitost['Nemovitost']['vlozil_jmeno']));
            $email->send();

            
        }
        $this->set('result', $result);
    }

    public function getSearchText($nemovitost) {
        $textTools = new TextTools();
        $text = array();
        ;
        $text[] = $nemovitost['Nemovitost']['nazev'];
        $text[] = $nemovitost['Nemovitost']['nazev'];
        $text[] = $nemovitost['Nemovitost']['lokalita'];
        $text[] = $nemovitost['Nemovitost']['ulice'];

        if (!empty($nemovitost['Nemovitost']['okres_id']) && $nemovitost['Nemovitost']['okres_id'] == 19) {
            $text[] = " praha ";
        }

        if (!empty($nemovitost['Nemovitost']['Okres']['nazev'])) {
            $text[] = $nemovitost['Nemovitost']['Okres']['nazev'];
        }

        return ereg_replace('-', ' ', $textTools->getSafeString(implode('-', $text)));
    }

    public function admin_getByKraj() {
        $this->getByKraj();
    }

    public function getByKraj() {
        $category_id = $this->request->data['Nemovitost']['kraj_id'];

        if ($category_id == 19) {
            $pObvody = $this->PObvod->find('all');

            foreach ($pObvody as $value) {
                $subcategories[$value['PObvod']['pobvod_kod']] = $value['PObvod']['nazev'];
            }
        } else {
            $subcategories = $this->Okres->find('list', array(
                'conditions' => array('Okres.kraj_kod' => $category_id),
                'recursive' => -1
                    ));
        }
        $this->set('subcategories', $subcategories);
        $this->layout = 'ajax';
    }

    public function admin_upPhoto($id = null) {
        $this->NemovitostFoto->id = $id;
        $this->NemovitostFoto->read();
        if (!$this->NemovitostFoto->exists()) {
            throw new NotFoundException(__('Invalid category'));
        }
        echo $this->NemovitostFoto->moveUp($this->NemovitostFoto);

        $this->redirect(array('action' => 'edit', $this->NemovitostFoto->data['NemovitostFoto']['r040nemovitost_id']));
    }

    public function admin_downPhoto($id = null) {
        $this->NemovitostFoto->id = $id;
        $this->NemovitostFoto->read();

        if (!$this->NemovitostFoto->exists()) {
            throw new NotFoundException(__('Invalid category'));
        }
        echo $this->NemovitostFoto->moveDown($this->NemovitostFoto);

        $this->redirect(array('action' => 'edit', $this->NemovitostFoto->data['NemovitostFoto']['r040nemovitost_id']));
    }

    /* Metoda smaze fotografii */

    public function admin_deletePhoto($id = 0) {
        $this->NemovitostFoto->read(null, $id);
        if ($this->NemovitostFoto->data['NemovitostFoto']['file'] != '') {
            @unlink($this->NemovitostFoto->data['NemovitostFoto']['file']);
        }


        $idNemovitost = $this->NemovitostFoto->data['NemovitostFoto']['r040nemovitost_id'];
        $this->NemovitostFoto->delete($id, false);
        $this->redirect(array('action' => 'edit', $idNemovitost));
    }

    /*
     * Metoda nahraje na server fotografii
     */

    public function uploadPhoto($nemovitostId, $nemovitostTitle, $tmpName) {
        $textTools = new TextTools();
        $randomTools = new RandomTools();

        $adresarNemovitost = $nemovitostId % 100;

//v pripade nutnosti vytvoreni adresare
        $path = 'uploads/nemovitost/' . $adresarNemovitost;
        $folder = new Folder($path, true, 0755);
        $folder->chmod($path, 0755);

        //vytvorime si vhodny nazev souboru
        if (!empty($nemovitostTitle)) {
            $filename = $path . "/" . $randomTools->randomString(8) . '-' . $textTools->getSafeString($nemovitostTitle) . ".jpg";
        } else {
            $filename = $path . "/" . $randomTools->randomString(8) . ".jpg";
        }

        copy($tmpName, $filename);
        chmod($filename, 0666);


        $this->NemovitostFoto->create();
        $valueToSave = array(
            'r040nemovitost_id' => $nemovitostId,
            'title' => (empty($nemovitostTitle) ? "" : $nemovitostTitle),
            'file' => $filename
        );
        $this->NemovitostFoto->set($valueToSave);
        $this->NemovitostFoto->save();
    }

    /* controller uploduje obrazek */

    public function admin_uploadPhoto() {
        $this->uploadPhoto($this->request->data['Nemovitost']['nemovitost_id'], $this->request->data['Nemovitost']['title'], $this->request->data['Nemovitost']['soubor']['tmp_name']);
        $this->redirect(array('action' => 'edit', $this->request->data['Nemovitost']['nemovitost_id']));
    }

//    /* controller uploduje obrazek */
//
//    public function admin_uploadPhoto() {
//        $textTools = new TextTools();
//
//        $adresarNemovitost = $this->request->data['Nemovitost']['nemovitost_id'] % 100;
//        //v pripade nutnosti vytvoreni adresare
//        $path = 'uploads/nemovitost/' . $adresarNemovitost;
//        $folder = new Folder($path, true, 0755);
//        $folder->chmod($path, 0755);
//
//        //vytvorime si vhodny nazev souboru
//        if (!empty($this->request->data['Nemovitost']['title'])) {
//            $filename = $path . "/" . time() . '-' . $textTools->getSafeString($this->request->data['Nemovitost']['title']) . ".jpg";
//        } else {
//            $filename = $path . "/" . time() . ".jpg";
//        }
//
//        copy($this->request->data['Nemovitost']['soubor']['tmp_name'], $filename);
//        chmod($filename, 0666);
//
//
//        $this->NemovitostFoto->create();
//        $valueToSave = array(
//            'r040nemovitost_id' => $this->request->data['Nemovitost']['nemovitost_id'],
//            'title' => (empty($this->request->data['Nemovitost']['title']) ? "" : $this->request->data['Nemovitost']['title']),
//            'file' => $filename
//        );
//        $this->NemovitostFoto->set($valueToSave);
//        $this->NemovitostFoto->save();
//        $this->redirect(array('action' => 'edit', $this->request->data['Nemovitost']['nemovitost_id']));
//    }

    public function getNumCategory() {
        $options = array(
            'conditions' => array('Nemovitost.status' => 'aktivni'),
            'fields' => array('Nemovitost.r046irtyp_id', 'COUNT(Nemovitost.r046irtyp_id) as pocet'),
            'group' => 'Nemovitost.r046irtyp_id',
            'recursive' => -1, //int
        );
        $resultFind = $this->Nemovitost->find('all', $options);
        $result = array();

        foreach ($resultFind as $value) {
            $result[$value['Nemovitost']['r046irtyp_id']] = $value[0]['pocet'];
        }


        $options = array(
            'conditions' => array('Nemovitost.status' => 'aktivni', 'Nemovitost.doporucujeme' => 1),
            'recursive' => -1, //int
        );
        $resultFind = $this->Nemovitost->find('count', $options);


        $result[6] = $resultFind;


        return $result;
    }

    public function admin_edit($id = '') {

        $this->set('r042maklerGlobalHcs', $this->Makler->find('list', array('fields' => array('global_hc_id', 'title'), 'conditions' => array('r063_id' => 1),'order'=>'title')));


        if ($this->request->is('get')) {
            $this->Nemovitost->id = $id;
            $this->request->data = $this->Nemovitost->read();
            $this->set('childrenContentTypes', $this->Nemovitost->find('list'));

            if (!empty($this->request->data['Nemovitost']['kraj_id'])) {

                if ($this->request->data['Nemovitost']['kraj_id'] == 19) {
                    $pObvody = $this->PObvod->find('all');

                    foreach ($pObvody as $value) {
                        $okress[$value['PObvod']['pobvod_kod']] = $value['PObvod']['nazev'];
                    }
                } else {


                    $okress = $this->Okres->find('list', array(
                        'conditions' => array('Okres.kraj_kod' => $this->request->data['Nemovitost']['kraj_id']),
                        'recursive' => -1
                            ));
                }

                $this->set("okres", $okress);
            }





            $nemovitostItems = Configure::read('nemovitostItems');

            foreach ($nemovitostItems as $key => $value) {
                if ((empty($value['nenacitejModelVControlleru']) || !$value['nenacitejModelVControlleru']) && !empty($value['modelName'])) {
//  echo $key . '<br />';
                    if (ereg("_id", $key)) {
                        
                        $this->loadModel('Reality.'.$value['modelName']);
                        $this->set(ereg_replace('_id', '', $key) . 's', $this->{$value['modelName']}->find('list'));
                    } else {
                        $this->loadModel('Reality.'.$value['modelName']);
                        $this->set(strtolower($key) . 's', $this->{$value['modelName']}->find('list'));
                    }
                }
            }
        } else {
            $this->request->data['Nemovitost']['datetime_sort'] = date('Y-m-d H:i:s');
            if ($this->Nemovitost->save($this->request->data)) {

                if (!empty($this->request->data['Nemovitost']['kraj_id']) && $this->request->data['Nemovitost']['kraj_id'] == 19) {
                    if (!empty($this->request->data['Nemovitost']['okres_id']) && $this->request->data['Nemovitost']['okres_id'] == 19) {
                        $this->Nemovitost->saveField('pobvod_id', $this->request->data['Nemovitost']['okres_id']);
                        $this->Nemovitost->saveField('okres_id', 0);
                    }
                }

                $this->Nemovitost->saveField('search',$this->getSearchText($this->request->data));
                $this->Session->setFlash('Stránka byla změněna.');
                $this->redirect(array('action' => 'irRealityIndex'));
            } else {
                $this->Session->setFlash('Stránku nelze změnit.');
            }
            exit();
        }
    }

    public function vlozitInzeratSendEmail($nemovitost) {
        $nemovitostData = $nemovitost->read(null, $nemovitost->id);

        if ($nemovitostData['Nemovitost']['vlozil_email']) {

            $email = new CakeEmail();
            $email->template('vlozeni_inzeratu', 'email_template')
                    ->emailFormat('both')
                    ->to($nemovitostData['Nemovitost']['vlozil_email'])
                    ->from('inzerat@inzert-reality.cz')
                    ->subject('Vložení inzerátu do stránek www.inzert-reality.cz');
            $email->viewVars(array('urlDelete' => $nemovitostData['Nemovitost']['delete_string']));

            $email->send();
        }

        /* upozorneni makleru */
        $email = new CakeEmail();
        $email->template('upozorneni_o_vlozeni_inzeratu', 'email_template')
                ->emailFormat('both')
                ->to('inzerat@inzert-reality.cz')
	   //         ->to('ivris@adent.cz')
                ->from('inzerat@inzert-reality.cz')
                ->subject('Vložení inzerátu do stránek www.inzert-reality.cz');


        $email->send();
    }

    function admin_delete($id) {

        /* nacteni id typu obsahu */
        $this->Nemovitost->id = $id; //  
        $this->Nemovitost->read();


        if ($this->Nemovitost->delete($id)) {
            $this->Session->setFlash('Stránka byla úspěšně smazána');
            $this->redirect(array('action' => 'irRealityIndex'));
        }
    }

    public function vlozitInzerat() {

        // 16.10.2019 - docasne odstranena moznost vlozit inzerat
        exit();
        
        $textTools = new TextTools();
        $randomTools = new RandomTools();

        if ($this->request->is('post')) {

            if ($this->Nemovitost->save($this->request->data)) {
                $defaultValue = array('cena_mena' => 1, 'cena_jednotka' => 1);
                $this->Nemovitost->set($defaultValue);
                $this->Nemovitost->saveField('r062vlozeno_id', 2);
                $this->Nemovitost->saveField('datetime_sort', date('Y-m-d H:i:s'));
                $this->Nemovitost->saveField('status', 'aktivni');
                $this->Nemovitost->saveField('slug', $textTools->getSafeString($this->request->data['Nemovitost']['nazev']) . '-' . rand(1, 999));
                $deleteString = $randomTools->randomString(32);
                $this->Nemovitost->saveField('delete_string', $deleteString);
                $this->Nemovitost->saveField('search',$this->getSearchText($this->request->data));

                if (!empty($this->request->data['Nemovitost']['kraj_id']) && $this->request->data['Nemovitost']['kraj_id'] == 19) {
                    if (!empty($this->request->data['Nemovitost']['okres_id']) && $this->request->data['Nemovitost']['okres_id'] == 19) {
                        $this->Nemovitost->saveField('pobvod_id', $this->request->data['Nemovitost']['okres_id']);
                        $this->Nemovitost->saveField('okres_id', 0);
                    }
                }


                /* ulozeni fotografii */
                for ($index = 1; $index < 4; $index++) {
                    $namePhoto = "photo" . $index;
                    if (!empty($this->request->data['Nemovitost'][$namePhoto]['tmp_name'])) {
                        $this->uploadPhoto($this->Nemovitost->id, $this->request->data['Nemovitost']['nazev'], $this->request->data['Nemovitost'][$namePhoto]['tmp_name']);
                    }
                }


                /* Odeslan zpravy */
                $this->vlozitInzeratSendEmail($this->Nemovitost);


                $this->Session->setFlash('Váš inzerát byl úspěšně vložen.');
                $this->redirect('/uspesne-vlozeni-inzeratu');
            } else {
                $this->Session->setFlash('Unable to add your post.');
            }
        } else {
            $this->nactiSelectyProEditaci();
        }
//vlozit inzerat
        //var_dump($this->request->data);
//odeslat emial a upozorneni
    }

    public function nactiSelectyProEditaci() {
        $nemovitostItems = Configure::read('nemovitostItems');
        foreach ($nemovitostItems as $key => $value) {
            if ((empty($value['nenacitejModelVControlleru']) || !$value['nenacitejModelVControlleru']) && !empty($value['modelName'])) {
//  echo $key . '<br />';
                if (ereg("_id", $key)) {
                  Controller::loadModel('Reality.'.$value['modelName']);
                    $this->set(ereg_replace('_id', '', $key) . 's', $this->{$value['modelName']}->find('list'));
                } else {
                  //echo $value['modelName'];
                    Controller::loadModel('Reality.'.$value['modelName']);
                    $this->set(strtolower($key) . 's', $this->{$value['modelName']}->find('list'));
                }
            }
        }
    }

    public function admin_add() {
        if ($this->request->is('post')) {
            if ($this->Nemovitost->save($this->request->data)) {
                $defaultValue = array('cena_mena' => 1, 'cena_jednotka' => 1);
                $this->Nemovitost->set($defaultValue);
                $this->Nemovitost->saveField('r062vlozeno_id', 3);
                $this->Nemovitost->saveField('datetime_sort', date('Y-m-d H:i:s'));

                if (!empty($this->request->data['Nemovitost']['kraj_id']) && $this->request->data['Nemovitost']['kraj_id'] == 19) {
                    if (!empty($this->request->data['Nemovitost']['okres_id']) && $this->request->data['Nemovitost']['okres_id'] == 19) {
                        $this->Nemovitost->saveField('pobvod_id', $this->request->data['Nemovitost']['okres_id']);
                        $this->Nemovitost->saveField('okres_id', 0);
                    }
                }

                $this->Nemovitost->saveField('search', $this->getSearchText($this->request->data));

                $this->redirect(array('action' => 'irRealityIndex'));
            } else {
                $this->Session->setFlash('Unable to add your post.');
            }
        } else {
            /* predvyplnime formular */
            $myData = $this->data;
            $this->set('r042maklerGlobalHcs', $this->Makler->find('list', array('fields' => array('global_hc_id', 'title'), 'conditions' => array('r063_id' => 1))));
			
			
            $this->nactiSelectyProEditaci();
			$this->set('status','aktivni');
            $this->data = $myData;
        }
    }

    public function admin_irRealityIndex($id = '') {
        $this->set('items', $this->Nemovitost->find('all', array('order' => array('Nemovitost.doporucujeme', 'Nemovitost.lokalita') ,'conditions' => array('r062vlozeno_id' => array(2, 3)))));
    }

    public function admin_schvalovani() {
//$this->set('items', $this->Nemovitost->find('all', array('fields' => array('Nemovitost.id'),'conditions'=>array("r062vlozeno_id"=>2)));
        $this->set('items', $this->Nemovitost->find('all'));
    }

    public function admin_ajaxAppendForm($param = '') {
        $nemovitostItems = Configure::read('nemovitostItems');
        $this->layout = 'ajax';

        $redirect = $this->prevodVsechTypuNaZobrazovaneTable();

        if (!empty($param)) {
            $keyFiltr = 'appendForm' . ucfirst($redirect[$param]);
        }

        foreach ($nemovitostItems as $key => $value) {

            if ((empty($value['nenacitejModelVControlleru']) || !$value['nenacitejModelVControlleru']) && !empty($value['modelName'])) {
//echo $key.'<br />';
//echo $value['modelName'];
//echo "<br />";
				//kamil - 3.2.2014 - nacteni module, jinak to hazelo chybu
				Controller::loadModel('Reality.'.$value['modelName']);
		  
                $this->set(ereg_replace('_id', '', $key) . 's', $this->{$value['modelName']}->find('list'));
            }
        }


        if (!empty($keyFiltr)) {
            $this->set('keyFiltr', $keyFiltr);
        }

        $this->set('nemovitostItems', $nemovitostItems);
    }

    /* Metoda vrati pro ajaxovy poadavek vsechny okresy pro aktivni kraje. V pripade Prahy se jedna o obvody */

    public function filtrAjaxOkres($param = '') {
        $resultKraje = array();


        if ($param != '') {
            $kraje = explode('-', $param);

            foreach ($kraje as $value) {
                $this->Kraj->id = $value;
                $aktivniKraj = $this->Kraj->read();

                if ($value == 19) {//jedna se o prahu
                    $pObvody = $this->PObvod->find('all');
                    $okresy = array();
                    foreach ($pObvody as $value) {
                        $okresy[$value['PObvod']['pobvod_kod']] = $value['PObvod']['nazev'];
                    }
                } else {

                    $okresy = array();
                    if (!empty($aktivniKraj['Okres'])) {
                        foreach ($aktivniKraj['Okres'] as $value) {
                            $okresy[$value['okres_kod']] = $value['nazev'];
                        }
                    }
                }
                $aktivniKraj['okresy'] = $okresy;
                $resultKraje[] = $aktivniKraj;
            }
        }


//var_dump($kraje);

        $this->layout = 'ajax';

        $this->set('result', $resultKraje);
    }

    public function filtrAjax($param = '') {
        $nemovitostItems = Configure::read('nemovitostItems');
        $this->layout = 'ajax';
        $redirect = $this->prevodVsechTypuNaZobrazovaneTable();
        $nemovitostItems = Configure::read('nemovitostItems');

//zjistijeme zda si uzivatel jiz vybral nejaky typ
        if (empty($redirect[$param])) {
            $keyFiltr = 'filtrEmpty';
        } else {
            $keyFiltr = 'filtr' . ucfirst($redirect[$param]);
        }

        foreach ($nemovitostItems as $key => $value) {
            if (!empty($value[$keyFiltr])) {
                if (empty($value['nenacitejModelVControlleru']) || !$value['nenacitejModelVControlleru']) {
//echo $key.'<br />';
                    $this->set(ereg_replace('_id', '', $key) . 's', $this->{$value['modelName']}->find('list'));
                }
            }
        }

        $this->set('keyFiltr', $keyFiltr);
        $this->set('nemovitostItems', $nemovitostItems);
    }

    /**
     *  Zobrazeni vsech nemovitosti 
     */
    public function admin_index() {
        $this->set('items', $this->Nemovitost->find('all', array('fields' => array('Nemovitost.id'))));
    }

    public function admin_doporucujeme($id = null) {

        if (!empty($this->request->data['idNemovitost'])) {
            $this->Nemovitost->read('id', $this->request->data['idNemovitost']);
            $this->Nemovitost->saveField('doporucujeme', $this->request->data['newValue']);
        }

        $this->set('items', $this->Nemovitost->find('all', array(
                    'fields' => array('Nemovitost.id', 'Nemovitost.nazev', 'Nemovitost.doporucujeme', 'Nemovitost.global_hc_id', 'Nemovitost.lokalita', 'Nemovitost.slug'),
                    'order' => array('Nemovitost.doporucujeme', 'Nemovitost.lokalita'),
                    'conditions' => array('Nemovitost.status' => 'aktivni')
                )));
    }

    /**
     * Metoda vymaze filtr 
     */
    public function resetFiltru() {
        $this->Session->write('filtr', array());
        $this->redirect($this->referer());
    }

    /**
     * Metoda podle zadaneho typu vybere spravne nemovitosti 
     */
    public function nemovitostTyp() {
        $typNemovitosti = $this->request->pass[0];
        $filtrData = new FiltrData();
        $filtrData->addFiltrValue('Nemovitost.r046irtyp_id', $this->request->pass[0]);
        $filtrData = $this->Session->write('filtr', $filtrData);

        $pom = array('Nemovitost' => array('r046irtyp_id' => $this->request->pass[0]));
        $this->Session->write('reqData', $pom);
        $this->redirect('/nemovitost');
    }

    private function prevodVsechTypuNaZobrazovaneTable() {
        $redirect = Configure::read('prevodVsechTypuNaZobrazovaneTable');
        return $redirect;
    }

    public function nastavFiltr() {
        /*
          <option value="4">byty</option>
          <option value="6">domy a vily</option>
          <option value="3">pozemky</option>
          <option value="2">komerční objekty</option>
          <option value="9">komerční prostory</option>
          <option value="7">hotely, penziony a restaurace</option>
          <option value="8">nájemní domy</option>
          <option value="10">chaty a rekreační objekty</option>
          <option value="1">zemědělské objekty</option>
          <option value="5">historické objekty</option>
          <option value="11">malé objekty, garáže</option>
         */
        $redirect = $this->prevodVsechTypuNaZobrazovaneTable();

        $toUrl = '';

        $filtrData = $this->Session->read('filtr');

        if ($filtrData == null) {
            $filtrData = new FiltrData();
        }

        if (!empty($this->request->data['Nemovitost']['kraj_id'])) {
            $filtrData->addFiltrValue('Nemovitost.kraj_id', $this->request->data['Nemovitost']['kraj_id']);
        }

        if (!empty($this->request->data['Nemovitost']['cena_do'])) {
            $filtrData->addFiltrValue('Nemovitost.cena < ', $this->request->data['Nemovitost']['cena_do']);
        }


        $this->Session->write('filtr', $filtrData);

        $this->Session->write('reqData', $this->request->data);


        $this->redirect('/' . $redirect[$this->request->data['Nemovitost']['r002typ_id']]);

        if ($toUrl == '') {
            $this->redirect('/');
        }
    }

    public function nahodnyInzerat() {
        $nemovitost = $this->Nemovitost->find('first', array('limit' => 1, 'conditions' => array("status" => "aktivni"), 'order' => 'rand()'));
        while (empty($nemovitost['Foto'][0]['file'])) {
            $nemovitost = $this->Nemovitost->find('first', array('limit' => 1, 'conditions' => array("status" => "aktivni"), 'order' => 'rand()'));
        }
//$nemovitost = $this->Nemovitost->find('first', array('limit' => 1, 'conditions' => array("status" => "aktivni"), 'order' => 'rand()'));

        /* $fotogalerie = $this->NemovitostFoto->find('all', array(
          'conditions' => array('NemovitostFoto.r040nemovitost_id' => $nemovitost['Nemovitost']['id']),
          'order' => 'NemovitostFoto.poradi')
          ); */
//return compact('nemovitost', 'fotogalerie');
        return compact('nemovitost');
    }

    /**
     *  Zobrazeni nemovitosti 
     */
    public function detail() {
        $nemovitost = $this->Nemovitost->find('first', array('conditions' => array('Nemovitost.slug' => $this->request->slug)));

        //19.2.2013 - zmenil jsem v pohledu 
        /*
        if ($nemovitost['Nemovitost']['status'] == 'neinzerovat') {
            $this->redirect('/inzerat-nenalezen');
        }
        */
        $fotogalerie = $this->NemovitostFoto->find('all', array(
            'conditions' => array('NemovitostFoto.r040nemovitost_id' => $nemovitost['Nemovitost']['id']),
            'order' => 'NemovitostFoto.poradi')
        );
        $this->set(compact('nemovitost', 'fotogalerie'));
    }

    /**
     *  Zobrazeni vsech nemovitosti 
     */
    public function index() {


        if ($this->RequestHandler->isRss()) {
            $nemovitosti = $this->Nemovitost->find('all', array('limit' => 200, 'conditions' => array("status" => "aktivni"), 'order' => 'Nemovitost.id DESC'));
            return $this->set(compact('nemovitosti'));
        }


        /* pokud jdu s nastaven filtrum tak si pamatuji data kvuli zaskrtnuti ve filtru */
        $pom = $this->Session->read('reqData');
        if (!empty($pom)) {
            $this->request->data = $pom;
            $this->Session->delete('reqData');
            $filtrData = $this->Session->read('filtr');
        }

//$filtrData = $this->Session->read('filtr');

        if (empty($filtrData)) {
            $filtrData = new FiltrData();
        }

        if ($this->request->is('post')) {
            $filtrData->setFiltr($this->postConditions($this->request->data));
        }

        $intervalovePolozky = array('cena', 'plocha_uzitna', 'plocha_zastavena', 'plocha_parcely');
        foreach ($intervalovePolozky as $value) {

            if (!empty($this->request->data['Nemovitost'][$value . '_do'])) {
                $filtrData->addFiltrArray(array('Nemovitost.' . $value . ' < ' => $this->request->data['Nemovitost'][$value . '_do']));
            }

            if (!empty($this->request->data['Nemovitost'][$value . '_od'])) {
                $filtrData->addFiltrArray(array('Nemovitost.' . $value . ' > ' => $this->request->data['Nemovitost'][$value . '_od']));
            }
        }


        if (!empty($this->request->data['Nemovitost']['fulltext'])) {
            $filtrData->addFulltext($this->request->data['Nemovitost']['fulltext']);
        }


//  var_dump($this->request->data);
//exit();

        $conditions = $filtrData->getConditions();

        $this->Session->write('filtr', $filtrData);

        $this->set('title_for_layout', 'Nemovitosti');
        $this->set('header_for_layout', 'Nemovitosti');

        /* pouzijeme vlatni typ a ne typ */
        $this->set('r046irtyps', $this->Irtyp->find('list'));
        $this->set('r045akces', $this->Akce->find('list'));
        $this->set('krajs', $this->Kraj->find('list'));

//zde zbytecne nacita se to pres ajax
//$nemovitostItems = Configure::read('nemovitostItems');
        $conditions['status'] = 'aktivni';

//19.12 - zmena na opravdovou zmenu
        /*
          $this->set('items', $this->Nemovitost->find('all', array(
          'fields' => array('id', 'nazev', 'slug', 'lokalita', 'Typ.title', 'cena'),
          'conditions' => array('AND' => $conditions),
          'order' => 'Nemovitost.global_hc_aktualizace desc'
          ))); */
//var_dump($conditions);
        $textTools = new TextTools();
//zbytecne jsem nastavil informace do datafiltr. NAstavuji to zde napevno.
        if (!empty($this->request->data['Nemovitost']['fulltext'])) {
            $conditions[] = "MATCH(search) AGAINST('%" . $textTools->getSafeString($this->request->data['Nemovitost']['fulltext']) . "%')";
        }

        $this->set('items', $this->Nemovitost->find('all', array(
                    'fields' => array('id', 'nazev', 'slug', 'lokalita', 'Typ.title', 'cena'),
                    'conditions' => array('AND' => $conditions),
                    'order' => 'Nemovitost.datetime_sort desc'
                )));
    }

    /* Metoda dekoduje hodntu zadanou pomoci jednicek a nul, kttera urcuje klide do dane tabulky. */

    function dekodujKlic($string) {
        $result = array();
        for ($index = 0; $index < strlen($string); $index++) {
            if ($string[$index] == 1) {
                $result[] = $index ;
            }
        }
        return $result;
    }

    /**
     * Import konkretni nabidky ze systemu GlobalHc
     */
    public function importNabidkaGlobalHc($id) {

        $searchText = '';

        $textTools = new TextTools();

        try {
            echo 'http://data.global-hc.cz/56/qzerdjsp/nabidka/' . $id;
            $xml = Xml::build('http://data.global-hc.cz/56/qzerdjsp/nabidka/' . $id);
            echo 'http://data.global-hc.cz/56/qzerdjsp/nabidka/' . $id;
        } catch (XmlException $e) {
            throw new InternalErrorException();
        }

        if ($xml == null)
            return;

        $nemovitost = Set::reverse($xml);

        var_dump($nemovitost);


        $globalPom = $this->Nemovitost->findByGlobalHcId($id);

        if ($globalPom) {
            $this->Nemovitost->read('id', $globalPom['Nemovitost']['id']);

            /* pouze zneplatneni nabidky */
            if ($nemovitost['nabidka']['status'] == 'neinzerovat') {
                $this->Nemovitost->saveField('status', $nemovitost['nabidka']['status']);
                $this->Nemovitost->saveField('global_hc_aktualizace', $nemovitost['nabidka']['aktualizace']);
                return;
            }

            $nemovitost['nabidka']['global_hc_id'] = $nemovitost['nabidka']['id'];
            $nemovitost['nabidka']['r045akce_id'] = $nemovitost['nabidka']['akce'];

            unset($nemovitost['nabidka']['id']);
        } else {

            if ($nemovitost['nabidka']['status'] == 'neinzerovat') {
                return;
            }


            $this->Nemovitost->create();
            $nemovitost['nabidka']['global_hc_id'] = $nemovitost['nabidka']['id'];
            $nemovitost['nabidka']['r045akce_id'] = $nemovitost['nabidka']['akce'];



            $this->Nemovitost->saveField('slug', $textTools->getSafeString($nemovitost['nabidka']['nazev']) . '-' . $nemovitost['nabidka']['id']);
			//kamil 27.1.2014 - po pridani je nabidka aktivni
			$this->Nemovitost->saveField('status','aktivni');
			
            unset($nemovitost['nabidka']['id']);
            /* slug nastavuji jen pri vytvoreni */
        }

        $valueToSave['Nemovitost'] = $nemovitost['nabidka'];

//$mnVazby = array('doprava'=>'Doprava');

        $nemovitostItems = Configure::read('nemovitostItems');

        /* ulozeni vlastnosti typu vlastnictvi, druh apod.*/
        foreach ($nemovitostItems as $keyB => $valueB) {

            echo "<br>keyB : ".$keyB; 
            echo "<br/> ";
            
            if (empty($valueB['keyName']))            
                continue;
            echo "<br>keyname: ".$valueB['keyName'];
            echo "proso <br/> ";
            
            
            //pro bolean hodnoty nastzime 0 pokud neni vyplnen
            if( !empty($valueB['typeParametr']) && $valueB['typeParametr']=='booleanValue' && empty($nemovitost['nabidka'][$valueB['keyName']])){
                 $valueToSave['Nemovitost'][$keyB] =0;
                 echo "<br>Nastavuji bolean : ".$valueB['keyName'].'<br>';
            }else{
                $valueToSave['Nemovitost'][$keyB] =$nemovitost['nabidka'][$valueB['keyName']];
            }
            
            
           

            var_dump($valueToSave);
            var_dump($keyB);
            //exit();
        }
        
        
        
        foreach ($nemovitostItems as $key => $value) {

            if (empty($value['typeParametr']) || $value['typeParametr'] != 'array')
                continue;

            //kamil 7.3.2013 - pro dvouslovny nazvy
            if(!empty($value['key_import'])){
                $keyPom = $value['key_import'];
            }else{
                $keyPom = strtolower($key);
            }
            echo '<br>array '.$keyPom.'<br />';
            
            if (!empty($nemovitost['nabidka'][$keyPom])) {
                $keys = $this->dekodujKlic($nemovitost['nabidka'][$keyPom]);
                $valueToSave[$key] = array($key => $keys);
            }
            
        }

//ulozeni asociaci m:m


        var_dump($valueToSave);




        $this->Nemovitost->save($valueToSave);
//      exit();
        $this->Nemovitost->saveField('title', $nemovitost['nabidka']['nazev']);
        $this->Nemovitost->saveField('global_hc_aktualizace', $nemovitost['nabidka']['aktualizace']);
        $this->Nemovitost->saveField('datetime_sort', $nemovitost['nabidka']['aktualizace']);

        $this->Nemovitost->saveField('r043_id', 1);


//        exit();
//typ ne3movitosti, typ nabidky, nemovitost
//echo $nemovitost['nabidka']['nemovitost'];
        echo($this->Irtyp->irtypFromGlobalTyp($nemovitost['nabidka']['nemovitost']));
        $this->Nemovitost->saveField('r046irtyp_id', $this->Irtyp->irtypFromGlobalTyp($nemovitost['nabidka']['nemovitost']));
        $this->Nemovitost->saveField('r002typ_id', $nemovitost['nabidka']['nemovitost']);

//    


        /* ulozeni id maklere */
        if (!empty($nemovitost['nabidka']['makler'])) {
            $this->Nemovitost->saveField('r042makler_global_hc_id', $nemovitost['nabidka']['makler']['id']);
        }

        /* retezec pro vyhledavani */
        $searchText .= $nemovitost['nabidka']['nazev'];
        $searchText .= ' ' . $nemovitost['nabidka']['popis'];
        $searchText .= ' ' . $nemovitost['nabidka']['lokalita'];
        $searchText .= ' ' . $nemovitost['nabidka']['ulice'];


        $this->Nemovitost->saveField('search', ereg_replace('-', ' ', $textTools->getSafeString($searchText)));



        /* ulozeni kraje, jedna se o redundantni informacia, ale vyrazne urychli vyhledavani */
        if (!empty($nemovitost['nabidka']['uiradr'])) {
            echo $uiradr = $nemovitost['nabidka']['uiradr'];




//            $db = $this->Nemovitost->getDataSource();
//                  var_dump($db);
            /*
              $pom = $this->Nemovitost->query(
              'SELECT kraj.kraj_kod,okres.okres_kod from kraj
              left join okres on okres.kraj_kod = kraj.kraj_kod
              left join obec on obec.okres_kod = okres.okres_kod
              left join cobce on cobce.obec_kod = obec.obec_kod
              where cobce.cobce_kod = ' . $uiradr
              );





              if (!empty($pom[0]['kraj']['kraj_kod'])) {
              $this->Nemovitost->saveField('kraj_id', $pom[0]['kraj']['kraj_kod']);
              }



              if (!empty($pom[0]['okres']['okres_kod'])) {
              $this->Nemovitost->saveField('okres_id', $pom[0]['okres']['okres_kod']);
              echo 'lokalita ulozeni<br />';
              }
             */
            /* nahrani lokality - kraj, obec apod. */
            $this->Nemovitost->saveField('cobce_id', $nemovitost['nabidka']['cobce']);
            $this->Nemovitost->saveField('obec_id', $nemovitost['nabidka']['obec']);
            $this->Nemovitost->saveField('okres_id', $nemovitost['nabidka']['okres']);
            $this->Nemovitost->saveField('kraj_id', $nemovitost['nabidka']['kraj']);
            $this->Nemovitost->saveField('pobvod_id', $nemovitost['nabidka']['pobvod']);
        }






        /* ulozeni obrazku */
        $hashAll = ''; //hash vsech obrazku
        foreach ($nemovitost['nabidka']['fotografie']['foto'] as $value) {
            //bacha $value jsou hodnoty v jednom poli, tzn neni to jen hash, ale id a hash
            $hashAll .= $value['hash'];
        }
        echo 'HashAll:'.$hashAll.'<br />';
        /* budu menit obrazky */

        $puvodniZaznamNemovitost = $this->Nemovitost->read('global_hc_hash_foto');
        $puvodniHash = $puvodniZaznamNemovitost["Nemovitost"]["global_hc_hash_foto"];
		 echo 'Puvodni hash:'.$puvodniHash.'<br />';
        //$puvodniHash = 1;

        
        
        
        if (empty($puvodniHash) || $puvodniHash != $hashAll) {
//@todo - delat upravy u obrazku od prvni zmeny hashe
//smazani puvodnich fotek
            $fotoKeSmazani = $this->NemovitostFoto->findAllByR040nemovitostId($this->Nemovitost->id);

            foreach ($fotoKeSmazani as $value) {
                $file = new File($value["NemovitostFoto"]["file"]);
                $file->delete();
                $this->NemovitostFoto->delete($value["NemovitostFoto"]["id"]);
            }

            echo '<br>';
            echo 'kamil';
            var_dump($nemovitost['nabidka']['fotografie']['foto']);
            echo 'kamil';
            echo '<br>';

            /* pokud jen jeden obrazek tak prvnky jsou jednotlive hodnoty a ne dlasi pole hodnot, proto to prevedm at se to chova stejne */
            if (sizeof($nemovitost['nabidka']['fotografie']['foto']) > 0 && !empty($nemovitost['nabidka']['fotografie']['foto']['id'])) {
                $nemovitost['nabidka']['fotografie']['foto'] = array($nemovitost['nabidka']['fotografie']['foto']);
            }

//nahrani fotek novych
            foreach ($nemovitost['nabidka']['fotografie']['foto'] as $value) {

                echo '<br>';
                echo 'http://data.global-hc.cz/56/qzerdjsp/nabidka-foto/' . $value['id'];
                echo '<br>';
                $xml = Xml::build('http://data.global-hc.cz/56/qzerdjsp/nabidka-foto/' . $value['id']);

                if ($xml == null)
                    break;
                $nemovitostFoto = Set::reverse($xml);

//ulozeni fotografie
                $adresarNemovitost = $this->Nemovitost->id % 100;
//v pripade nutnosti vytvoreni adresare
                $path = 'uploads/nemovitost/' . $adresarNemovitost;
                $folder = new Folder($path, true, 0755);
                $folder->chmod($path, 0755);

//vytvorime si vhodny nazev souboru
                if (!empty($nemovitostFoto["nabidka-foto"]['nazev'])) {
                    $filename = $path . "/" . $value['id'] . '-' . $textTools->getSafeString($nemovitostFoto["nabidka-foto"]['nazev']) . ".jpg";
                } else {
                    $filename = $path . "/" . $value['id'] . ".jpg";
                }


                if (!file_exists($filename)) {
                    touch($filename);
                    chmod($filename, 0666);
                }

                file_put_contents($filename, base64_decode($nemovitostFoto["nabidka-foto"]['foto_data']));



                $this->NemovitostFoto->create();
                $valueToSave = array(
                    'global_hc_id' => $value['id'],
                    'r040nemovitost_id' => $this->Nemovitost->id,
                    'title' => (empty($value['nazev']) ? "" : $value['nazev']),
                    'hash' => $value['hash'],
                    'poradi' => (empty($value['poradi']) ? '-1' : $value['poradi']),
                    'file' => $filename
                );
                $this->NemovitostFoto->set($valueToSave);
                $this->NemovitostFoto->save();
            }
			echo 'Novy hash: '.$hashAll.'<br >';
            $this->Nemovitost->saveField('global_hc_hash_foto', $hashAll);
        }
    }

    public function importGlobalHc() {
        $xml = Xml::build('http://data.global-hc.cz/56/qzerdjsp/seznam-nabidek/');
        $makleri = Set::reverse($xml);
        foreach ($makleri["seznam-nabidek"]["nabidka"] as $value) {
            $this->importNabidkaGlobalHc($value['id']);
        }
    }

    public function opravaOkresu() {

        $nemovitosti = $this->Nemovitost->find('all');
        foreach ($nemovitosti as $value) {
            if (empty($value['Nemovitost']['uiradr']))
                continue;

            $pom = $this->Nemovitost->query(
                    'SELECT kraj.kraj_kod,okres.okres_kod from kraj
                    left join okres on okres.kraj_kod = kraj.kraj_kod
                    left join obec on obec.okres_kod = okres.okres_kod
                    left join cobce on cobce.obec_kod = obec.obec_kod
                    where cobce.cobce_kod = ' . $value['Nemovitost']['uiradr']
            );
            $this->Nemovitost->id = $value['Nemovitost']['id'];
            $this->Nemovitost->read();
            if (!empty($pom[0]['kraj']['kraj_kod'])) {
                $this->Nemovitost->saveField('kraj_id', $pom[0]['kraj']['kraj_kod']);
            }



            if (!empty($pom[0]['okres']['okres_kod'])) {
                $this->Nemovitost->saveField('okres_id', $pom[0]['okres']['okres_kod']);
                echo 'lokalita ulozeni<br />';
            }
        }

//$this->layout = 'ajax';
    }

}