222A2222A2223A3333A3333A3333A3333A3333A3333A3333A3333A333 3A 3 3 3 3A 3 3 3 3A 3 3 3 3A 3 3 3 3A 3 3 33A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A333 3A 3 3 3!3A!3!3!3"3A"3"3"3#3A#3#3#3$3A$3$3$3%3A%3%3%3&3A&3&3&3'3A'3'3'3(3A(3(3(3)3A)3)3)3*3A*3*3*3+3A+3+3+3,3A,3,3,3-3A-3-3-3.3A.3.3.3/3A/3/3/303A03030313A13131323A23232333A33333343A43434353A53535363A63636373A73737383A83838393A939393:3A:3:3:3;3A;3;3;3<3A<3<3<3=3A=3=3=3>3A>3>3>3?3A?3?3?3@3A@3@3@3A3AA3A3A3B3AB3B3B3C3AC3C3C3D3AD3D3D3E3AE3E3E3F3AF3F3F3G3AG3G3G3H3AH3H3H3I3AI3I3I3J3AJ3J3J3K3AK3K3K3L3AL3L3L3M3AM3M3M3N3AN3N3N3O3AO3O3O3P3AP3P3P3Q3AQ3Q3Q3R3AR3R3R3S3AS3S3S3T3AT3T3T3U3AU3U3U3V3AV3V3V3W3AW3W3W3X3AX3X3X3Y3AY3Y3Y3Z3AZ3Z3Z3[3A[3[3[3\3A\3\3\3]3A]3]3]3^3A^3^3^3_3A_3_3_3`3A`3`3`3a3Aa3a3a3b3Ab3b3b3c3Ac3c3c3d3Ad3d3d3e3Ae3e3e3f3Af3f3f3g3Ag3g3g3h3Ah3h3h3i3Ai3i3i3j3Aj3j3j3k3Ak3k3k3l3Al3l3l3m3Am3m3m3n3An3n3n3o3Ao3o3o3p3Ap3p3p3q3Aq3q3q3r3Ar3r3r3s3As3s3s3t3At3t3t3u3Au3u3u3v3Av3v3v3w3Aw3w3w3x3Ax3x3x3y3Ay3y3y3z3Az3z3z3{3A{3{3{3|3A|3|3|3}3A}3}3}3~3A~3~3~33A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3333A3777A7777A7778A8888A8888A8888A8888A8888A8888A8888A8888A888 8A 8 8 8 8A 8 8 8 8A 8 8 8 8A 8 8 8 8A 8 8 88A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A888 8A 8 8 8!8A!8!8!8"8A"8"8"8#8A#8#8#8$8A$8$8$8%8A%8%8%8&8A&8&8&8'8A'8'8'8(8A(8(8(8)8A)8)8)8*8A*8*8*8+8A+8+8+8,8A,8,8,8-8A-8-8-8.8A.8.8.8/8A/8/8/808A08080818A18181828A28282838A38383848A48484858A58585868A68686878A78787888A88888898A989898:8A:8:8:8;8A;8;8;8<8A<8<8<8=8A=8=8=8>8A>8>8>8?8A?8?8?8@8A@8@8@8A8AA8A8A8B8AB8B8B8C8AC8C8C8D8AD8D8D8E8AE8E8E8F8AF8F8F8G8AG8G8G8H8AH8H8H8I8AI8I8I8J8AJ8J8J8K8AK8K8K8L8AL8L8L8M8AM8M8M8N8AN8N8N8O8AO8O8O8P8AP8P8P8Q8AQ8Q8Q8R8AR8R8R8S8AS8S8S8T8AT8T8T8U8AU8U8U8V8AV8V8V8W8AW8W8W8X8AX8X8X8Y8AY8Y8Y8Z8AZ8Z8Z8[8A[8[8[8\8A\8\8\8]8A]8]8]8^8A^8^8^8_8A_8_8_8`8A`8`8`8a8Aa8a8a8b8Ab8b8b8c8Ac8c8c8d8Ad8d8d8e8Ae8e8e8f8Af8f8f8g8Ag8g8g8h8Ah8h8h8i8Ai8i8i8j8Aj8j8j8k8Ak8k8k8l8Al8l8l8m8Am8m8m8n8An8n8n8o8Ao8o8o8p8Ap8p8p8q8Aq8q8q8r8Ar8r8r8s8As8s8s8t8At8t8t8u8Au8u8u8v8Av8v8v8w8Aw8w8w8x8Ax8x8x8y8Ay8y8y8z8Az8z8z8{8A{8{8{8|8A|8|8|8}8A}8}8}8~8A~8~8~88A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8888A8889A9999A9999A9999A9999A9999A9999A9999A9999A999 9A 9 9 9 9A 9 9 9 9A 9 9 9 9A 9 9 9 9A 9 9 99A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A999 9A 9 9 9!9A!9!9!9"9A"9"9"9#9A#9#9#9$9A$9$9$9%9A%9%9%9&9A&9&9&9'9A'9'9'9(9A(9(9(9)9A)9)9)9*9A*9*9*9+9A+9+9+9,9A,9,9,9-9A-9-9-9.9A.9.9.9/9A/9/9/909A09090919A19191929A29292939A39393949A49494959A59595969A69696979A79797989A89898999A999999:9A:9:9:9;9A;9;9;9<9A<9<9<9=9A=9=9=9>9A>9>9>9?9A?9?9?9@9A@9@9@9A9AA9A9A9B9AB9B9B9C9AC9C9C9D9AD9D9D9E9AE9E9E9F9AF9F9F9G9AG9G9G9H9AH9H9H9I9AI9I9I9J9AJ9J9J9K9AK9K9K9L9AL9L9L9M9AM9M9M9N9AN9N9N9O9AO9O9O9P9AP9P9P9Q9AQ9Q9Q9R9AR9R9R9S9AS9S9S9T9AT9T9T9U9AU9U9U9V9AV9V9V9W9AW9W9W9X9AX9X9X9Y9AY9Y9Y9Z9AZ9Z9Z9[9A[9[9[9\9A\9\9\9]9A]9]9]9^9A^9^9^9_9A_9_9_9`9A`9`9`9a9Aa9a9a9b9Ab9b9b9c9Ac9c9c9d9Ad9d9d9e9Ae9e9e9f9Af9f9f9g9Ag9g9g9h9Ah9h9h9i9Ai9i9i9j9Aj9j9j9k9Ak9k9k9l9Al9l9l9m9Am9m9m9n9An9n9n9o9Ao9o9o9p9Ap9p9p9q9Aq9q9q9r9Ar9r9r9s9As9s9s9t9At9t9t9u9Au9u9u9v9Av9v9v9w9Aw9w9w9x9Ax9x9x9y9Ay9y9y9z9Az9z9z9{9A{9{9{9|9A|9|9|9}9A}9}9}9~9A~9~9~99A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9999A9Paper =& $publishedPaperCache[$paperId]; if ($publishedPaper && $paper) { $trackId = $paper->getTrackId(); if (!isset($trackCache[$trackId])) { $trackCache[$trackId] =& $trackDao->getTrack($trackId); } // Get the conference, storing in cache if necessary. $schedConfId = $publishedPaper->getSchedConfId(); $schedConf =& $schedConfDao->getSchedConf($schedConfId); $conferenceId = $schedConf->getConferenceId(); if (!isset($conferenceCache[$conferenceId])) { $conferenceCache[$conferenceId] = $conferenceDao->getConference($conferenceId); } // Get the scheduled conference, storing in cache if necessary. if (!isset($schedConfCache[$schedConfId])) { $schedConfCache[$schedConfId] =& $schedConf; import('schedConf.SchedConfAction'); $schedConfAvailabilityCache[$schedConfId] = SchedConfAction::mayViewProceedings($schedConf); } // Store the retrieved objects in the result array. if($schedConfAvailabilityCache[$schedConfId]) { $returner[] = array( 'paper' => &$paper, 'publishedPaper' => &$publishedPaperCache[$paperId], 'schedConf' => &$schedConfCache[$schedConfId], 'conference' => &$conferenceCache[$conferenceId], 'schedConfAvailable' => $schedConfAvailabilityCache[$schedConfId], 'track' => &$trackCache[$trackId] ); } } } return $returner; } /** * Return an array of search results matching the supplied * keyword IDs in decreasing order of match quality. * Keywords are supplied in an array of the following format: * $keywords[PAPER_SEARCH_AUTHOR] = array('John', 'Doe'); * $keywords[PAPER_SEARCH_...] = array(...); * $keywords[null] = array('Matches', 'All', 'Fields'); * @param $conference object The conference to search * @param $keywords array List of keywords * @param $publishedFrom object Search-from date * @param $publishedTo object Search-to date * @param $rangeInfo Information on the range of results to return */ function &retrieveResults(&$conference, &$keywords, $publishedFrom = null, $publishedTo = null, $rangeInfo = null) { // Fetch all the results from all the keywords into one array // (mergedResults), where mergedResults[paper_id] // = sum of all the occurences for all keywords associated with // that paper ID. // resultCount contains the sum of result counts for all keywords. $mergedResults =& PaperSearch::_getMergedArray($conference, $keywords, $publishedFrom, $publishedTo, $resultCount); // Convert mergedResults into an array (frequencyIndicator => // $paperId). // The frequencyIndicator is a synthetically-generated number, // where higher is better, indicating the quality of the match. // It is generated here in such a manner that matches with // identical frequency do not collide. $results =& PaperSearch::_getSparseArray($mergedResults, $resultCount); $totalResults = count($results); // Use only the results for the specified page, if specified. if ($rangeInfo && $rangeInfo->isValid()) { $results = array_slice( $results, $rangeInfo->getCount() * ($rangeInfo->getPage()-1), $rangeInfo->getCount() ); $page = $rangeInfo->getPage(); $itemsPerPage = $rangeInfo->getCount(); } else { $page = 1; $itemsPerPage = max($totalResults, 1); } // Take the range of results and retrieve the Paper, Conference, // and associated objects. $results =& PaperSearch::formatResults($results); // Return the appropriate iterator. import('core.VirtualArrayIterator'); $returner = new VirtualArrayIterator($results, $totalResults, $page, $itemsPerPage); return $returner; } } ?> `?GF-`?GF!!!!a!!!!!a!!!!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""! "a " " "! "a " " "! "a " " "! "a " " "! "a " " "!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""! "a " " "!!"a!"!"!"!""a""""""!#"a#"#"#"!$"a$"$"$"!%"a%"%"%"!&"a&"&"&"!'"a'"'"'"!("a("("("!)"a)")")"!*"a*"*"*"!+"a+"+"+"!,"a,",","!-"a-"-"-"!."a."."."!/"a/"/"/"!0"a0"0"0"!1"a1"1"1"!2"a2"2"2"!3"a3"3"3"!4"a4"4"4"!5"a5"5"5"!6"a6"6"6"!7"a7"7"7"!8"a8"8"8"!9"a9"9"9"!:"a:":":"!;"a;";";"!<"a<"<"<"!="a="="="!>"a>">">"!?"a?"?"?"!@"a@"@"@"!A"aA"A"A"!B"aB"B"B"!C"aC"C"C"!D"aD"D"D"!E"aE"E"E"!F"aF"F"F"!G"aG"G"G"!H"aH"H"H"!I"aI"I"I"!J"aJ"J"J"!K"aK"K"K"!L"aL"L"L"!M"aM"M"M"!N"aN"N"N"!O"aO"O"O"!P"aP"P"P"!Q"aQ"Q"Q"!R"aR"R"R"!S"aS"S"S"!T"aT"T"T"!U"aU"U"U"!V"aV"V"V"!W"aW"W"W"!X"aX"X"X"!Y"aY"Y"Y"!Z"aZ"Z"Z"!["a["["["!\"a\"\"\"!]"a]"]"]"!^"a^"^"^"!_"a_"_"_"!`"a`"`"`"!a"aa"a"a"!b"ab"b"b"!c"ac"c"c"!d"ad"d"d"!e"ae"e"e"!f"af"f"f"!g"ag"g"g"!h"ah"h"h"!i"ai"i"i"!j"aj"j"j"!k"ak"k"k"!l"al"l"l"!m"am"m"m"!n"an"n"n"!o"ao"o"o"!p"ap"p"p"!q"aq"q"q"!r"ar"r"r"!s"as"s"s"!t"at"t"t"!u"au"u"u"!v"av"v"v"!w"aw"w"w"!x"ax"x"x"!y"ay"y"y"!z"az"z"z"!{"a{"{"{"!|"a|"|"|"!}"a}"}"}"!~"a~"~"~"!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!"a"""!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###! #a # # #! #a # # #! #a # # #! #a # # #! #a # # #!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###! #a # # #!!#a!#!#!#!"#a"#"#"#!##a######!$#a$#$#$#!%#a%#%#%#!&#a&#&#&#!'#a'#'#'#!(#a(#(#(#!)#a)#)#)#!*#a*#*#*#!+#a+#+#+#!,#a,#,#,#!-#a-#-#-#!.#a.#.#.#!/#a/#/#/#!0#a0#0#0#!1#a1#1#1#!2#a2#2#2#!3#a3#3#3#!4#a4#4#4#!5#a5#5#5#!6#a6#6#6#!7#a7#7#7#!8#a8#8#8#!9#a9#9#9#!:#a:#:#:#!;#a;#;#;#!<#a<#<#<#!=#a=#=#=#!>#a>#>#>#!?#a?#?#?#!@#a@#@#@#!A#aA#A#A#!B#aB#B#B#!C#aC#C#C#!D#aD#D#D#!E#aE#E#E#!F#aF#F#F#!G#aG#G#G#!H#aH#H#H#!I#aI#I#I#!J#aJ#J#J#!K#aK#K#K#!L#aL#L#L#!M#aM#M#M#!N#aN#N#N#!O#aO#O#O#!P#aP#P#P#!Q#aQ#Q#Q#!R#aR#R#R#!S#aS#S#S#!T#aT#T#T#!U#aU#U#U#!V#aV#V#V#!W#aW#W#W#!X#aX#X#X#!Y#aY#Y#Y#!Z#aZ#Z#Z#![#a[#[#[#!\#a\#\#\#!]#a]#]#]#!^#a^#^#^#!_#a_#_#_#!`#a`#`#`#!a#aa#a#a#!b#ab#b#b#!c#ac#c#c#!d#ad#d#d#!e#ae#e#e#!f#af#f#f#!g#ag#g#g#!h#ah#h#h#!i#ai#i#i#!j#aj#j#j#!k#ak#k#k#!l#al#l#l#!m#am#m#m#!n#an#n#n#!o#ao#o#o#!p#ap#p#p#!q#aq#q#q#!r#ar#r#r#!s#as#s#s#!t#at#t#t#!u#au#u#u#!v#av#v#v#!w#aw#w#w#!x#ax#x#x#!y#ay#y#y#!z#az#z#z#!{#a{#{#{#!|#a|#|#|#!}#a}#}#}#!~#a~#~#~#!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!#a###!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$! $a $ $ $! $a $ $ $! $a $ $ $! $a $ $ $! $a $ $ $!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$!$a$$$! $a $ $ $!!$a!$!$!$!"$a"$"$"$!#$a#$#$#$!$$a$$$$$$!%$a%$%$%$!&$a&$&$&$!'$a'$'$'$!($a($($($!)$a)$)$)$!*$a*$*$*$!+$a+$+$+$!,$a,$,$,$!-$a-$-$-$!.$a.$.$.$!/$a/$/$/$!0$a0$0$0$!1$a1$1$1$!2$a2$2$2$!3$a3$3$3$!4$a4$4$4$!5$a5$5$5$!6$a6$6$6$!7$a7$7$7$!8$a8$8$8$!9$a9$9$9$!:$a:$:$:$!;$a;$;$;$!<$a<$<$<$!=$a=$=$=$!>$a>$>$>$!?$a?$?$?$!@$a@$@$@$!A$aA$A$A$!B$aB$B$B$!C$aC$C$C$!D$aD$D$D$!E$aE$E$E$!F$aF$F$F$!G$aG$G$G$!H$aH$H$H$!I$aI$I$I$!J$aJ$J$J$!K$aK$K$K$!L$aL$L$L$!M$aM$M$M$!N$aN$N$N$!O$aO$O$O$!P$aP$P$P$!Q$aQ$Q$Q$!R$aR$R$R$!S$aS$S$S$!T$aT$T$T$!U$aU$U$U$!V$aV$V$V$!W$aW$W$W$!X$aX$X$X$!Y$aY$Y$Y$!Z$aZ$Z$Z$![$a[$[$[$!\$a\$\$\$!]$a]$]$]$!^$a^$^$^$!_$a_$_$_$!`$a`$`$`$!a$aa$a$a$!b$ab$b$b$!c$ac$c$c$!d$ad$d$d$!e$ae$e$e$!f$af$f$f$!g$ag$g$g$!h$ah$h$h$!i$ai$i$i$!j$aj$j$j$!k$ak$k$k$!l$al$l$l$!m$am$m$m$!n$an$n$n$!o$ao$o$o$!p$ap$p$p$!q$aq$q$q$!r$ar$r$r$!s$as$s$s$!t$at$t$t$!u$au$u$u$!v$av$v$v$!w$aw$w$w$!x$ax$x$x$!y$ay$y$y$!z$az$z$z$!{$a{${${$!|$a|$|$|$!}$a}$}$}$!~$a~$~$~$!$a$$$!$a$$$!$a$$$!$a$$$