[Fusionforge-commits] r14619 - in trunk: . src/common/include src/common/search src/www/search/include/renderers tests/func/Search

Roland Mas lolando at fusionforge.org
Fri Oct 14 09:41:01 CEST 2011


Author: lolando
Date: 2011-10-14 09:41:01 +0200 (Fri, 14 Oct 2011)
New Revision: 14619

Modified:
   trunk/
   trunk/src/common/include/database-pgsql.php
   trunk/src/common/search/ArtifactSearchQuery.class.php
   trunk/src/common/search/DocsSearchQuery.class.php
   trunk/src/common/search/ExportProjectSearchQuery.class.php
   trunk/src/common/search/ForumSearchQuery.class.php
   trunk/src/common/search/ForumsSearchQuery.class.php
   trunk/src/common/search/FrsSearchQuery.class.php
   trunk/src/common/search/NewsSearchQuery.class.php
   trunk/src/common/search/PeopleSearchQuery.class.php
   trunk/src/common/search/ProjectSearchQuery.class.php
   trunk/src/common/search/SearchQuery.class.php
   trunk/src/common/search/SkillSearchQuery.class.php
   trunk/src/common/search/TasksSearchQuery.class.php
   trunk/src/common/search/TrackersSearchQuery.class.php
   trunk/src/www/search/include/renderers/HtmlSearchRenderer.class.php
   trunk/tests/func/Search/searchTest.php
Log:
Merged from 5.1: first batch of debugging the search system


Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk:8721-8727
/branches/Branch_4_7:6879,6881,6884,6897,6899,6902,6904,6906,6909,6911,6922,6932,6936,6939,6942,6944,6946-6948,6954,6956,6959,7000-7001,7012,7111,7130-7131,7133-7134,7138,7140-7142,7147-7148,7159-7160,7163,7168,7177,7179,7203,7205,7207,7210,7212,7251-7253,7255,7284,7287,7291,7293,7295-7296,7300,7355,7365-7366,7375-7376,7378,7395,7423-7426,7435,7458,7504,7567,7577,7623-7624,7638,7659-7660,7662,7665,7668,7674,7699,7746-7748,7771,7774,7786,7838
/branches/Branch_5_1:11607-11609,11621,11625,11627,11631,11638,11644,11647-11651,11677,11680-11681,11683-11684,11719-11720,11724,11754,11780,11783,11792,11794,11802,11808-11816,11818,11822-11824,11827-11829,11834-11835,11847,11849,11851-11852,11855,11858,11862,11867,11869-11872,11876,11880,11893,11902-11905,11915,11923-11927,11929-11930,11932,11934-11941,11943,11948-11949,11952-11954,11956-11960,11962,11965-11966,11972,11975,11980,11983-11984,11986-11987,11990,11992-11997,12003-12004,12010-12013,12015,12018-12024,12043-12044,12046-12061,12063,12065,12070,12073-12076,12081-12083,12093-12094,12102,12105,12118,12124,12127-12128,12139,12141,12143,12148-12149,12153,12157-12159,12168-12169,12175-12180,12190,12194-12198,12203,12208-12213,12217-12258,12262,12264-12266,12274-12277,12281-12282,12287-12290,12340,12345-12346,12352,12359,12472-12473,12594,12634,12636-12638,12658-12659,12684-12712,12714-12715,12733,12780-12783,12785-12786,12795,12797,12800-12802,12815-12816,12840-12856,12860,12882-12883,12888-12892,12897,12904,12914-12917,12922-12926,12929-12936,12939,12959-12965,12967-12971,13011,13022,13025,13031-13032,13034,13043-13046,13048-13050,13053,13056,13058,13061,13068-13070,13075,13088,13090-13091,13101,13103-13104,13106,13108-13109,13111-13114,13116-13117,13120,13125,13127-13128,13148,13153-13161,13163,13165-13166,13174-13175,13188,13190,13211-13212,13219,13221,13231-13233,13234,13236-13238,13253,13257-13270,13272,13272-13274,13287,13287-13300,13302,13302-13342,13355-13374,13377-13379,13386,13386-13388,13389,13391,13391-13395,13396,13396-13400,13404,13408,13410,13412,13415-13416,13420,13422,13422-13426,13429-13432,13452,13456,13461-13464,13466,13468-13470,13472-13477,13492,13517-13519,13527-13532,13589-13590,13624-13628,13645,13661-13663,13666,13684,13689-13690,13697,13699,13704,13745,13761,13766-13767,13769-13770,13772-13801,13808,13817-13818,13820-13823,13830-13831,13838,13854,13861,13984,13986-13987,13988,14009,14013-14015,14020-14021,14036,14039-14045,14047,14051-14053,14056-14058,14059,14065,14072,14080-14084,14086-14090,14095-14099,14101-14110,14111-14114,14115-14117,14118-14120,14121,14130-14131,14132-14136,14162-14163,14164-14167,14172-14173,14184,14215-14216,14217-14219,14220,14238-14241,14266-14269,14273-14276,14277-14278,14285,14288-14289,14303,14305,14307,14309,14311,14313-14316,14318-14320,14322,14358,14391-14392,14444-14446,14461-14462,14472,14476-14480,14496,14498,14505-14506,14511,14515,14538-14541
/branches/Branch_4_8:7334-7335,7344-7345,7382,7387,7389-7390,7396,7398,7401-7402,7428-7429,7437,7440,7443,7449-7455,7459,7462,7466,7469-7470,7476-7478,7480,7485,7490-7492,7505,7540,7556-7560,7568,7570-7571,7573,7576,7580,7609-7611,7613,7615,7618,7621-7622,7625-7627,7639,7658,7661,7663-7664,7666-7667,7673,7675,7678,7680,7685,7688-7689,7693,7700,7706-7708,7713,7725,7728-7742,7760,7763-7764,7767,7769-7770,7773,7776,7784-7785,7791,7797,7799,7802-7808,7810-7811,7816,7818,7825-7828,7839,7846-7847,7850,7894,7902,7920-7922,7927-7928,7932,7936-7937,7939,7942,7944-7945,7947,7951,7956,7958,7960,8064,8079-8080,8108,8113,8119,8121,8127-8128,8145,8197,8201-8202,8216,8224,8226,8228,8247-8250,8252,8271-8272,8310-8311,8328,8337,8339-8357,8361,8371,8373-8375,8378-8379,8383-8396,8415,8427-8431,8438-8441,8449,8452-8453,8458,8461,8477-8478,8480,8482,8492,8514,8530,8604-8605,8608,8637,8662,8674,8751,8754,8756,8760-8761,8812,8850,8945,8995,8998,9004-9006,9124,9137,9141,9317,9443,9469,9670,9701,9726,9934,10013,10310,10314,10366,12790,13085
/branches/Branch_5_0:8892,8895,8897-8898,8900,8903-8904,8906-8907,8910,8915,8922,8924,8926,8929,8931-8933,8941,8946,8951,8955,8972-8977,8981,8997,8999,9002,9031-9032,9050,9080-9081,9084-9086,9093-9095,9102-9104,9108,9113-9115,9117-9118,9123,9125,9127-9131,9135-9136,9139,9146,9148-9150,9179-9191,9193-9195,9198,9200,9202,9204,9207,9209,9211,9213,9215,9220-9222,9231,9234-9235,9243,9251,9254,9259,9287,9315,9318,9347-9349,9358,9396,9427,9429,9431-9433,9441-9442,9444-9445,9462,9464,9468,9522-9523,9549,9551-9552,9576-9577,9579,9615,9633-9634,9672-9673,9675-9676,9684,9686-9687,9689,9699,9727,9729,9731,9930-9932,9935,9956,9980,10005-10006,10021,10024,10027,10064,10081-10082,10273,10285,10820-10824,10868,10872,10876-10878,10880,10918,11015,11017,11058-11060,11085-11086,11160-11165,11252-11253,11287,11294,11581,11619-11620,11679,11722-11723,11907,11974,12789,12940,12986,13023-13024,13086,13121-13122,13162,13465,13496,13501,13503,13660

   + /trunk:8721-8727
