ÿØÿà JFIF    ÿÛ „  ( %"1!%)+...383,7(-.+  -+++--++++---+-+-----+---------------+---+-++7-----ÿÀ  ß â" ÿÄ     ÿÄ H    !1AQaq"‘¡2B±ÁÑð#R“Ò Tbr‚²á3csƒ’ÂñDS¢³$CÿÄ   ÿÄ %  !1AQa"23‘ÿÚ   ? ôÿ ¨pŸªáÿ —åYõõ\?àÒü©ŠÄï¨pŸªáÿ —åYõõ\?àÓü©ŠÄá 0Ÿªáÿ Ÿå[úƒ ú®ði~TÁbqÐ8OÕpÿ ƒOò¤Oè`–RÂáœá™êi€ßÉ< FtŸI“öÌ8úDf´°å}“¾œ6  öFá°y¥jñÇh†ˆ¢ã/ÃÐ:ªcÈ "Y¡ðÑl>ÿ ”ÏËte:qž\oäŠe÷󲍷˜HT4&ÿ ÓÐü6ö®¿øþßèô Ÿ•7Ñi’•j|“ñì>b…þS?*Óôÿ ÓÐü*h¥£ír¶ü UãS炟[AÐaè[ûª•õ&õj?†Éö+EzP—WeÒírJFt ‘BŒ†Ï‡%#tE Øz ¥OÛ«!1›üä±Í™%ºÍãö]°î(–:@<‹ŒÊö×òÆt¦ãº+‡¦%ÌÁ²h´OƒJŒtMÜ>ÀÜÊw3Y´•牋4ǍýʏTì>œú=Íwhyë,¾Ôò×õ¿ßÊa»«þˆѪQ|%6ž™A õ%:øj<>É—ÿ Å_ˆCbõ¥š±ý¯Ýƒï…¶|RëócÍf溪“t.СøTÿ *Ä¿-{†çàczůŽ_–^XþŒ±miB[X±d 1,é”zEù»& î9gœf™9Ð'.;—™i}!ôšåîqêÛ٤ёý£½ÆA–àôe"A$˝Úsäÿ ÷Û #°xŸëí(l »ý3—¥5m! rt`†0~'j2(]S¦¦kv,ÚÇ l¦øJA£Šƒ J3E8ÙiŽ:cÉžúeZ°€¯\®kÖ(79«Ž:¯X”¾³Š&¡* ….‰Ž(ÜíŸ2¥ª‡×Hi²TF¤ò[¨íÈRëÉ䢍mgÑ.Ÿ<öäS0í„ǹÁU´f#Vß;Õ–…P@3ío<ä-±»Ž.L|kªÀê›fÂ6@»eu‚|ÓaÞÆŸ…¨ááå>åŠ?cKü6ùTÍÆ”†sĤÚ;H2RÚ†õ\Ö·Ÿn'¾ ñ#ºI¤Å´%çÁ­‚â7›‹qT3Iï¨ÖÚ5I7Ë!ÅOóŸ¶øÝñØôת¦$Tcö‘[«Ö³šÒ';Aþ ¸èíg A2Z"i¸vdÄ÷.iõ®§)¿]¤À†–‡É&ä{V¶iŽ”.Ó×Õÿ û?h¬Mt–íª[ÿ Ñÿ ÌV(í}=ibÔ¡›¥¢±b Lô¥‡piη_Z<‡z§èŒ)iÖwiÇ 2hÙ3·=’d÷8éŽ1¦¸c¤µ€7›7Ø ð\á)} ¹fËí›pAÃL%âc2 í§æQz¿;T8sæ°qø)QFMð‰XŒÂ±N¢aF¨…8¯!U  Z©RÊ ÖPVÄÀÍin™Ì-GˆªÅËŠ›•zË}º±ŽÍFò¹}Uw×#ä5B¤{î}Ð<ÙD é©¤&‡ïDbàÁôMÁ." ¤‡ú*õ'VŽ|¼´Úgllº¼klz[Æüï÷Aób‡Eÿ dÑ»Xx9ÃÜ£ÁT/`¼¸vI±Ýµ·Ë‚“G³þ*Ÿû´r|*}<¨îºœ @¦mÄ’M¹”.œ«Y–|6ÏU¤jç¥ÕÞqO ˜kDÆÁ¨5ÿ š;ÐЦ¦€GÙk \ –Þ=â¼=SͧµªS°ÚÍpÜãQűÀõ¬?ÃÁ1Ñ•õZà?hóœ€ L¦l{Y*K˜Ù›zc˜–ˆâ ø+¾ ­-Ök¥%ùEÜA'}ˆ><ÊIè“bpÍ/qÞâvoX€w,\úªò6Z[XdÒæ­@Ö—€$òJí#é>'°Ú ôª˜<)4ryÙ£|óAÅn5žêŸyÒäMÝ2{"}‰–¤l÷ûWX\l¾Á¸góÉOÔ /óñB¤f¸çñ[.P˜ZsÊË*ßT܈§QN¢’¡¨§V¼(Üù*eÕ“”5T¨‹Âê¥FŒã½Dü[8'Ò¥a…Ú¶k7a *•›¼'Ò·\8¨ª\@\õ¢¦íq+DÙrmÎ…_ªæ»ŠÓœ¡¯’Ré9MÅ×D™lælffc+ŒÑ,ý™ÿ ¯þǤ=Å’Á7µ÷ÚÛ/“Ü€ñýã¼àí¾ÕÑ+ƒ,uµMâÀÄbm:ÒÎPæ{˜Gz[ƒ¯«® KHà`ߨŠéí¯P8Aq.C‰ à€kòpj´kN¶qô€…Õ,ÜNŠª-­{Zö’æû44‰sŽè‰îVíRœÕm" 6?³D9¡ÇTíÅꋇ`4«¸ÝÁô ï’ýorqКÇZ«x4Žâéþuïf¹µö[P ,Q£éaX±`PÉÍZ ¸äYúg üAx ’6Lê‚xÝÓ*äQ  Ï’¨hÍ =²,6ï#rÃ<¯–£»ƒ‹,–ê•€ aÛsñ'%Æ"®ÛüìBᝠHÚ3ß°©$“XnœÖ’î2ËTeûìxîß ¦å¿çÉ ðK§þ{‘t‚Ϋ¬jéîZ[ ”š7L¥4VÚCE×]m¤Øy”ä4-dz£œ§¸x.*ãÊÊ b÷•h:©‡¦s`BTÁRû¾g⻩‹jø sF¢àJøFl‘È•Xᓁà~*j¯ +(ÚÕ6-£¯÷GŠØy‚<Ç’.F‹Hœw(+)ÜÜâÈzÄäT§FߘãÏ;DmVœ3Àu@mÚüXÝü•3B¨òÌÁÛ<·ÃÜ z,Ì@õÅ·d2]ü8s÷IôÞ¯^Ç9¢u„~ëAŸï4«M? K]­ÅàPl@s_ p:°¬ZR”´›JC[CS.h‹ƒïËœ«Æ]–÷ó‚wR×k7X‰k›‘´ù¦=¡«‰¨¨Â')—71ó’c‡Ðúµ `é.{§p¹ój\Ž{1h{o±Ý=áUÊïGÖŒõ–-BÄm+AZX¶¡ ïHðæ¥JmÙ;…䡟ˆ¦ ° äšiÉg«$üMk5¤L“’çÊvïâï ,=f“"íἊ5ô¬x6{ɏžID0e¸vçmi'︧ºð9$ò¹÷*£’9ÿ ²TÔ…×>JV¥}Œ}$p[bÔ®*[jzS*8 ”·T›Í–ñUîƒwo$áè=LT™ç—~ô·¤ÈÚ$榍q‰„+´kFm)ž‹©i–ËqÞŠ‰à¶ü( ‚•§ •°ò·‡#5ª•µÊ﯅¡X¨šÁ*F#TXJÊ ušJVÍ&=iÄs1‚3•'fý§5Ñ<=[íÞ­ PÚ;ѱÌ_~Ä££8rÞ ²w;’hDT°>ÈG¬8Á²ÚzŽ®ò®qZcqJêäÞ-ö[ܘbň±çb“ж31²n×iƒðÕ;1¶þÉ ªX‰,ßqÏ$>•î íZ¥Z 1{ç൵+ƒÕµ¥°T$§K]á»Ûï*·¤tMI’ÂZbŽÕiÒ˜}bÓ0£ª5›¨ [5Ž^ÝœWøÂÝh° ¢OWun£¤5 a2Z.G2³YL]jåtì”ä ÁÓ‘%"©<Ôúʰsº UZvä‡ÄiÆÒM .÷V·™ø#kèýiíÌ–ª)µT[)BˆõÑ xB¾B€ÖT¨.¥~ð@VĶr#¸ü*åZNDŽH;âi ],©£öØpù(šºãö¼T.uCê•4@ÿ GÕÛ)Cx›®0ø#:ÏðFÒbR\(€€Ä®fã4Þ‰Fä¯HXƒÅ,†öEÑÔÜ]Öv²?tLÃvBY£ú6Êu5ÅAQ³1‘’¬x–HŒÐ‡ ^ ¸KwJôÖŽ5×CÚ¨vÜ«/B0$×k°=ðbÇ(Ï)w±A†Á† 11Í=èQšµ626ŒÜ/`G«µ<}—-Ö7KEHÈÉðóȤmݱû±·ø«Snmá=“䫚mݱŸ¡¶~ó·“äUóJæúòB|E LêŽy´jDÔ$G¢þÐñ7óR8ýÒ…Ç› WVe#·Ÿ p·Fx~•ݤF÷0Èÿ K¯æS<6’¡WШ; ´ÿ ¥Êø\Òuî†åÝ–VNœkÒ7oòX¨Á­Ø÷FÎÑä±g÷ÿ M~Çî=p,X´ ÝÌÚÅ‹’ÃjÖ.ØöÏñ qïQ¤ÓZE†° =6·]܈ s¸>v•Ž^Ý\wq9r‰Î\¸¡kURÒ$­*‹Nq?Þª*!sŠÆ:TU_u±T+øX¡ ®¹¡,ÄâÃBTsÜ$Ø›4m椴zÜK]’’›Pƒ @€#â˜`é¹=I‡fiV•Ôî“nRm+µFPOhÍ0B£ €+¬5c v•:P'ÒyÎ ‰V~‚Ó†ÖuókDoh$å\*ö%Ю=£«…aȼ½÷Û.-½VŒŠ¼'lyî±1¬3ó#ÞE¿ÔS¤gV£m›=§\û"—WU¤ÚǼÿ ÂnÁGŒÃ ‚õN D³õNÚíŒÕ;HôyÄÈ©P¹Ä{:?R‘Ô¨âF÷ø£bÅó® JS|‚R÷ivýáâ€Æé¡è³´IئÑT!§˜•ت‚¬â@q€wnïCWÄ@JU€ê¯m6]Ï:£âx'+ÒðXvÓ¦Úm=–´7œ $ì“B£~p%ÕŸUþ« N@¼üï~w˜ñø5®—'Ôe»¤5ã//€ž~‰Tþ›Å7•#¤× Íö pÄ$ùeåì*«ÓŠEØWEÈsßg ¦ûvžSsLpºÊW–âµEWöˬH; ™!CYõZ ÃÄf æ#1W. \uWâ\,\Çf j’<qTbên›Î[vxx£ë 'ö¨1›˜ÀM¼Pÿ H)ƒêêŒA7s,|F“ 꺸k³9Ìö*ç®;Ö!Ö$Eiž•¹ÒÚ†ýóéÝû¾ÕS®ó$’NÝäŸz¤5r¦ãÄÃD÷Üø!°ø‡Ô&@m™Ì^Ãä­d q5Lnÿ N;.6½·N|#ä"1Nƒx“ã<3('&ñßt  ~ªu”1Tb㫨9ê–›–bìd$ߣ=#ÕãÒmU¯eí$EFù5ýYô櫨æì™Ç—±ssM]·á¿0ÕåJRÓªîiƒ+O58ÖñªŠÒx" \µâá¨i’¤i —Ö ” M+M¤ë9‚‰A¦°Qõ¾ßøK~¼Ã‘g…Ö´~÷Ï[3GUœÒ½#…kàÔ®Ò”‰³·dWV‰IP‰Ú8u¹”E ÖqLj¾êÕCBš{A^Âß;–¨`¯¬ìö ˼ ×tìø.tƐm*n¨y4o&Àx¥n¦×î‡aupáÛj8¿m›è¶ã!o½;ß0y^ý×^EÑ¿ÒjzŒ­)vÚÑnÄL …^ªô× ‡—‚3k Îý­hï]içå–îÏ*÷ñþ»Ô CÒjøjÍznˆ´ ¹#b'Fô‹ ‰v¥'’à'T´ƒHýÍ%M‰ ƒ&ÆÇŒï1 ‘ –Þ ‰i¬s žR-Ÿ kЬá¬7:þ 0ŒÅÒÕ/aÙ¬ÃÝ#Úøœ ©aiVc‰. ¹¦ãµ” ›Yg¦›ÆÎýº°f³7ƒhá·¸­}&D9¡ÂsÉÙÞèŠõØàC™¨ñbFC|´Ü(ŸƒÚÒ-%»'a Ì¿)ËÇn¿úÿ ÞŽX…4ÊÅH^ôΑí@ù¹Eh¶“L8Çjù ¼ÎåVªóR©Ï5uà V4lZß®=€xÖŸ–ÑÈ ÷”¨°¾__yM1tÉ?uÆþIkÄgæ@þ[¢†°XÃJ£j·:nkÅ¢u ‘}âGzö­/IµèЬ¼48q¦F°ŽR¼=ûì{´¯RýicS ÕÛ íNtÍÙï£,w4rêì®»~x(©Uñ§#Ñ&œÕ¤>ÎåÍÓ9’Ö{9eV­[Öjâ²ãu]˜å2›qÑšÕJç0€sÄ|Êëè0튔bÁ>“{×_F`Ø©ºê:µä,v¤ðfc1±"«ÔÍän1#=· Âøv~H½ÐßA¾¿Ü€Óš]Õ; I¾÷ç‚Qi†î¹9ywÔKG˜áñ zQY—§ÃÕZ07§X‚ Áh;ÁM)iÌCH-¯T‘ë|A0{Ò½LÚ–TâÖkÜ’dÀ“rmm»”جPF³ÖcbE§T€ÒxKºû’Ó®7±²(\4ŽÃ¸Uu@j™yĵ;³µ!Á¢b.W¤=mõ´êµK k ¸K^ÜÛ#p*Ü14qkZç5ïë †°5Ï%ÍÛ<Õ¤×Ô¥ê†C Õ´¼ú$ƒÖ“”]Ù¬qÞÚ[4©ý!ûÏ—Áb쳐XµA¬â~`›Çr¸8ìùÝ䫦<>ä÷«?xs´ÇÑ /á;¹øüÊÈÙà{"@Žïzâ¬[âß‚ U_<ÇŸ½4èN˜ú61®qŠu ¦þF£»äJ_ˆÙÎ~ ÞAã–݄ϗrŠD;xTž‘ô`É«…suãO`?³à™ô Lý#Íc5öoæØ‚y´´÷«ZR§<&JÇ+éâô´€i!Àˆ0æAoàðLèÖ-2ŸõW.’t^–(KÁmHµV@xÜÇy®Ñø­â^:Ú3w· 7½¹°ñ¸â¹®:',«Mœ—n­Á+Ãbš LÈ‘ÄnRÓÅœ%¦²‰¨ùQ:¤f‚ "PÕtô¸…cæl…&˜Ú˜Ôkv‹ž+vŠ,=¢v­6—Xy*¥t£«<™:“aîϲ=¦6rO]XI¿Œ÷¤zÚ­›¶ 6÷”w\d ü~v®ˆÌk«^m<ÿ ¢‰Õ\)ùºŽ;… lîÙÅEŠ®cѾ@vnMÏ,¼“ñ•ŽBxðÃzãÇç%3ˆ"}Ù•Åî> BÉú;Ò]V+P˜F_´ßé> Øše|ï‡ÄOmFæÇ ãqÞ$/xÐx­z`ï9"œÜij‚!7.\Td…9M‡•iŽ‹¾‘50ÞŽn¥ß4ÉôO ¹*í^QêËÜÇÌ8=ާs‰'ÂëÙ«á%Pú[O †ÅP¯Vsް.‰,kc¶ ¬A9n˜XÎ-ÞšN["¹QÕ‰ƒMýÁߺXJæÍaLj¾×Ãmã¾ãÚ uñÒþåQô¦¥ /ÄUx:‚ÍÜ’ Đ©ØÝ3V¨‰ÕnÐ6ó*óúK­«…c ¯U òhsý­jóÔj#,ímŒRµ«lbïUTŒÑ8†Ä0œÏr`ð¡¬É Ї ë"À² ™ 6¥ f¶ ¢ÚoܱԷ-<Àî)†a¶ž'Ú»¨TXqØæ¶÷YÄHy˜9ÈIW­YÀuMFë ºÏ’AqÌ4·/Ú †ô'i$øä­=Ä Ý|öK×40è|È6p‘0§)o¥ctî§H+CA-“ xØ|ÐXАç l8íºð3Ø:³¤¬KX¯UÿÙ input->getInt( 'id', 0 ); Not even sure why it was there.. any regression? $itemId = ( $preconfig['itemId'] == '' ) ? $app->input->getInt( 'Itemid', 0 ) : $preconfig['itemId']; $items = array(); $lang = JFactory::getLanguage(); $path = JPATH_SITE.'/templates'; $total = 0; $total_items = 0; $user = JCck::getUser(); $user->gid = 25; // Todo:: ACL // Search $search = CCK_List::getSearch( $preconfig['search'], $id ); if ( ! $search ) { $config = array( 'action'=>$preconfig['action'], 'core'=>true, 'formId'=>$preconfig['formId'], 'Itemid'=>$itemId, 'javascript'=>'', 'location'=>'', 'submit'=>$preconfig['submit'], 'validation'=>array(), 'validation_options'=>array() ); $app->enqueueMessage( 'Oops! Search Type not found.. ; (', 'error' ); return; } $lang->load( 'pkg_app_cck_'.$search->folder_app, JPATH_SITE, null, false, false ); $no_action = ''; $options = new JRegistry; $options->loadString( $search->options ); $preconfig['show_form'] = ( $preconfig['show_form'] != '' ) ? (int)$preconfig['show_form'] : (int)$options->get( 'show_form', 1 ); $preconfig['show_list'] = ( isset( $preconfig['show_list'] ) ) ? (int)$preconfig['show_list'] : (int)$options->get( 'show_list', 1 ); $preconfig['auto_redirect'] = ( $preconfig['auto_redirect'] != '' ) ? $preconfig['auto_redirect'] : $options->get( 'auto_redirect', 0 ); // ACL if ( !in_array( $search->access, $user->getAuthorisedViewLevels() ) ) { $config = array( 'action'=>$preconfig['action'], 'core'=>true, 'formId'=>$preconfig['formId'], 'Itemid'=>$itemId, 'javascript'=>'', 'limitend'=>0, 'location'=>'', 'submit'=>$preconfig['submit'], 'validation'=>array(), 'validation_options'=>array() ); $no_message = $options->get( 'message_no_access' ); $no_redirect = $options->get( 'redirection_url_no_access', 'index.php?option=com_users&view=login' ); $no_style = $options->get( 'message_style_no_access', 'error' ); $no_action = $options->get( 'action_no_access', 'redirection' ); CCK_List::redirect( $no_action, $no_redirect, $no_message, $no_style, $config ); return; } // Fields $fields = CCK_List::getFields( $search->name, array( $preconfig['client'], 'order' ), '', true, true ); $count = count( $fields['search'] ); $doDebug = (int)$options->get( 'debug', JCck::getConfig_Param( 'debug', 0 ) ); $doDebug = ( $doDebug == 1 || ( $doDebug == 2 && $user->authorise( 'core.admin' ) ) ) ? 1 : 0; $options->set( 'debug', $doDebug ); $excluded_stages = explode( ',', $options->get( 'stages_optional', '' ) ); if ( $doDebug ) { jimport( 'joomla.error.profiler' ); } if ( ! $count ) { $config = array( 'action'=>$preconfig['action'], 'core'=>true, 'formId'=>$preconfig['formId'], 'Itemid'=>$itemId, 'javascript'=>'', 'limitend'=>0, 'location'=>'', 'submit'=>$preconfig['submit'], 'validation'=>array(), 'validation_options'=>array() ); if ( !( $preconfig['task'] == 'no' && !$preconfig['show_form'] ) ) { $app->enqueueMessage( 'Oops! Fields not found.. ; (', 'error' ); } return; } // Init $limitend = ( isset( $preconfig['limitend'] ) && $preconfig['limitend'] != '' ) ? (int)$preconfig['limitend'] : (int)$options->get( 'pagination', JCck::getConfig_Param( 'pagination', 25 ) ); $pagination = ( isset( $pagination ) && $pagination != '' ) ? $pagination : $options->get( 'show_pagination', 0 ); $hasAjax = false; $isInfinite = ( $pagination == 2 || $pagination == 8 ) ? true : false; if ( $limitstart != -1 ) { if ( isset( $this ) ) { if ( $limitend != -1 ) { $this->state->set( 'limit', (int)$limitend ); } $limitend = (int)$this->state->get( 'limit' ); } } if ( !isset( $lives ) ) { $live = explode( '||', $live ); $lives = array(); foreach ( $live as $liv ) { if ( $liv != '' ) { $l = explode( '=', $liv ); $lives[$l[0]] = $l[1]; } } } elseif ( count( $lives ) && $isInfinite ) { // todo: force lives } $variation = explode( '||', $variation ); $variations = array(); foreach ( $variation as $var ) { if ( $var != '' ) { $v = explode( '=', $var ); if ( $v[1] == 'none' ) { $v[1] = 'hidden'; } // TODO: FIX TO REMOVE AFTER GA $variations[$v[0]] = $v[1]; } } $method = 0; $searchLength = 0; $ordering = ( @$preconfig['ordering'] != '' ) ? $preconfig['ordering'] : $options->get( 'ordering', '' ); $active = array(); $active[0] = 'cck'; $areas['active']= $active; if ( $preconfig['task'] == 'search' || $preconfig['task'] == 'search2' ) { $post = ( $method ) ? JRequest::get( 'post' ) : JRequest::get( 'get' ); } $config = array( 'action'=>$preconfig['action'], 'client'=>$preconfig['client'], 'core'=>true, 'doQuery'=>true, 'doSEF'=>$options->get( 'sef', JCck::getConfig_Param( 'sef', '2' ) ), 'doTranslation'=>JCck::getConfig_Param( 'language_jtext', 0 ), 'doValidation'=>JCck::getConfig_Param( 'validation', '2' ), 'formId'=>$preconfig['formId'], 'Itemid'=>$itemId, 'limitend'=>0, 'location'=>'', 'pk'=>$id, 'submit'=>$preconfig['submit'], 'type'=>$search->name, 'type_id'=>$search->id, 'type_alias'=>( $search->alias ? $search->alias : $search->name ), 'validate'=>array(), 'validation'=>array(), 'validation_options'=>array() ); jimport( 'cck.rendering.document.document' ); JPluginHelper::importPlugin( 'cck_field' ); JPluginHelper::importPlugin( 'cck_field_live' ); JPluginHelper::importPlugin( 'cck_field_restriction' ); $dispatcher = JDispatcher::getInstance(); // -------- -------- -------- -------- -------- -------- -------- -------- // Show Form if ( $preconfig['show_form'] ) { if ( JCck::on( '3.4' ) ) { JHtml::_( 'behavior.core' ); } // Template $P = 'template_'.$preconfig['client']; $templateStyle = CCK_List::getTemplateStyle( $search->$P, array( 'rendering_css_core'=>$search->stylesheets ) ); if ( ! $templateStyle ) { $app->enqueueMessage( 'Oops! Template not found.. ; (', 'error' ); return; } $doc = CCK_Document::getInstance( 'html' ); // Positions $positions = array(); $positions_more = CCK_List::getPositions( $search->id, $preconfig['client'] ); // Template Override $tpl['home'] = $app->getTemplate(); $path = JPATH_SITE.'/templates/'.$templateStyle->name; if ( $preconfig['show_form'] > -1 ) { $path_root = JPATH_SITE.'/templates'; $tmpl = $templateStyle->name; $rparams = array( 'template'=>$tmpl, 'file'=>'index.php', 'directory'=>$path_root ); } } // -------- -------- -------- -------- -------- -------- -------- -------- // Prepare Context $context = $app->input->getString( 'context' ); if ( $context != '' ) { $context = str_replace( "'", '"', $context ); $context = json_decode( $context ); $vars = array( 'Itemid'=>'', 'view'=>array( 'form', 'list', 'article', 'category' ) ); foreach ( $vars as $key=>$val ) { if ( isset( $context->$key ) ) { $v = $context->$key; if ( is_array( $val ) ) { if ( !in_array( $v, $val ) ) { continue; } } elseif ( $val != '' ) { if ( $v != $val ) { continue; } } $app->input->set( $key, $v ); } } } if ( $isInfinite && $app->input->get( 'view' ) == 'list' && !isset( $menu ) ) { $menu = $app->getMenu()->getItem( $app->input->getInt( 'Itemid' ) ); if ( is_object( $menu ) && isset( $menu->params ) ) { $preconfig['limit'] = $menu->params->get( 'limit' ); $preconfig['search2'] = $menu->params->get( 'search2' ); } } if ( isset( $preconfig['limit'] ) && $preconfig['limit'] ) { $options->set( 'limit', $preconfig['limit'] ); } // -------- -------- -------- -------- -------- -------- -------- -------- // Prepare Search // Validation if ( JCck::getConfig_Param( 'validation', 2 ) > 1 ) { $lang->load( 'plg_cck_field_validation_required', JPATH_ADMINISTRATOR, null, false, true ); require_once JPATH_PLUGINS.'/cck_field_validation/required/required.php'; } $preconfig['client'] = 'list'; $error = ''; $current = array( 'stage'=>0, 'stages'=>array(), 'order_by'=>$params->get( 'order_by', '' ) ); $stages = array(); // Process foreach ( $fields['search'] as $field ) { $name = $field->name; $value = ''; // Variation if ( $field->variation_override ) { $override = json_decode( $field->variation_override, true ); if ( count( $override ) ) { foreach ( $override as $k=>$v ) { $field->$k = $v; } } $field->variation_override = NULL; } $field->variation = ( isset( $variations[$name] ) ) ? ( $variations[$name] == 'form' ? '' : $variations[$name] ) : $field->variation; if ( $field->variation == 'form_filter_ajax' || $field->variation == 'list_filter_ajax' ) { $hasAjax = true; $isInfinite = true; } // Value if ( ( !$field->variation || $field->variation == 'form_filter' || $field->variation == 'form_filter_ajax' || $field->variation == 'list' || $field->variation == 'list_filter' || $field->variation == 'list_filter_ajax' || strpos( $field->variation, 'custom_' ) !== false ) && isset( $post[$name] ) ) { $value = $post[$name]; } else { if ( isset( $lives[$name] ) ) { $value = $lives[$name]; } else { if ( $field->live && $field->variation != 'clear' ) { $dispatcher->trigger( 'onCCK_Field_LivePrepareForm', array( &$field, &$value, &$config ) ); } else { $value = $field->live_value; } } } // Prepare if ( !$preconfig['show_form'] && $field->variation != 'clear' ) { $field->variation = 'hidden'; } $dispatcher->trigger( 'onCCK_FieldPrepareSearch', array( &$field, $value, &$config, array() ) ); // Stage if ( (int)$field->stage > 0 ) { $stages[$field->stage] = 0; } if ( $preconfig['show_form'] ) { $position = $field->position; $positions[$position][] = $field->name; } } // -------- -------- -------- -------- -------- -------- -------- -------- // Do Search if ( isset( $doc ) ) { $doc->fields = $fields['search']; } $config['limitstart'] = $limitstart; $config['limitend'] = $limitend; $config['doSelect'] = $search->content ? false : true; if ( $doDebug ) { $profiler = JProfiler::getInstance(); } if ( $search->storage_location ) { $config['type_object'] = $search->storage_location; } if ( $preconfig['task'] == 'search' ) { $countStages = count( $stages ); if ( $countStages ) { for( $stage = 1; $stage <= $countStages; $stage++ ) { if ( ! $error ) { // Search $current['stage'] = $stage; $items = CCK_List::getList( $ordering, $areas, $fields['search'], @$fields['order'], $config, $current, $options, $user ); if ( ! $items && $stages[$stage] == 0 && in_array( $stage, $excluded_stages ) === false ) { $error = 1; break; } $current['stages'][$stage] = implode( ',', $items ); } } } if ( ! $error ) { $current['stage'] = 0; $items = CCK_List::getList( $ordering, $areas, $fields['search'], @$fields['order'], $config, $current, $options, $user ); } $total = count( $items ); // IDs & PKs if ( isset( $config['process']['beforeRenderForm'] ) && count( $config['process']['beforeRenderForm'] ) ) { $ids = ''; $pks = ''; if ( $config['doQuery'] ) { for ( $i = 0; $i < $total; $i++ ) { $ids .= (int)$items[$i]->pid.','; $pks .= (int)$items[$i]->pk.','; } $ids = substr( $ids, 0, -1 ); $pks = substr( $pks, 0, -1 ); } $config['ids'] = $ids; $config['pks'] = $pks; } // Total if ( isset( $config['total'] ) && $config['total'] > 0 ) { $limitstart = -1; $limitend = 0; $total = $config['total']; } else { $config['total'] = $total; } $total_items = $total; // Pagination if ( $limitstart != -1 && $limitend > 0 && !( $preconfig['limit2'] > 0 ) ) { $items = array_splice( $items, $limitstart, $limitend ); } // -------- -------- -------- -------- -------- -------- -------- -------- // Do List if ( $preconfig['show_list'] ) { $config['infinite'] = $isInfinite; $target = 'search'; if ( isset( $preconfig['search2'] ) && $preconfig['search2'] != '' ) { $target = 'search2'; $search2 = CCK_List::getSearch( $preconfig['search2'], $id ); $options2 = new JRegistry; $options2->loadString( $search2->options ); if ( $options2->get( 'sef' ) != '' ) { $config['doSEF'] = $options2->get( 'sef' ); } $search->content = $search2->content; } if ( $total ) { if ( isset( $preconfig['idx'] ) ) { $config['idx'] = $preconfig['idx']; if ( !isset( $app->cck_idx ) ) { $app->cck_idx = array( 0=>false ); } $app->cck_idx[] = $preconfig['idx']; } // Limit2 + Random if ( $preconfig['limit2'] > 0 ) { $total = ( $preconfig['limit2'] > $total ) ? $total : $preconfig['limit2']; if ( $preconfig['ordering2'] == 'random' || $preconfig['ordering2'] == 'random_shuffle' ) { // Random $rand_keys = array_rand( $items, $total ); if ( ! is_array( $rand_keys ) ) { $rand_keys = array( $rand_keys ); } $rand_list = array(); foreach ( $rand_keys as $key ) { array_push( $rand_list, $items[$key] ); } $items = array(); $items = array_merge( $items, $rand_list ); } else { // Cut $items = array_splice( $items, 0, $total ); } } else { $total = count( $items ); // todo: change above?? } // Suffle if ( $preconfig['ordering2'] == 'shuffle' || $preconfig['ordering2'] == 'random_shuffle' ) { shuffle( $items ); } // Redirect if ( $total == 1 ) { if ( $preconfig['auto_redirect'] == 1 ) { // Content $return = ''; if ( @$preconfig['auto_redirect_vars'] != '' ) { $return = $app->input->getString( $preconfig['auto_redirect_vars'], '' ); if ( $return != '' ) { $return = $preconfig['auto_redirect_vars'].'='.$return; } } $sef = ( JFactory::getConfig()->get( 'sef' ) ) ? $config['doSEF'] : 0; $redirect_url = JCck::callFunc_Array( 'plgCCK_Storage_Location'.$items[0]->loc, 'getRoute', array( $items[0]->pk, $sef, $config['Itemid'] ) ); if ( $return != '' ) { $return = ( strpos( $redirect_url, '?' ) !== false ) ? '&'.$return : '?'.$return; $redirect_url .= $return; } $app->redirect( $redirect_url ); return; } elseif ( $preconfig['auto_redirect'] == 2 ) { // Form $return = ''; if ( @$preconfig['auto_redirect_vars'] != '' ) { $return = $app->input->getString( $preconfig['auto_redirect_vars'], '' ); if ( $return != '' ) { $return = '&'.$preconfig['auto_redirect_vars'].'='.$return; } } $return .= '&return='.base64_encode( $_SERVER["HTTP_REFERER"] ); $redirect_url = JRoute::_( 'index.php?option=com_cck&view=form&layout=edit&type='.$items[0]->cck.'&id='.$items[0]->pk.'&Itemid='.$config['Itemid'].$return ); $app->redirect( $redirect_url ); return; } } // Render $doCache2 = $options->get( 'cache2' ); if ( $doCache2 ) { $group = ( $doCache2 == '2' ) ? 'com_cck_'.$config['type_alias'].'_list' : 'com_cck'; $cache = JFactory::getCache( $group ); $cache->setCaching( 1 ); $data = $cache->call( array( 'CCK_List', 'render' ), $items, ${$target}, $path, $preconfig['client'], $config['Itemid'], $options ); $isCached = ' [Cache=ON]'; } else { if ( ${$target}->content > 0 ) { $data = CCK_List::render( $items, ${$target}, $path, $preconfig['client'], $config['Itemid'], $options, $config ); } $isCached = ' [Cache=OFF]'; } } else { $isCached = ''; $no_action = $options->get( 'action', '' ); $no_message = $options->get( 'message', '' ); $no_style = $options->get( 'message_style', 'message' ); if ( ! $no_message ) { $no_message = JText::_( 'COM_CCK_NO_RESULT' ); } else { if ( JCck::getConfig_Param( 'language_jtext', 0 ) ) { $no_message = JText::_( 'COM_CCK_' . str_replace( ' ', '_', trim( $no_message ) ) ); } } if ( $no_style ) { if ( $no_style == '-1' ) { $data = $no_message; } else { $app->enqueueMessage( $no_message, $no_style ); } } } } } else { $no_action = $options->get( 'action_no_search', '' ); } if ( $no_action ) { $config['infinite'] = $isInfinite; $target = 'search'; if ( isset( $preconfig['search2'] ) && $preconfig['search2'] != '' ) { $target = 'search2'; $search2 = CCK_List::getSearch( $preconfig['search2'], $id ); $options2 = new JRegistry; $options2->loadString( $search2->options ); if ( $options2->get( 'sef' ) != '' ) { $config['doSEF'] = $options2->get( 'sef' ); } $search->content = $search2->content; } if ( $no_action == 'auto_redirect' ) { if ( isset( $fields['search']['cck'] ) && !$fields['search']['cck']->live && $fields['search']['cck']->live_value ) { $return = base64_encode( $_SERVER["HTTP_REFERER"] ); $redirect_url = JRoute::_( 'index.php?option=com_cck&view=form&layout=edit&type='.$fields['search']['cck']->live_value.'&Itemid='.$config['Itemid'].'&return='.$return ); $app->redirect( $redirect_url ); } return; } elseif ( $no_action == 'file' ) { $templateStyle2 = CCK_List::getTemplateStyle( ${$target}->template_list, array( 'rendering_css_core'=>${$target}->stylesheets ) ); $file1 = JPATH_SITE.'/templates/'.$templateStyle2->name.'/includes/'.${$target}->name.'/no_result.php'; $file2 = JPATH_SITE.'/templates/'.$templateStyle2->name.'/includes/no_result.php'; if ( file_exists( $file1 ) ) { $file = $file1; } elseif ( file_exists( $file2 ) ) { $file = $file2; } else { $file = ''; } if ( $file && is_file( $file ) ) { ob_start(); include $file; $data = ob_get_clean(); } } else { $data = CCK_List::render( $items, ${$target}, $path, $preconfig['client'], $config['Itemid'], $options, $config ); } if ( $doDebug ) { echo $profiler->mark( 'afterRender'.$isCached ).'

'; } } if ( $preconfig['show_form'] > 0 ) { // BeforeRender if ( isset( $config['process']['beforeRenderForm'] ) && count( $config['process']['beforeRenderForm'] ) ) { foreach ( $config['process']['beforeRenderForm'] as $process ) { if ( $process->type ) { JCck::callFunc_Array( 'plg'.$process->group.$process->type, 'on'.$process->group.'beforeRenderForm', array( $process->params, &$fields['search'], &$config['storages'], &$config ) ); } } } $doc->fields = &$fields['search']; $infos = array( 'context'=>'', 'params'=>$templateStyle->params, 'path'=>$path, 'root'=>JUri::root( true ), 'template'=>$templateStyle->name, 'theme'=>$tpl['home'] ); $doc->finalize( 'form', $search->name, $config['client'], $positions, $positions_more, $infos ); $form = $doc->render( false, $rparams ); } // Validation $config['validation'] = ( count( $config['validation'] ) ) ? implode( ',', $config['validation'] ) : ''; $config['validation_options'] =& $options; ?>