/branches/Branch_5_0:8892,8895,8897-8898,8900,8903-8904,8906-8907,8910,8915,8922,8924,8926,8929,8931-8933,8941,8946,8951,8955,8972-8977,8981,8997,8999,9002,9031-9032,9050,9080-9081,9084-9086,9093-9095,9102-9104,9108,9113-9115,9117-9118,9123,9125,9127-9131,9135-9136,9139,9146,9148-9150,9179-9191,9193-9195,9198,9200,9202,9204,9207,9209,9211,9213,9215,9220-9222,9231,9234-9235,9243,9251,9254,9259,9287,9315,9318,9347-9349,9358,9396,9427,9429,9431-9433,9441-9442,9444-9445,9462,9464,9468,9522-9523,9549,9551-9552,9576-9577,9579,9615,9633-9634,9672-9673,9675-9676,9684,9686-9687,9689,9699,9727,9729,9731,9930-9932,9935,9956,9980,10005-10006,10021,10024,10027,10064,10081-10082,10273,10285,10820-10824,10868,10872,10876-10878,10880,10918,11015,11017,11058-11060,11085-11086,11160-11165,11252-11253,11287,11294,11581,11619-11620,11679,11722-11723,11907,11974,12789,12940,12986,13023-13024,13086,13121-13122,13162,13465,13496,13501,13503,13660
/branches/Branch_4_8:7334-7335,7344-7345,7382,7387,7389-7390,7396,7398,7401-7402,7428-7429,7437,7440,7443,7449-7455,7459,7462,7466,7469-7470,7476-7478,7480,7485,7490-7492,7505,7540,7556-7560,7568,7570-7571,7573,7576,7580,7609-7611,7613,7615,7618,7621-7622,7625-7627,7639,7658,7661,7663-7664,7666-7667,7673,7675,7678,7680,7685,7688-7689,7693,7700,7706-7708,7713,7725,7728-7742,7760,7763-7764,7767,7769-7770,7773,7776,7784-7785,7791,7797,7799,7802-7808,7810-7811,7816,7818,7825-7828,7839,7846-7847,7850,7894,7902,7920-7922,7927-7928,7932,7936-7937,7939,7942,7944-7945,7947,7951,7956,7958,7960,8064,8079-8080,8108,8113,8119,8121,8127-8128,8145,8197,8201-8202,8216,8224,8226,8228,8247-8250,8252,8271-8272,8310-8311,8328,8337,8339-8357,8361,8371,8373-8375,8378-8379,8383-8396,8415,8427-8431,8438-8441,8449,8452-8453,8458,8461,8477-8478,8480,8482,8492,8514,8530,8604-8605,8608,8637,8662,8674,8751,8754,8756,8760-8761,8812,8850,8945,8995,8998,9004-9006,9124,9137,9141,9317,9443,9469,9670,9701,9726,9934,10013,10310,10314,10366,12790,13085
/branches/Branch_5_1:11607-11609,11621,11625,11627,11631,11638,11644,11647-11651,11677,11680-11681,11683-11684,11719-11720,11724,11754,11780,11783,11792,11794,11802,11808-11816,11818,11822-11824,11827-11829,11834-11835,11847,11849,11851-11852,11855,11858,11862,11867,11869-11872,11876,11880,11893,11902-11905,11915,11923-11927,11929-11930,11932,11934-11941,11943,11948-11949,11952-11954,11956-11960,11962,11965-11966,11972,11975,11980,11983-11984,11986-11987,11990,11992-11997,12003-12004,12010-12013,12015,12018-12024,12043-12044,12046-12061,12063,12065,12070,12073-12076,12081-12083,12093-12094,12102,12105,12118,12124,12127-12128,12139,12141,12143,12148-12149,12153,12157-12159,12168-12169,12175-12180,12190,12194-12198,12203,12208-12213,12217-12258,12262,12264-12266,12274-12277,12281-12282,12287-12290,12340,12345-12346,12352,12359,12472-12473,12594,12634,12636-12638,12658-12659,12684-12712,12714-12715,12733,12780-12783,12785-12786,12795,12797,12800-12802,12815-12816,12840-12856,12860,12882-12883,12888-12892,12897,12904,12914-12917,12922-12926,12929-12936,12939,12959-12965,12967-12971,13011,13022,13025,13031-13032,13034,13043-13046,13048-13050,13053,13056,13058,13061,13068-13070,13075,13088,13090-13091,13101,13103-13104,13106,13108-13109,13111-13114,13116-13117,13120,13125,13127-13128,13148,13153-13161,13163,13165-13166,13174-13175,13188,13190,13211-13212,13219,13221,13231-13233,13234,13236-13238,13253,13257-13270,13272,13272-13274,13287,13287-13300,13302,13302-13342,13355-13374,13377-13379,13386,13386-13388,13389,13391,13391-13395,13396,13396-13400,13404,13408,13410,13412,13415-13416,13420,13422,13422-13426,13429-13432,13452,13456,13461-13464,13466,13468-13470,13472-13477,13492,13517-13519,13527-13532,13589-13590,13624-13628,13645,13661-13663,13666,13684,13689-13690,13697,13699,13704,13745,13761,13766-13767,13769-13770,13772-13801,13808,13817-13818,13820-13823,13830-13831,13838,13854,13861,13984,13986-13987,13988,14009,14013-14015,14020-14021,14036,14039-14045,14047,14051-14053,14056-14058,14059,14065,14072,14080-14084,14086-14090,14095-14099,14101-14110,14111-14114,14115-14117,14118-14120,14121,14130-14131,14132-14136,14162-14163,14164-14167,14172-14173,14184,14215-14216,14217-14219,14220,14238-14241,14266-14269,14273-14276,14277-14278,14285,14288-14289,14303,14305,14307,14309,14311,14313-14316,14318-14320,14322,14358,14391-14392,14444-14446,14461-14462,14472,14476-14480,14496,14498,14505-14506,14511,14515,14538-14542,14543-14550
/branches/Branch_4_7:6879,6881,6884,6897,6899,6902,6904,6906,6909,6911,6922,6932,6936,6939,6942,6944,6946-6948,6954,6956,6959,7000-7001,7012,7111,7130-7131,7133-7134,7138,7140-7142,7147-7148,7159-7160,7163,7168,7177,7179,7203,7205,7207,7210,7212,7251-7253,7255,7284,7287,7291,7293,7295-7296,7300,7355,7365-7366,7375-7376,7378,7395,7423-7426,7435,7458,7504,7567,7577,7623-7624,7638,7659-7660,7662,7665,7668,7674,7699,7746-7748,7771,7774,7786,7838

Modified: svk:merge
   - 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7001
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7012
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7291
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7458
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7623
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7624
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7786
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7838
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:10013
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7335
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7344
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7345
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7402
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7455
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7459
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7469
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7470
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7476
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7480
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7505
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7540
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7557
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7559
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7560
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7580
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7609
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7615
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7618
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7621
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7622
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7626
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7627
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7708
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7713
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7725
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7729
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7730
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7731
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7732
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7733
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7734
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7737
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7738
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7739
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7742
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7760
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7763
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7764
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7767
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7769
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7773
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7776
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7784
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7785
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7797
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7799
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7811
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7826
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7827
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7828
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7839
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7951
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7958
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7960
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8108
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8113
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8119
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8128
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8145
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8202
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8216
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8224
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8226
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8250
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8337
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8357
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8371
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8375
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8379
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8415
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8427
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8431
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8441
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8449
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8453
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8530
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8604
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8605
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8608
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8637
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8751
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8756
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8761
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:9141
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10006
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10021
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10064
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10082
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10824
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11017
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11060
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11165
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11253
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11294
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8895
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8898
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8900
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8941
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9115
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9118
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9131
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9136
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9139
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9150
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9188
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9195
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9198
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9202
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9207
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9209
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9213
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9243
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9254
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9358
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9427
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9433
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9549
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9552
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9579
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9634
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9675
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9676
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9729
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9731
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9932
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9980
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11621
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11627
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11631
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11638
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11651
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11684
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11724
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11754
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11794
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11802
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11818
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11835
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11855
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11858
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11872
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11876
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11905
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11930
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11932
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11941
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11960
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11962
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11966
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11975
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11980
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11984
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11987
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11997
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12013
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12015
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12022
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12049
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12060
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12073
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12105
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12118
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12143
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12169
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12180
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12190
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12203
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12266
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12282
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12594
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12634
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12659
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12715
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12733
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12786
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12816
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12843
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12856
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12892
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12917
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12971
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13011
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13056
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13058
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13061
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13091
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13104
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13117
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13120
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13128
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13163
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13190
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13212
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13232
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13238
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13274
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13287
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13300
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13307
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13312
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13314
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13316
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13325
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13373
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13404
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13412
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13426
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13432
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13466
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13492
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13532
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13590
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13690
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13699
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13704
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13761
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13769
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13770
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13808
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13821
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13822
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13823
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13854
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13986
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13988
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14021
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14045
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14047
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14053
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14057
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14065
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14072
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14084
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14090
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14109
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14111
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14112
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14113
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14115
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14116
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14119
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14121
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14130
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14136
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14162
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14167
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14173
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14184
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14215
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14218
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14220
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14241
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14269
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14275
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14278
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14289
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14303
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14305
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14307
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14309
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14311
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14320
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14322
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14392
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14462
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14472
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14498
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14515
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14541
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/trunk:8727

   + 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7001
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7012
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7291
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7458
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7623
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7624
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7786
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7838
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:10013
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7335
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7344
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7345
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7402
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7455
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7459
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7469
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7470
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7476
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7480
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7505
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7540
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7557
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7559
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7560
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7580
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7609
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7615
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7618
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7621
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7622
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7626
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7627
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7708
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7713
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7725
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7729
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7730
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7731
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7732
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7733
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7734
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7737
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7738
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7739
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7742
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7760
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7763
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7764
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7767
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7769
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7773
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7776
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7784
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7785
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7797
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7799
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7811
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7826
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7827
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7828
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7839
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7951
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7958
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7960
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8108
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8113
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8119
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8128
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8145
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8202
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8216
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8224
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8226
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8250
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8337
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8357
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8371
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8375
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8379
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8415
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8427
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8431
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8441
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8449
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8453
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8530
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8604
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8605
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8608
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8637
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8751
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8756
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8761
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:9141
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10006
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10021
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10064
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10082
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10824
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11017
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11060
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11165
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11253
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11294
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8895
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8898
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8900
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8941
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9115
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9118
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9131
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9136
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9139
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9150
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9188
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9195
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9198
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9202
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9207
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9209
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9213
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9243
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9254
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9358
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9427
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9433
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9549
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9552
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9579
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9634
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9675
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9676
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9729
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9731
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9932
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9980
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11621
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11627
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11631
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11638
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11651
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11684
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11724
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11754
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11794
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11802
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11818
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11835
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11855
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11858
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11872
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11876
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11905
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11930
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11932
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11941
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11960
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11962
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11966
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11975
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11980
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11984
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11987
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11997
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12013
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12015
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12022
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12049
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12060
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12073
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12105
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12118
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12143
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12169
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12180
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12190
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12203
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12266
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12282
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12594
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12634
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12659
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12715
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12733
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12786
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12816
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12843
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12856
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12892
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12917
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:12971
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13011
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13056
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13058
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13061
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13091
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13104
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13117
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13120
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13128
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13163
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13190
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13212
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13232
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13238
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13274
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13287
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13300
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13307
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13312
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13314
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13316
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13325
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13373
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13404
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13412
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13426
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13432
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13466
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13492
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13532
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13590
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13690
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13699
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13704
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13761
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13769
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13770
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13808
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13821
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13822
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13823
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13854
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13986
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:13988
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14021
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14045
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14047
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14053
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14057
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14065
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14072
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14084
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14090
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14109
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14111
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14112
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14113
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14115
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14116
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14119
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14121
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14130
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14136
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14162
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14167
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14173
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14184
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14215
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14218
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14220
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14241
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14269
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14275
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14278
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14289
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14303
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14305
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14307
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14309
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14311
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14320
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14322
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14392
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14462
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14472
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14498
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14515
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14541
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14550
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/trunk:8727


Modified: trunk/src/common/include/database-pgsql.php
===================================================================
--- trunk/src/common/include/database-pgsql.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/include/database-pgsql.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -99,6 +99,10 @@
 	define('SYS_DB_TROVE', $gfconn2);
 	define('SYS_DB_SEARCH', $gfconn2);
 
+	db_query_params ('SELECT set_config($1, $2, false)', 
+			 array('default_text_search_config',
+			       'simple'));
+	
 	// Register top-level "finally" handler to abort current
 	// transaction in case of error
 	register_shutdown_function("system_cleanup");
@@ -567,6 +571,15 @@
 	return db_construct_qpa ($old_qpa, $new_qpa[0], $new_qpa[1]) ;
 }
 
+function db_qpa_to_string ($qpa) {
+	$sql = $qpa[0];
+	$params = $qpa[1];
+	foreach ($params as $index => $value) {
+		$sql = preg_replace('/\\$'.($index+1).'(?!\d)/', "'".$value."'", $sql);
+	}
+	return $sql;
+}	
+
 // Local Variables:
 // mode: php
 // c-file-style: "bsd"

Modified: trunk/src/common/search/ArtifactSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ArtifactSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/ArtifactSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -62,71 +62,44 @@
 	 * @return array query+params array
 	 */
 	function getQuery() {
-
-
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			$words=$this->getFormattedWords();
+			$words=$this->getFTIwords();
 			$artifactId = $this->artifactId;
 
-			if (count($words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT a.group_artifact_id, a.artifact_id, ts_headline(summary, $1) AS summary, ',
-							 array ($this->getFormattedWords())) ;
-				$qpa = db_construct_qpa ($qpa,
-							 'a.open_date, users.realname, rank FROM (SELECT a.artifact_id, SUM (ts_rank(ai.vectors, q) + ts_rank(ami.vectors, q)) AS rank FROM artifact a LEFT OUTER JOIN artifact_message am USING (artifact_id)') ;
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT a.group_artifact_id, a.artifact_id, ts_headline(summary, $1) AS summary, ',
+						 array ($words)) ;
+			$qpa = db_construct_qpa ($qpa,
+						 'a.open_date, users.realname, rank FROM (SELECT a.artifact_id, SUM (ts_rank(ai.vectors, q) + ts_rank(ami.vectors, q)) AS rank FROM artifact a LEFT OUTER JOIN artifact_message am USING (artifact_id)') ;
 
-				$qpa = db_construct_qpa ($qpa,
-							 ', artifact_idx ai, artifact_message_idx ami, to_tsquery($1) q',
-							 array ($words)) ;
-				$qpa = db_construct_qpa ($qpa,
-							 'WHERE a.group_artifact_id=$1',
-							 array ($artifactId)) ;
-				$qpa = db_construct_qpa ($qpa,
-							 ' AND ai.artifact_id = a.artifact_id AND ami.id = am.id AND ((ai.vectors @@ q OR ami.vectors @@ q) ') ;
+			$qpa = db_construct_qpa ($qpa,
+						 ', artifact_idx ai, artifact_message_idx ami, to_tsquery($1) q',
+						 array ($words)) ;
+			$qpa = db_construct_qpa ($qpa,
+						 'WHERE a.group_artifact_id=$1',
+						 array ($artifactId)) ;
+			$qpa = db_construct_qpa ($qpa,
+						 ' AND ai.artifact_id = a.artifact_id AND ami.id = am.id AND ((ai.vectors @@ q OR ami.vectors @@ q) ') ;
 
-				if (count($this->phrases)) {
-					$qpa = db_construct_qpa ($qpa,
-								 $this->getOperator()) ;
-					$qpa = db_construct_qpa ($qpa,
-								 '((') ;
-					$qpa = $this->addMatchCondition($qpa, 'a.details');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'a.summary');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'am.body');
-					$qpa = db_construct_qpa ($qpa,
-								 '))') ;
-				}
+			if (count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
-							 ') GROUP BY a.artifact_id) x, artifact a, users WHERE a.artifact_id=x.artifact_id AND users.user_id=a.submitted_by ORDER BY group_artifact_id ASC, rank DESC, a.artifact_id ASC') ;
-			} else {
+							 $this->getOperator()) ;
 				$qpa = db_construct_qpa ($qpa,
-							 'SELECT a.group_artifact_id, a.artifact_id, summary, a.open_date, users.realname, rank FROM (SELECT a.artifact_id, 0 AS rank FROM artifact a LEFT OUTER JOIN artifact_message am USING (artifact_id)') ;
-
+							 '((') ;
+				$qpa = $this->addMatchCondition($qpa, 'a.details');
 				$qpa = db_construct_qpa ($qpa,
-							 'WHERE a.group_artifact_id=$1',
-							 array ($artifactId)) ;
-
-				if (count($this->phrases)) {
-					$qpa = db_construct_qpa ($qpa,
-								 ' AND ((') ;
-					$qpa = $this->addMatchCondition($qpa, 'a.details');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'a.summary');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'am.body');
-					$qpa = db_construct_qpa ($qpa,
-								 '))') ;
-				}
+							 ') OR (') ;
+				$qpa = $this->addMatchCondition($qpa, 'a.summary');
 				$qpa = db_construct_qpa ($qpa,
-							 ' GROUP BY a.artifact_id) x, artifact a, users WHERE a.artifact_id=x.artifact_id AND users.user_id=a.submitted_by ORDER BY group_artifact_id ASC, rank DESC, a.artifact_id ASC') ;
+							 ') OR (') ;
+				$qpa = $this->addMatchCondition($qpa, 'am.body');
+				$qpa = db_construct_qpa ($qpa,
+							 '))') ;
 			}
+			$qpa = db_construct_qpa ($qpa,
+						 ') GROUP BY a.artifact_id) x, artifact a, users WHERE a.artifact_id=x.artifact_id AND users.user_id=a.submitted_by ORDER BY group_artifact_id ASC, rank DESC, a.artifact_id ASC') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT DISTINCT ON (a.group_artifact_id,a.artifact_id) a.group_artifact_id,a.artifact_id,a.summary,a.open_date,users.realname ') ;

Modified: trunk/src/common/search/DocsSearchQuery.class.php
===================================================================
--- trunk/src/common/search/DocsSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/DocsSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -93,78 +93,45 @@
 	}
 
 	function getFTIQuery() {
-		$words = $this->getFormattedWords();
+		$words = $this->getFTIwords();
 		$group_id=$this->groupId;
 
 		$qpa = db_construct_qpa () ;
-		if(count($this->words)) {
-			$qpa = db_construct_qpa($qpa,
-						 'SELECT doc_data.docid, doc_data.filename, ts_headline(doc_data.title, q) AS title, ts_headline(doc_data.description, q) AS description doc_groups.groupname FROM doc_data, doc_groups, doc_data_idx, to_tsquery($1) q',
-						 array (implode (' ', $words)));
-			$qpa = db_construct_qpa($qpa,
-						 ' WHERE doc_data.doc_group = doc_groups.doc_group AND doc_data.docid = doc_data_idx.docid AND (vectors @@ q') ;
-			if (count($this->phrases)) {
-				$qpa = db_construct_qpa($qpa, $this->getOperator());
-				$qpa = db_construct_qpa($qpa, '(');
-				$qpa = $this->addMatchCondition($qpa, 'title');
-				$qpa = db_construct_qpa($qpa, ') OR (');
-				$qpa = $this->addMatchCondition($qpa, 'description');
-				$qpa = db_construct_qpa($qpa, ') OR (');
-				$qpa = $this->addIlikeCondition($qpa, 'data_words', $this->words);
-				$qpa = db_construct_qpa($qpa, ')');
-			}
-			$qpa = db_construct_qpa($qpa,
-						 ') AND doc_data.group_id = $1',
-						 array ($group_id)) ;
-			if ($this->sections != SEARCH__ALL_SECTIONS) {
-				$qpa = db_construct_qpa($qpa,
-							 ' AND doc_groups.doc_group = ANY ($1)',
-							 db_int_array_to_any_clause ($this->sections));
-			}
-			if ($this->showNonPublic) {
-				$qpa = db_construct_qpa($qpa,
-							 ' AND doc_data.stateid IN (1, 4, 5)');
-			} else {
-				$qpa = db_construct_qpa($qpa,
-							 ' AND doc_data.stateid = 1');
-			}
-			$qpa = db_construct_qpa($qpa,
-						 ' ORDER BY ts_rank(vectors, q) DESC, groupname ASC');
+
+		$qpa = db_construct_qpa ($qpa,
+					 'SELECT doc_data.docid, doc_data.filename, ts_headline(doc_data.title, q) AS title, ts_headline(doc_data.description, q) AS description doc_groups.groupname FROM doc_data, doc_groups, doc_data_idx, to_tsquery($1) q',
+					 array (implode (' ', $words))) ;
+		$qpa = db_construct_qpa ($qpa,
+					 ' WHERE doc_data.doc_group = doc_groups.doc_group AND doc_data.docid = doc_data_idx.docid AND (vectors @@ q') ;
+		if (count($this->phrases)) {
+			$qpa = db_construct_qpa ($qpa,
+						 $this->getOperator()) ;
+			$qpa = db_construct_qpa ($qpa,
+						 '(') ;
+			$qpa = $this->addMatchCondition($qpa, 'title');
+			$qpa = db_construct_qpa ($qpa,
+						 ') OR (') ;
+			$qpa = $this->addMatchCondition($qpa, 'description');
+			$qpa = db_construct_qpa ($qpa,
+						 ')') ;
+		}
+		$qpa = db_construct_qpa ($qpa,
+					 ') AND doc_data.group_id = $1',
+					 array ($group_id)) ;
+		if ($this->sections != SEARCH__ALL_SECTIONS) {
+			$qpa = db_construct_qpa ($qpa,
+						 ' AND doc_groups.doc_group = ANY ($1)',
+						 db_int_array_to_any_clause ($this->sections)) ;
+		}
+		if ($this->showNonPublic) {
+			$qpa = db_construct_qpa ($qpa,
+						 ' AND doc_data.stateid IN (1, 4, 5)') ;
 		} else {
-			$qpa = db_construct_qpa($qpa,
-						 'SELECT doc_data.docid, filename, title, description doc_groups.groupname FROM doc_data, doc_groups');
-			$qpa = db_construct_qpa($qpa,
-						 'WHERE doc_data.doc_group = doc_groups.doc_group');
-			if (count($this->phrases)) {
-				$qpa = db_construct_qpa($qpa,
-							 $this->getOperator()) ;
-				$qpa = db_construct_qpa($qpa,
-							 '((');
-				$qpa = $this->addMatchCondition($qpa, 'title');
-				$qpa = db_construct_qpa($qpa,
-							 ') OR (');
-				$qpa = $this->addMatchCondition($qpa, 'description');
-				$qpa = db_construct_qpa($qpa,
-							 '))');
-			}
-			$qpa = db_construct_qpa($qpa,
-						 ') AND doc_data.group_id = $1',
-						 array($group_id));
-			if ($this->sections != SEARCH__ALL_SECTIONS) {
-				$qpa = db_construct_qpa($qpa,
-							 'AND doc_groups.doc_group = ANY ($1) ',
-							 db_int_array_to_any_clause($this->sections));
-			}
-			if ($this->showNonPublic) {
-				$qpa = db_construct_qpa($qpa,
-							 ' AND doc_data.stateid IN (1, 4, 5)');
-			} else {
-				$qpa = db_construct_qpa($qpa,
-							 ' AND doc_data.stateid = 1');
-			}
-			$qpa = db_construct_qpa($qpa,
-						 ' ORDER BY groupname');
+			$qpa = db_construct_qpa ($qpa,
+						 ' AND doc_data.stateid = 1') ;
 		}
+		$qpa = db_construct_qpa ($qpa,
+					 ' ORDER BY ts_rank(vectors, q) DESC, groupname ASC') ;
 		return $qpa ;
 	}
 

Modified: trunk/src/common/search/ExportProjectSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ExportProjectSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/ExportProjectSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -45,59 +45,35 @@
 
 		$qpa = db_construct_qpa () ;
 		if (forge_get_config('use_fti')) {
-			$words = $this->getFormattedWords();
-			if(count($this->words)) {
+			$words = $this->getFTIwords();
+
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT ts_headline(unix_group_name, q) as unix_group_name, ts_headline(short_description, q) as short_description, type_id, groups.group_id, license, register_time FROM groups, groups_idx, to_tsquery($1) q ',
+						 array (implode (' ', $words))) ;
+			$qpa = db_construct_qpa ($qpa,
+						 'WHERE status IN ($1, $2) AND short_description <> $3 AND groups.group_id = groups_idx.group_id',
+						 array ('A',
+							'H',
+							'')) ;
+			$qpa = db_construct_qpa ($qpa,
+						 ' AND (vectors @@ q' ) ;
+			if (count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
-							 'SELECT ts_headline(unix_group_name, q) as unix_group_name, ts_headline(short_description, q) as short_description, type_id, groups.group_id, license, register_time FROM groups, groups_idx, to_tsquery($1) q ',
-							 array (implode (' ', $words))) ;
+							 $this->getOperator()) ;
 				$qpa = db_construct_qpa ($qpa,
-							 'WHERE status IN ($1, $2) AND short_description <> $3 AND groups.group_id = groups_idx.group_id',
-							 array ('A',
-								'H',
-								'')) ;
+							 '(') ;
+				$qpa = $this->addMatchCondition($qpa, 'group_name');
 				$qpa = db_construct_qpa ($qpa,
-							 ' AND (vectors @@ q' ) ;
-				if (count($this->phrases)) {
-					$qpa = db_construct_qpa ($qpa,
-								 $this->getOperator()) ;
-					$qpa = db_construct_qpa ($qpa,
-								 '(') ;
-					$qpa = $this->addMatchCondition($qpa, 'group_name');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'unix_group_name');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'short_description');
-					$qpa = db_construct_qpa ($qpa,
-								 ')') ;
-				}
+							 ') OR (') ;
+				$qpa = $this->addMatchCondition($qpa, 'unix_group_name');
 				$qpa = db_construct_qpa ($qpa,
-							 ') ORDER BY ts_rank(vectors, q) DESC, group_name ASC') ;
-			} else {
+							 ') OR (') ;
+				$qpa = $this->addMatchCondition($qpa, 'short_description');
 				$qpa = db_construct_qpa ($qpa,
-							 'SELECT unix_group_name, short_description, type_id, groups.group_id, license, register_time FROM groups ') ;
-				$qpa = db_construct_qpa ($qpa,
-							 'WHERE status IN ($1, $2) AND short_description <> $3',
-							 array ('A',
-								'H',
-								'')) ;
-				if (count($this->phrases)) {
-					$qpa = db_construct_qpa ($qpa,
-								 ' AND ((' ) ;
-					$qpa = $this->addMatchCondition($qpa, 'group_name');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'unix_group_name');
-					$qpa = db_construct_qpa ($qpa,
-								 ') OR (') ;
-					$qpa = $this->addMatchCondition($qpa, 'short_description');
-					$qpa = db_construct_qpa ($qpa,
-								 '))') ;
-				}
-				$qpa = db_construct_qpa ($qpa,
-							 ') ORDER BY group_name' ) ;
+							 ')') ;
 			}
+			$qpa = db_construct_qpa ($qpa,
+						 ') ORDER BY ts_rank(vectors, q) DESC, group_name ASC') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT group_name,unix_group_name,type_id,groups.group_id, short_description,license,register_time FROM groups WHERE status IN ($1, $2) AND short_description <> $3 AND groups.group_id = groups_idx.group_id',

Modified: trunk/src/common/search/ForumSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ForumSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/ForumSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -66,21 +66,13 @@
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			$words = $this->getFormattedWords();
+			$words = $this->getFTIwords();
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT forum.msg_id, ts_headline(forum.subject, q) AS subject, forum.post_date, users.realname FROM forum, users, to_tsquery($1) AS q, forum_idx as fi WHERE forum.group_forum_id = $2 AND forum.posted_by = users.user_id AND fi.msg_id = forum.msg_id AND vectors @@ q ',
+						 array ($words,
+							$this->forumId)) ;
+			$phraseOp = $this->getOperator();
 
-
-			if(count($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT forum.msg_id, ts_headline(forum.subject, q) AS subject, forum.post_date, users.realname FROM forum, users, to_tsquery($1) AS q, forum_idx as fi WHERE forum.group_forum_id = $2 AND forum.posted_by = users.user_id AND fi.msg_id = forum.msg_id AND vectors @@ q ',
-							 array ($words,
-								$this->forumId)) ;
-				$phraseOp = $this->getOperator();
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT forum.msg_id, subject, forum.post_date, users.realname FROM forum, users WHERE forum.group_forum_id = $1 AND forum.posted_by = users.user_id ',
-							 array ($this->forumId)) ;
-			}
-
 			if(count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
 							 'AND ((') ;
@@ -91,13 +83,8 @@
 				$qpa = db_construct_qpa ($qpa,
 							 ')) ') ;
 			}
-			if(count($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY ts_rank(vectors, q) DESC') ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY post_date DESC') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 'ORDER BY ts_rank(vectors, q) DESC') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT forum.msg_id, forum.subject, forum.post_date, users.realname FROM forum,users WHERE users.user_id=forum.posted_by AND ((') ;

Modified: trunk/src/common/search/ForumsSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ForumsSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/ForumsSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -81,7 +81,7 @@
 
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT forum.msg_id, ts_headline(forum.subject, q) AS subject, forum.post_date, users.realname, forum_group_list.forum_name FROM forum, users, forum_group_list, forum_idx, to_tsquery($1) as q ',
-						 array ($this->getFormattedWords())) ;
+						 array ($this->getFTIwords())) ;
 			$qpa = db_construct_qpa ($qpa,
 						 'WHERE users.user_id = forum.posted_by AND vectors @@ q AND forum.msg_id = forum_idx.msg_id AND forum_group_list.group_forum_id = forum.group_forum_id AND forum_group_list.is_public <> 9 AND forum.group_forum_id IN (SELECT group_forum_id FROM forum_group_list WHERE group_id = $1) ',
 						 array ($this->groupId));

Modified: trunk/src/common/search/FrsSearchQuery.class.php
===================================================================
--- trunk/src/common/search/FrsSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/FrsSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -69,17 +69,11 @@
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			if(count($this->words)) {
-				$qpa = db_construct_qpa () ;
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT ts_headline(frs_package.name, q) AS package_name, ts_headline(frs_release.name, q) as release_name, frs_release.release_date, frs_release.release_id, users.realname FROM frs_file, frs_release, users, frs_package, to_tsquery($1) AS q, frs_release_idx r, frs_file_idx f WHERE frs_release.released_by = users.user_id AND r.release_id = frs_release.release_id AND f.file_id = frs_file.file_id AND frs_package.package_id = frs_release.package_id AND frs_file.release_id=frs_release.release_id AND frs_package.group_id=$2 ',
-							 array ($this->getFormattedWords(),
-								 $this->groupId)) ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT frs_package.name as package_name, frs_release.name as release_name, frs_release.release_date, frs_release.release_id, users.realname FROM frs_file, frs_release, users, frs_package WHERE frs_release.released_by = users.user_id AND frs_package.package_id = frs_release.package_id AND frs_file.release_id=frs_release.release_id AND frs_package.group_id=$1 ',
-							 array ($this->groupId)) ;
-			}
+			$qpa = db_construct_qpa () ;
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT ts_headline(frs_package.name, q) AS package_name, ts_headline(frs_release.name, q) as release_name, frs_release.release_date, frs_release.release_id, users.realname FROM frs_file, frs_release, users, frs_package, to_tsquery($1) AS q, frs_release_idx r, frs_file_idx f WHERE frs_release.released_by = users.user_id AND r.release_id = frs_release.release_id AND f.file_id = frs_file.file_id AND frs_package.package_id = frs_release.package_id AND frs_file.release_id=frs_release.release_id AND frs_package.group_id=$2 ',
+						 array ($this->getFTIwords(),
+							$this->groupId)) ;
 			if ($this->sections != SEARCH__ALL_SECTIONS) {
 				$qpa = db_construct_qpa ($qpa,
 							 'AND frs_package.package_id = ANY ($1) ',
@@ -89,10 +83,8 @@
 				$qpa = db_construct_qpa ($qpa,
 							 'AND is_public = 1 ') ;
 			}
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'AND (f.vectors @@ q OR r.vectors @@ q) ') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 'AND (f.vectors @@ q OR r.vectors @@ q) ') ;
 			if(count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
 							 'AND ((') ;

Modified: trunk/src/common/search/NewsSearchQuery.class.php
===================================================================
--- trunk/src/common/search/NewsSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/NewsSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -59,23 +59,15 @@
 		if (forge_get_config('use_fti')) {
 			$group_id=$this->groupId;
 
-			if (count ($this->words)) {
-				$words = $this->getFormattedWords();
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT ts_headline(news_bytes.summary, q) as summary, news_bytes.post_date, news_bytes.forum_id, users.realname FROM news_bytes, users, to_tsquery($1) AS q, news_bytes_idx WHERE (news_bytes.group_id=$2 AND news_bytes.is_approved <> 4 AND news_bytes_idx.id = news_bytes.id AND news_bytes.submitted_by=users.user_id) AND (vectors @@ q ',
-							 array ($words,
-								$group_id)) ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT summary, news_bytes.post_date, news_bytes.forum_id, users.realname FROM news_bytes, users WHERE (news_bytes.group_id=$1 AND news_bytes.is_approved <> 4 AND news_bytes.submitted_by=users.user_id) ',
-							 array ($group_id)) ;
-			}
+			$words = $this->getFTIwords();
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT ts_headline(news_bytes.summary, q) as summary, news_bytes.post_date, news_bytes.forum_id, users.realname FROM news_bytes, users, to_tsquery($1) AS q, news_bytes_idx WHERE (news_bytes.group_id=$2 AND news_bytes.is_approved <> 4 AND news_bytes_idx.id = news_bytes.id AND news_bytes.submitted_by=users.user_id) AND (vectors @@ q ',
+						 array ($words,
+							$group_id)) ;
 			if (count ($this->phrases)) {
-				if (count ($this->words)) {
-					$qpa = db_construct_qpa ($qpa,
-								 $this->getOperator()) ;
-				}
 				$qpa = db_construct_qpa ($qpa,
+							 $this->getOperator()) ;
+				$qpa = db_construct_qpa ($qpa,
 							 ' ((') ;
 				$qpa = $this->addMatchCondition ($qpa, 'summary') ;
 				$qpa = db_construct_qpa ($qpa,
@@ -84,13 +76,8 @@
 				$qpa = db_construct_qpa ($qpa,
 							 '))') ;
 			}
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 ') ORDER BY ts_rank(vectors, q) DESC, post_date DESC') ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 ') ORDER BY post_date DESC') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 ') ORDER BY ts_rank(vectors, q) DESC, post_date DESC') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT news_bytes.summary, news_bytes.post_date, news_bytes.forum_id, users.realname FROM news_bytes, users WHERE group_id=$1 AND is_approved <> 4 AND news_bytes.submitted_by = users.user_id AND ((',

Modified: trunk/src/common/search/PeopleSearchQuery.class.php
===================================================================
--- trunk/src/common/search/PeopleSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/PeopleSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -43,28 +43,18 @@
 	 * @return array query+params array
 	 */
 	function getQuery() {
-
-
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			if (count ($this->words)) {
-				$words = $this->getFormattedWords();
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT users.user_id, user_name, ts_headline(realname, q) as realname FROM users, to_tsquery($1) AS q, users_idx WHERE status=$2 AND users_idx.user_id = users.user_id AND (vectors @@ q ',
-							 array ($words,
-								'A'));
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT users.user_id, user_name, realname FROM users WHERE status=$1 AND users_idx.user_id = users.user_id AND (',
-							 array ('A'));
-			}
+			$words = $this->getFTIwords();
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT users.user_id, user_name, ts_headline(realname, q) as realname FROM users, to_tsquery($1) AS q, users_idx WHERE status=$2 AND users_idx.user_id = users.user_id AND (vectors @@ q ',
+						 array ($words,
+							'A'));
 			if (count ($this->phrases)) {
-				if (count ($this->words)) {
-					$qpa = db_construct_qpa ($qpa,
-								 $this->getOperator()) ;
-				}
 				$qpa = db_construct_qpa ($qpa,
+							 $this->getOperator()) ;
+				$qpa = db_construct_qpa ($qpa,
 							 '(') ;
 				$qpa = $this->addMatchCondition($qpa, 'user_name');
 				$qpa = db_construct_qpa ($qpa,
@@ -73,13 +63,8 @@
 				$qpa = db_construct_qpa ($qpa,
 							 ')') ;
 			}
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 ') ORDER BY ts_rank(vectors, q) DESC, user_name') ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 ') ORDER BY user_name') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 ') ORDER BY ts_rank(vectors, q) DESC, user_name') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT user_name,user_id,realname FROM users WHERE ((') ;

Modified: trunk/src/common/search/ProjectSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ProjectSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/ProjectSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -44,26 +44,17 @@
 	 * @return array query+params array
 	 */
 	function getQuery() {
-		global  $LUSER;
-
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			if (count ($this->words)) {
-				$words = $this->getFormattedWords();
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT DISTINCT ON (ts_rank(vectors, q), group_name) type_id, g.group_id, ts_headline(group_name, q) as group_name, unix_group_name, ts_headline(short_description, q) as short_description FROM groups AS g, to_tsquery($1) AS q, groups_idx as i WHERE g.status in ($2, $3) ',
-							 array ($words,
-								'A',
-								'H')) ;
-				$qpa = db_construct_qpa ($qpa,
-							 'AND vectors @@ q ') ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT DISTINCT ON (group_name) type_id, g.group_id, group_name, unix_group_name, short_description FROM groups AS g WHERE g.status in ($1, $2) ',
-							 array ('A',
-								'H')) ;
-			}
+			$words = $this->getFTIwords();
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT DISTINCT ON (ts_rank(vectors, q), group_name) type_id, g.group_id, ts_headline(group_name, q) as group_name, unix_group_name, ts_headline(short_description, q) as short_description FROM groups AS g, to_tsquery($1) AS q, groups_idx as i WHERE g.status in ($2, $3) ',
+						 array ($words,
+							'A',
+							'H')) ;
+			$qpa = db_construct_qpa ($qpa,
+						 'AND vectors @@ q ') ;
 			if (count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
 							 ' AND ((') ;
@@ -77,13 +68,8 @@
 				$qpa = db_construct_qpa ($qpa,
 							 ')) ') ;
 			}				
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'AND g.group_id = i.group_id ORDER BY ts_rank(vectors, q) DESC, group_name') ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY group_name') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 'AND g.group_id = i.group_id ORDER BY ts_rank(vectors, q) DESC, group_name') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT g.group_name AS group_name, g.unix_group_name AS unix_group_name, g.type_id AS type_id, g.group_id AS group_id, g.short_description AS short_description FROM groups g WHERE g.status IN ($1, $2) AND ((',

Modified: trunk/src/common/search/SearchQuery.class.php
===================================================================
--- trunk/src/common/search/SearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/SearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -102,7 +102,7 @@
 		}
 		if (is_array ($this->phrases)){
 			$this->phrases = array_map ('addslashes',$this->phrases);
-		} else{
+		} else {
 			$this->phrases = array();
 		}
 		$this->rowsPerPage = $rowsPerPage;
@@ -136,8 +136,8 @@
 			$inQuote = false;
 			foreach(explode(' ', quotemeta($words)) as $word) {
 				if($inQuote) {
-					if(substr($word, -3) == "\\\\'") {
-						$word = substr($word, 0, -3);
+					if(substr($word, -1) == "'") {
+						$word = substr($word, 0, -1);
 						$inQuote = false;
 						$phrase .= ' '.$word;
 						$this->phrases[] = $phrase;
@@ -145,14 +145,14 @@
 						$phrase .= ' '.$word;
 					}
 				} else {
-					if(substr($word, 0, 3) == "\\\\'") {
-						$word = substr($word, 3);
+					if(substr($word, 0, 1) == "'") {
+						$word = substr($word, 1);
 						$inQuote = true;
-						if(substr($word, -3) == "\\\\'") {
+						if(substr($word, -1) == "'") {
 							// This is a special case where the phrase is just one word
-							$word = substr($word, 0, -3);
+							$word = substr($word, 0, -1);
 							$inQuote = false;
-							$this->phrases[] = $word;
+							$this->words[] = $word;
 						} else {
 							$phrase = $word;
 						}
@@ -174,12 +174,8 @@
 		} else {
 			$qpa = $this->getQuery();
 		}
-		if (forge_get_config('use_fti')) {
-			db_query_params('SELECT set_config($1, $2, false)', 
-					 array('default_text_search_config',
-					       'simple'));
-		}
-		$this->result = db_query_qpa(
+
+		$this->result = db_query_qpa (
 			$qpa,
 			$this->rowsPerPage + 1,
 			$this->offset,
@@ -200,26 +196,30 @@
 	}
 
 	function addMatchCondition($qpa, $fieldName) {
-		if(!count($arr)) {
+		if(!count($this->phrases)) {
 			$qpa = db_construct_qpa ($qpa, 'TRUE') ;
-		} else {
-			$regexs = str_replace(' ', "\\\s+", $arr);
-			for ($i = 0; $i < count ($regexs); $i++) {
-				if ($i > 0) {
-					$qpa = db_construct_qpa ($qpa,
-								 $this->operator) ;
-				}
+			return $qpa;
+		}
+
+		$regexs = array_map ('strtolower',
+				     array_merge ($this->phrases,
+						  str_replace(' ', "\s+", $this->phrases)));
+	
+		for ($i = 0; $i < count ($regexs); $i++) {
+			if ($i > 0) {
 				$qpa = db_construct_qpa ($qpa,
-							 $fieldName.' ~* $1',
+							 $this->operator) ;
+			}
+			$qpa = db_construct_qpa ($qpa,
+						 $fieldName.' ~* $1',
 							 array ($regexs[$i])) ;
-			}
 		}
 		return $qpa;
 	}
 
 	function addIlikeCondition($qpa, $fieldName) {
 		$wordArgs = array_map ('strtolower',
-				       array_merge($this->words, str_replace(' ', "\\\s+", $this->phrases)));
+				       array_merge($this->words, $this->phrases));
 
 		for ($i = 0; $i < count ($wordArgs); $i++) {
 			if ($i > 0) {
@@ -310,6 +310,15 @@
 	}
 
 	/**
+	 * getPhrases - returns the array containing phrases we are searching for
+	 *
+	 * @return array phrases we are searching for
+	 */
+	function getPhrases() {
+		return $this->phrases;
+	}
+	
+	/**
 	 * setSections - set the sections list
 	 *
 	 * @param $sections mixed array of sections or SEARCH__ALL_SECTIONS
@@ -323,17 +332,21 @@
 	}
 
 	/**
-	 * getFormattedWords - get words formatted in order to be used in the FTI stored procedures
+	 * getFTIwords - get words formatted in order to be used in the FTI stored procedures
 	 *
-	 * @return string words we are searching for, separated by a pipe
-	 */
-	function getFormattedWords() {
+	 * @return string words we are searching for, separated by 
+	 */	
+	function getFTIwords() {
+		$bits = $this->words;
+		foreach ($this->phrases as $p) {
+			$bits[] = '('.implode ('&', explode (' ', $p)).')';
+		}
 		if ($this->isExact) {
-			$words = implode('&', $this->words);
+			$query = implode('&', $bits);
 		} else {
-			$words = implode('|', $this->words);
+			$query = implode('|', $bits);
 		}
-		return $words;
+		return $query;
 	}
 }
 

Modified: trunk/src/common/search/SkillSearchQuery.class.php
===================================================================
--- trunk/src/common/search/SkillSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/SkillSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -48,22 +48,14 @@
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			if(count($this->words)) {
-				$words = $this->getFormattedWords();
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT skills_data.skills_data_id, skills_data.type, skills_data.start, skills_data.finish, ts_headline(skills_data.title, q) as title, ts_headline(skills_data.keywords, q) as keywords FROM skills_data, users, skills_data_types, to_tsquery($1) AS q, skills_data_idx WHERE (vectors @@ q ',
-							 array ($words)) ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT skills_data.skills_data_id, skills_data.type, skills_data.start, skills_data.finish, FROM skills_data, users, skills_data_types  WHERE (vectors @@ q ') ;
-			}
-
+			$words = $this->getFTIwords();
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT skills_data.skills_data_id, skills_data.type, skills_data.start, skills_data.finish, ts_headline(skills_data.title, q) as title, ts_headline(skills_data.keywords, q) as keywords FROM skills_data, users, skills_data_types, to_tsquery($1) AS q, skills_data_idx WHERE (vectors @@ q ',
+						 array ($words)) ;
 			if (count ($this->phrases)) {
-				if (count ($this->words)) {
-					$qpa = db_construct_qpa ($qpa,
-								 $this->getOperator()) ;
-				}
 				$qpa = db_construct_qpa ($qpa,
+							 $this->getOperator()) ;
+				$qpa = db_construct_qpa ($qpa,
 							 ' ((') ;
 				$qpa = $this->addMatchCondition ($qpa, 'skills_data.title') ;
 				$qpa = db_construct_qpa ($qpa,
@@ -74,19 +66,12 @@
 			}
 			$qpa = db_construct_qpa ($qpa,
 						 ')') ;
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'AND skills_data.skills_data_id = skills_data_idx.skills_data_id ') ;
-			}
 			$qpa = db_construct_qpa ($qpa,
+						 'AND skills_data.skills_data_id = skills_data_idx.skills_data_id ') ;
+			$qpa = db_construct_qpa ($qpa,
 						 'AND (skills_data.user_id=users.user_id) AND (skills_data.type=skills_data_types.type_id) ') ;
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY ts_rank(vectors, q) DESC, finish DESC') ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY finish DESC') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 'ORDER BY ts_rank(vectors, q) DESC, finish DESC') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT * FROM skills_data, users, skills_data_types WHERE ((') ;

Modified: trunk/src/common/search/TasksSearchQuery.class.php
===================================================================
--- trunk/src/common/search/TasksSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/TasksSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -70,20 +70,13 @@
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			if (count ($this->words)) {
-				$words = $this->getFormattedWords();
-
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT project_task.project_task_id, project_task.percent_complete, ts_headline(project_task.summary, q) AS summary, project_task.start_date,project_task.end_date,users.firstname||$1||users.lastname AS realname, project_group_list.project_name, project_group_list.group_project_id FROM project_task, users, project_group_list, to_tsquery($2) AS q, project_task_idx WHERE project_task.created_by = users.user_id AND project_task.project_task_id = project_task_idx.project_task_id AND project_task.group_project_id = project_group_list.group_project_id AND project_group_list.group_id=$3 ',
-							 array (' ',
-								$words,
-								$this->groupId)) ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT project_task.project_task_id, project_task.percent_complete, summary, project_task.start_date,project_task.end_date,users.firstname||$1||users.lastname AS realname, project_group_list.project_name, project_group_list.group_project_id  FROM project_task, users, project_group_list WHERE project_task.created_by = users.user_id AND project_task.group_project_id = project_group_list.group_project_id AND project_group_list.group_id = $2 ',
-							 array (' ',
-								$this->groupId)) ;
-			}
+			$words = $this->getFTIwords();
+			
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT project_task.project_task_id, project_task.percent_complete, ts_headline(project_task.summary, q) AS summary, project_task.start_date,project_task.end_date,users.firstname||$1||users.lastname AS realname, project_group_list.project_name, project_group_list.group_project_id FROM project_task, users, project_group_list, to_tsquery($2) AS q, project_task_idx WHERE project_task.created_by = users.user_id AND project_task.project_task_id = project_task_idx.project_task_id AND project_task.group_project_id = project_group_list.group_project_id AND project_group_list.group_id=$3 ',
+						 array (' ',
+							$words,
+							$this->groupId)) ;
 			if ($this->sections != SEARCH__ALL_SECTIONS) {
 				$qpa = db_construct_qpa ($qpa,
 							 'AND project_group_list.group_project_id = ANY ($1) ',
@@ -94,13 +87,8 @@
 							 'AND project_group_list.is_public = 1 ') ;
 			}
 			if (count($this->phrases)) {
-				if (count ($this->words)) {
-					$qpa = db_construct_qpa ($qpa,
-								 'AND (vectors @@ q AND (') ;
-				} else {
-					$qpa = db_construct_qpa ($qpa,
-								 'AND ((') ;
-				}
+				$qpa = db_construct_qpa ($qpa,
+							 'AND (vectors @@ q AND (') ;
 				$qpa = $this->addMatchCondition($qpa, 'summary');
 				$qpa = db_construct_qpa ($qpa,
 							 ') OR (') ;
@@ -108,13 +96,8 @@
 				$qpa = db_construct_qpa ($qpa,
 							 ')) ') ;
 			}
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY project_group_list.project_name, ts_rank(vectors, q) DESC, project_task.project_task_id') ;
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY project_group_list.project_name, project_task.project_task_id') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 'ORDER BY project_group_list.project_name, ts_rank(vectors, q) DESC, project_task.project_task_id') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT project_task.project_task_id, project_task.summary, project_task.percent_complete, project_task.start_date, project_task.end_date, users.firstname||$1||users.lastname AS realname, project_group_list.project_name, project_group_list.group_project_id FROM project_task, users, project_group_list WHERE project_task.created_by = users.user_id AND project_task.group_project_id = project_group_list.group_project_id AND project_group_list.group_id = $2 ',

Modified: trunk/src/common/search/TrackersSearchQuery.class.php
===================================================================
--- trunk/src/common/search/TrackersSearchQuery.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/common/search/TrackersSearchQuery.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -70,24 +70,13 @@
 		$qpa = db_construct_qpa () ;
 
 		if (forge_get_config('use_fti')) {
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT DISTINCT x.* FROM (SELECT artifact.artifact_id, artifact.group_artifact_id, artifact.summary, artifact.open_date, users.realname, artifact_group_list.name, (ts_rank(artifact_idx.vectors, q)+ts_rank(artifact_message_idx.vectors, q)) AS rank FROM artifact LEFT OUTER JOIN artifact_message USING (artifact_id), users, artifact_group_list, to_tsquery($1) q, artifact_idx, artifact_message_idx WHERE users.user_id = artifact.submitted_by AND artifact_idx.artifact_id = artifact.artifact_id AND artifact_message_idx.id = artifact_message.id AND artifact_message_idx.artifact_id = artifact_message_idx.artifact_id AND artifact_group_list.group_artifact_id = artifact.group_artifact_id AND artifact_group_list.group_id = $2 ',
-							 array ($this->getFormattedWords(),
-								$this->groupId)) ;
-				$tsmatch = "(artifact_idx.vectors @@ q OR artifact_message_idx.vectors @@ q)";
-				$phraseOp = $this->getOperator();
-			} else {
-				$qpa = db_construct_qpa ($qpa,
-							 'SELECT DISTINCT x.* FROM (SELECT artifact.artifact_id, artifact.group_artifact_id, artifact.summary, artifact.open_date, users.realname, artifact_group_list.name FROM artifact LEFT OUTER JOIN artifact_message USING (artifact_id), users, artifact_group_list WHERE users.user_id = artifact.submitted_by AND artifact_group_list.group_artifact_id = artifact.group_artifact_id AND artifact_group_list.group_id = $1 ',
-							 array ($this->groupId)) ;
+			$qpa = db_construct_qpa ($qpa,
+						 'SELECT DISTINCT x.* FROM (SELECT artifact.artifact_id, artifact.group_artifact_id, artifact.summary, artifact.open_date, users.realname, artifact_group_list.name, (ts_rank(artifact_idx.vectors, q)+ts_rank(artifact_message_idx.vectors, q)) AS rank FROM artifact LEFT OUTER JOIN artifact_message USING (artifact_id), users, artifact_group_list, to_tsquery($1) q, artifact_idx, artifact_message_idx WHERE users.user_id = artifact.submitted_by AND artifact_idx.artifact_id = artifact.artifact_id AND artifact_message_idx.id = artifact_message.id AND artifact_message_idx.artifact_id = artifact_message_idx.artifact_id AND artifact_group_list.group_artifact_id = artifact.group_artifact_id AND artifact_group_list.group_id = $2 ',
+						 array ($this->getFTIwords(),
+							$this->groupId)) ;
+			$tsmatch = "(artifact_idx.vectors @@ q OR artifact_message_idx.vectors @@ q)";
+			$phraseOp = $this->getOperator();
 
-
-				$tsmatch = "";
-				$orderBy = "";
-				$phraseOp = "";
-			}
-
 			if (count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
 							 'AND ((') ;
@@ -112,10 +101,8 @@
 			}
 			$qpa = db_construct_qpa ($qpa,
 						 ') x') ;
-			if (count ($this->words)) {
-				$qpa = db_construct_qpa ($qpa,
-							 'ORDER BY rank DESC') ;
-			}
+			$qpa = db_construct_qpa ($qpa,
+						 'ORDER BY rank DESC') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
 						 'SELECT DISTINCT artifact.artifact_id, artifact.group_artifact_id, artifact.summary, artifact.open_date, users.realname, artifact_group_list.name FROM artifact LEFT OUTER JOIN artifact_message USING (artifact_id), users, artifact_group_list WHERE users.user_id = artifact.submitted_by AND artifact_group_list.group_artifact_id = artifact.group_artifact_id AND artifact_group_list.group_id = $1 ',

Modified: trunk/src/www/search/include/renderers/HtmlSearchRenderer.class.php
===================================================================
--- trunk/src/www/search/include/renderers/HtmlSearchRenderer.class.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/src/www/search/include/renderers/HtmlSearchRenderer.class.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -182,7 +182,13 @@
 		if (empty($text)) {
 			return ' ';
 		}
-		$regexp = implode($this->searchQuery->getWords(), '|');
+		$words = $this->searchQuery->getWords();
+		foreach ($this->searchQuery->getPhrases() as $p) {
+			foreach (explode(' ',$p) as $w) {
+				$words[] = $w;
+			}
+		}
+		$regexp = implode('|',$words);
 		return preg_replace('/('.str_replace('/', '\/', $regexp).')/i','<span class="selected">\1</span>', $text);
 	}
 

Modified: trunk/tests/func/Search/searchTest.php
===================================================================
--- trunk/tests/func/Search/searchTest.php	2011-10-14 07:32:47 UTC (rev 14618)
+++ trunk/tests/func/Search/searchTest.php	2011-10-14 07:41:01 UTC (rev 14619)
@@ -26,17 +26,117 @@
 	function testProjectSearch()
 	{
 		$this->init();
+		$this->createProject('projectb');
+
 		$this->open(ROOT) ;
 		$this->waitForPageToLoad("30000");
 		$this->type("//input[@name='words']", "XXXXXXXXXXXXXXXXXXXXXXXXXX");
 		$this->click("//input[@name='Search']");
 		$this->waitForPageToLoad("30000");
 		$this->assertTrue($this->isTextPresent("No matches found for"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
 		$this->type("//input[@name='words']", "projecta");
 		$this->click("//input[@name='Search']");
 		$this->waitForPageToLoad("30000");
 		$this->assertFalse($this->isTextPresent("No matches found for"));
+		$this->assertTrue($this->isTextPresent("public description for ProjectA"));
+		$this->assertFalse($this->isTextPresent("public description for projectb"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->type("//input[@name='words']", "description public projecta");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertFalse($this->isTextPresent("No matches found for"));
+		$this->assertTrue($this->isTextPresent("public description for ProjectA"));
+		$this->assertFalse($this->isTextPresent("public description for projectb"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->type("//input[@name='words']", "description 'public projecta'");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("No matches found for"));
+		$this->assertFalse($this->isTextPresent("public description for ProjectA"));
+		$this->assertFalse($this->isTextPresent("public description for projectb"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->type("//input[@name='words']", "description public");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertFalse($this->isTextPresent("No matches found for"));
+		$this->assertTrue($this->isTextPresent("public description for ProjectA"));
+		$this->assertTrue($this->isTextPresent("public description for projectb"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->type("//input[@name='words']", "'description public'");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("No matches found for"));
+		$this->assertFalse($this->isTextPresent("public description for ProjectA"));
+		$this->assertFalse($this->isTextPresent("public description for projectb"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->type("//input[@name='words']", "'public description'");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertFalse($this->isTextPresent("No matches found for"));
+		$this->assertTrue($this->isTextPresent("public description for ProjectA"));
+		$this->assertTrue($this->isTextPresent("public description for projectb"));
 	}
 
+	function testPeopleSearch()
+	{
+		$this->switchUser('admin');
+		$this->createUser('ratatouille');
+		$this->createUser('tartiflette');
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->select("type_of_search", "label=People");
+		$this->type("//input[@name='words']", "tartempion");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("No matches found for"));
+		$this->assertFalse($this->isTextPresent("ratatouille Lastname"));
+		$this->assertFalse($this->isTextPresent("tartiflette Lastname"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->select("type_of_search", "label=People");
+		$this->type("//input[@name='words']", "ratatouille");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertFalse($this->isTextPresent("No matches found for"));
+		$this->assertTrue($this->isTextPresent("ratatouille Lastname"));
+		$this->assertFalse($this->isTextPresent("tartiflette Lastname"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->select("type_of_search", "label=People");
+		$this->type("//input[@name='words']", "lastname ratatouille");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertFalse($this->isTextPresent("No matches found for"));
+		$this->assertTrue($this->isTextPresent("ratatouille Lastname"));
+		$this->assertFalse($this->isTextPresent("tartiflette Lastname"));
+
+		$this->open(ROOT) ;
+		$this->waitForPageToLoad("30000");
+		$this->select("type_of_search", "label=People");
+		$this->type("//input[@name='words']", "Lastname");
+		$this->click("//input[@name='Search']");
+		$this->waitForPageToLoad("30000");
+		$this->assertFalse($this->isTextPresent("No matches found for"));
+		$this->assertTrue($this->isTextPresent("ratatouille Lastname"));
+		$this->assertTrue($this->isTextPresent("tartiflette Lastname"));
+
+	}
+
 }
 ?>




More information about the Fusionforge-commits mailing list