[Fusionforge-commits] r15384 - in trunk: . src/common/include src/common/search src/debian src/plugins/projectimport src/www/search/include/renderers tests/func/Search

Roland Mas lolando at fusionforge.org
Thu Apr 26 17:32:36 CEST 2012


Author: lolando
Date: 2012-04-26 17:32:35 +0200 (Thu, 26 Apr 2012)
New Revision: 15384

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/ForumSearchQuery.class.php
   trunk/src/common/search/ForumsSearchQuery.class.php
   trunk/src/common/search/NewsSearchQuery.class.php
   trunk/src/common/search/TasksSearchQuery.class.php
   trunk/src/common/search/TrackersSearchQuery.class.php
   trunk/src/debian/changelog
   trunk/src/plugins/projectimport/INSTALL
   trunk/src/www/search/include/renderers/ArtifactHtmlSearchRenderer.class.php
   trunk/src/www/search/include/renderers/DocsHtmlSearchRenderer.class.php
   trunk/src/www/search/include/renderers/ForumHtmlSearchRenderer.class.php
   trunk/src/www/search/include/renderers/ForumsHtmlSearchRenderer.class.php
   trunk/src/www/search/include/renderers/TasksHtmlSearchRenderer.class.php
   trunk/src/www/search/include/renderers/TrackersHtmlSearchRenderer.class.php
   trunk/tests/func/Search/searchTest.php
Log:
Merged from 5.1/5.2: search fixes


Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/tracker_attachement_move_in_fs:14977-14978
/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
/shelves/aljeux:15005,15012,15150,15154-15160,15177-15179,15203,15232,15276-15277,15306
/trunk:8721-8727
/shelves/alain_peyrat:14997-15003
/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-13234,13236-13238,13253,13257-13270,13272-13274,13287-13300,13302-13342,13355-13374,13377-13379,13386-13389,13391-13400,13404,13408,13410,13412,13415-13416,13420,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-13988,14009,14013-14015,14020-14021,14036,14039-14045,14047,14051-14053,14056-14059,14065,14072,14080-14084,14086-14090,14095-14099,14101-14121,14130-14136,14162-14167,14172-14173,14184,14215-14220,14238-14241,14266-14269,14273-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-14554,14558-14574,14577-14578,14582-14597,14599-14602,14614-14616,14686-14687,14698,14702,14705,14736,14738,14740,14742-14743,14747,14784-14786,14802-14809,14812-14813,14898-14904,14908-14909,14929-14931,15014-15015,15024-15028,15032,15044-15049,15056-15058,15070,15081-15082,15087,15092-15095,15121-15125,15128-15135,15138-15139,15141,15144,15147-15148,15169-15173,15175,15182,15186-15188,15190,15223,15238,15282,15304,15330,15335,15337,15354,15360-15361,15367-15368,15373
/branches/Branch_5_2:15217,15219,15221,15224,15227-15229,15234,15239,15279,15286,15325,15328-15329,15331,15347-15348,15352,15356,15359,15362,15364-15365,15370,15374
/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

   + /branches/tracker_attachement_move_in_fs:14977-14978
/trunk:8721-8727
/shelves/aljeux:15005,15012,15150,15154-15160,15177-15179,15203,15232,15276-15277,15306
/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
/shelves/alain_peyrat:14997-15003
/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_2:15217,15219,15221,15224,15227-15229,15234,15239,15279,15286,15325,15328-15329,15331,15347-15348,15352,15356,15359,15362,15364-15365,15370,15374,15381,15383
/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-13234,13236-13238,13253,13257-13270,13272-13274,13287-13300,13302-13342,13355-13374,13377-13379,13386-13389,13391-13400,13404,13408,13410,13412,13415-13416,13420,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-13988,14009,14013-14015,14020-14021,14036,14039-14045,14047,14051-14053,14056-14059,14065,14072,14080-14084,14086-14090,14095-14099,14101-14121,14130-14136,14162-14167,14172-14173,14184,14215-14220,14238-14241,14266-14269,14273-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-14554,14558-14574,14577-14578,14582-14597,14599-14602,14614-14616,14686-14687,14698,14702,14705,14736,14738,14740,14742-14743,14747,14784-14786,14802-14809,14812-14813,14898-14904,14908-14909,14929-14931,15014-15015,15024-15028,15032,15044-15049,15056-15058,15070,15081-15082,15087,15092-15095,15121-15125,15128-15135,15138-15139,15141,15144,15147-15148,15169-15173,15175,15182,15186-15188,15190,15223,15238,15282,15304,15330,15335,15337,15354,15360-15361,15367-15368,15373,15380,15382
/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

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:/branches/Branch_5_1:14550
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14554
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14616
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14705
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14738
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14742
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14743
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14747
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14785
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14786
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14805
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14806
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14809
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14813
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14904
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14909
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14931
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15028
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15032
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15049
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15056
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15058
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15070
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15082
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15087
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15092
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15093
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15095
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15125
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15135
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15139
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15141
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15144
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15148
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15175
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15182
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15190
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15219
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15221
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15224
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15229
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15239
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15286
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15331
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15356
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15370
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15374
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:/branches/Branch_5_1:14554
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14616
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14705
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14738
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14742
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14743
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14747
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14785
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14786
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14805
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14806
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14809
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14813
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14904
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14909
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:14931
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15028
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15032
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15049
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15056
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15058
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15070
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15082
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15087
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15092
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15093
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15095
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15125
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15135
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15139
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15141
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15144
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15148
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15175
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15182
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:15190
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15219
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15221
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15224
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15229
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15239
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15286
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15331
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15356
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15370
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15374
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_2:15383
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/trunk:8727


Modified: trunk/src/common/include/database-pgsql.php
===================================================================
--- trunk/src/common/include/database-pgsql.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/include/database-pgsql.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -675,6 +675,9 @@
 }
 
 function db_query_to_string ($sql, $params = array()) {
+	$sql = preg_replace('/\n/',' ',$sql);
+	$sql = preg_replace('/\t/',' ',$sql);
+	$sql = preg_replace('/\s+/',' ',$sql);
 	foreach ($params as $index => $value) {
 		$sql = preg_replace('/\\$'.($index+1).'(?!\d)/', "'".$value."'", $sql);
 	}

Modified: trunk/src/common/search/ArtifactSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ArtifactSearchQuery.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/search/ArtifactSearchQuery.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -69,10 +69,10 @@
 
 		$qpa = db_construct_qpa ($qpa,
 					 'SELECT x.* FROM (SELECT artifact.artifact_id, artifact.group_artifact_id, artifact.summary, artifact.open_date, users.realname, artifact.summary||$1||artifact.details||$1||coalesce(ff_string_agg(artifact_message.body), $1) as full_string_agg',
-						 array (''));
+						 array ($this->field_separator));
 		if (forge_get_config('use_fti')) {
 			$qpa = db_construct_qpa ($qpa,
-						 ', (artifact_idx.vectors || coalesce(ff_tsvector_agg(artifact_message_idx.vectors), $1::tsvector)) AS full_vector_agg',
+						 ', (artifact_idx.vectors || coalesce(ff_tsvector_agg(artifact_message_idx.vectors), to_tsvector($1))) AS full_vector_agg',
 						 array(''));
 						 }
 		$qpa = db_construct_qpa ($qpa, 
@@ -104,7 +104,7 @@
 		
 		if (forge_get_config('use_fti')) {
 			$qpa = db_construct_qpa ($qpa,
-						 'full_vector_agg @@ $1 ',
+						 'full_vector_agg @@ to_tsquery($1) ',
 						 array($words));
 			if (count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
@@ -114,7 +114,7 @@
 							 ') ') ;
 			}
 			$qpa = db_construct_qpa ($qpa,
-						 'ORDER BY ts_rank(full_vector_agg, $1) DESC',
+						 'ORDER BY ts_rank(full_vector_agg, to_tsquery($1)) DESC',
 						 array($words)) ;
 			
 		} else {
@@ -136,11 +136,11 @@
 			$artifactId = $this->artifactId;
 
 			$qpa = db_construct_qpa ($qpa,
-						 'SELECT a.group_artifact_id, a.artifact_id, ts_headline(summary, $1) AS summary, ',
+						 'SELECT a.group_artifact_id, a.artifact_id, ts_headline(summary, to_tsquery($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, artifact.summary||$1||artifact.details||$1||coalesce(ff_string_agg(artifact_message.body), $1) as full_string_agg FROM artifact a LEFT OUTER JOIN artifact_message am USING (artifact_id)',
-						 array('')) ;
+						 array($this->field_separator)) ;
 
 			$qpa = db_construct_qpa ($qpa,
 						 ', artifact_idx ai, artifact_message_idx ami, to_tsquery($1) q',

Modified: trunk/src/common/search/DocsSearchQuery.class.php
===================================================================
--- trunk/src/common/search/DocsSearchQuery.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/search/DocsSearchQuery.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -104,7 +104,7 @@
 					 array ($this->field_separator,
 						$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 @@ $1',
+					 ' WHERE doc_data.doc_group = doc_groups.doc_group AND doc_data.docid = doc_data_idx.docid AND (vectors @@ to_tsquery($1)',
 					 array ($words)) ;
 		$qpa = db_construct_qpa ($qpa,
 					 ') AND doc_data.group_id = $1',
@@ -128,7 +128,7 @@
 			$qpa = $this->addMatchCondition($qpa, 'full_string_agg');
 		}
 		$qpa = db_construct_qpa ($qpa,
-					 ' ORDER BY ts_rank(vectors, $1) DESC, groupname ASC',
+					 ' ORDER BY ts_rank(vectors, to_tsquery($1)) DESC, groupname ASC',
 					 array($words)) ;
 		return $qpa ;
 	}
@@ -140,6 +140,10 @@
 	 * @param	$showNonPublic	boolean if we should consider non public sections
 	 */
 	static function getSections($groupId, $showNonPublic = false) {
+		if (!forge_check_perm('docman',$groupId,'read')) {
+			return array();
+		}
+
 		$sql = 'SELECT doc_groups.doc_group, doc_groups.groupname FROM doc_groups, doc_data'
 			.' WHERE doc_groups.doc_group = doc_data.doc_group AND doc_groups.group_id = $1';
 		if ($showNonPublic) {

Modified: trunk/src/common/search/ForumSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ForumSearchQuery.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/search/ForumSearchQuery.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -69,7 +69,7 @@
 		if (forge_get_config('use_fti')) {
 			$words = $this->getFTIwords();
 			$qpa = db_construct_qpa ($qpa,
-						 'SELECT x.* FROM (SELECT forum.msg_id, ts_headline(forum.subject, $1::tsquery) AS subject, forum.post_date, users.realname, forum.subject||$2||forum.body as full_string_agg, forum_idx.vectors FROM forum, users, to_tsquery($1) AS q, forum_idx WHERE forum.group_forum_id = $3 AND forum.posted_by = users.user_id AND forum_idx.msg_id = forum.msg_id GROUP BY forum.msg_id, subject, body, post_date, realname, forum_idx.vectors) AS x WHERE vectors @@ $1::tsquery ',
+						 'SELECT x.* FROM (SELECT forum.group_forum_id, forum.msg_id, ts_headline(forum.subject, $1::tsquery) AS subject, forum.post_date, users.realname, forum.subject||$2||forum.body as full_string_agg, forum_idx.vectors FROM forum, users, to_tsquery($1) AS q, forum_idx WHERE forum.group_forum_id = $3 AND forum.posted_by = users.user_id AND forum_idx.msg_id = forum.msg_id GROUP BY forum.msg_id, subject, body, post_date, realname, forum_idx.vectors) AS x WHERE vectors @@ $1::tsquery ',
 						 array ($words,
 							$this->field_separator,
 							$this->forumId)) ;
@@ -87,7 +87,7 @@
 						 array($words)) ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
-						 'SELECT x.* FROM (SELECT forum.msg_id, forum.subject, forum.post_date, users.realname, forum.subject||$1||forum.body as full_string_agg FROM forum,users WHERE users.user_id=forum.posted_by AND forum.group_forum_id=$2 GROUP BY msg_id, subject, post_date, realname, body) AS x WHERE ',
+						 'SELECT x.* FROM (SELECT forum.group_forum_id, forum.msg_id, forum.subject, forum.post_date, users.realname, forum.subject||$1||forum.body as full_string_agg FROM forum,users WHERE users.user_id=forum.posted_by AND forum.group_forum_id=$2 GROUP BY msg_id, subject, post_date, realname, body) AS x WHERE ',
 						 array ($this->field_separator,
 							$this->forumId)) ;
 			$qpa = $this->addIlikeCondition ($qpa, 'full_string_agg') ;

Modified: trunk/src/common/search/ForumsSearchQuery.class.php
===================================================================
--- trunk/src/common/search/ForumsSearchQuery.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/search/ForumsSearchQuery.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -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, forum.subject||$2||forum.body as full_string_agg FROM forum, users, forum_group_list, forum_idx, to_tsquery($1) as q ',
+						 'SELECT forum.group_forum_id, forum.msg_id, ts_headline(forum.subject, q) AS subject, forum.post_date, users.realname, forum_group_list.forum_name, forum.subject||$2||forum.body as full_string_agg FROM forum, users, forum_group_list, forum_idx, to_tsquery($1) as q ',
 						 array ($this->getFTIwords(),
 							$this->field_separator)) ;
 			$qpa = db_construct_qpa ($qpa,
@@ -109,7 +109,7 @@
 						 'ORDER BY forum_group_list.forum_name ASC, forum.msg_id ASC, ts_rank(vectors, q) DESC') ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,
-						 'SELECT x.* FROM (SELECT forum.msg_id, forum.subject, forum.post_date, users.realname, forum_group_list.forum_name, forum.subject||$1||forum.body as full_string_agg FROM forum, users, forum_group_list WHERE users.user_id = forum.posted_by 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 = $2) ',
+						 'SELECT x.* FROM (SELECT forum.group_forum_id, forum.msg_id, forum.subject, forum.post_date, users.realname, forum_group_list.forum_name, forum.subject||$1||forum.body as full_string_agg FROM forum, users, forum_group_list WHERE users.user_id = forum.posted_by 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 = $2) ',
 						 array ($this->field_separator,
 							$this->groupId)) ;
 			if ($this->sections != SEARCH__ALL_SECTIONS) {
@@ -157,16 +157,15 @@
 	 */
 	static function getSections($groupId, $showNonPublic=false) {
 		$sql = 'SELECT group_forum_id, forum_name FROM forum_group_list WHERE group_id = $1 AND is_public <> 9';
-		if (!$showNonPublic) {
-			$sql .= ' AND is_public = 1';
-		}
 		$sql .= ' ORDER BY forum_name';
 
 		$sections = array();
 		$res = db_query_params ($sql,
 					array ($groupId));
 		while($data = db_fetch_array($res)) {
-			$sections[$data['group_forum_id']] = $data['forum_name'];
+			if (forge_check_perm('forum',$data['group_forum_id'],'read')) {
+				$sections[$data['group_forum_id']] = $data['forum_name'];
+			}
 		}
 		return $sections;
 	}

Modified: trunk/src/common/search/NewsSearchQuery.class.php
===================================================================
--- trunk/src/common/search/NewsSearchQuery.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/search/NewsSearchQuery.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -72,7 +72,7 @@
 				$qpa = $this->addMatchCondition ($qpa, 'full_string_agg') ;
 			}
 			$qpa = db_construct_qpa ($qpa,
-						 ' ORDER BY ts_rank(vectors, $1) DESC, post_date DESC',
+						 ' ORDER BY ts_rank(vectors, to_tsquery($1)) DESC, post_date DESC',
 						 array($words)) ;
 		} else {
 			$qpa = db_construct_qpa ($qpa,

Modified: trunk/src/common/search/TasksSearchQuery.class.php
===================================================================
--- trunk/src/common/search/TasksSearchQuery.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/search/TasksSearchQuery.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -69,53 +69,77 @@
 		$qpa = db_construct_qpa () ;
 
 		$qpa = db_construct_qpa ($qpa,
-					 'SELECT x.* FROM (SELECT project_task.project_task_id, project_task.summary, project_task.percent_complete, project_task.start_date, project_task.end_date, users.realname, project_group_list.project_name, project_task.summary||$1||project_task.details||$1||coalesce(ff_string_agg(project_messages.body), $1) as full_string_agg',
-					 array (''));
+					 'SELECT x.* FROM (SELECT y.group_project_id, y.project_task_id, y.summary, y.percent_complete, y.start_date, y.end_date, users.realname, project_group_list.project_name, y.full_string_agg',
+					 array());
 		if (forge_get_config('use_fti')) {
 			$words = $this->getFTIwords();
 			$qpa = db_construct_qpa ($qpa,
-						 ', (project_task_idx.vectors || coalesce(ff_tsvector_agg(project_messages_idx.vectors), $1::tsvector)) AS full_vector_agg',
-						 array (''));
+						 ', y.full_vector_agg',
+						 array());
 		}
-		$qpa = db_construct_qpa ($qpa, 
-					 ' FROM project_task LEFT OUTER JOIN project_messages USING (project_task_id), users, project_group_list',
-					 array ()) ;
+		$qpa = db_construct_qpa ($qpa,
+					 ' FROM (SELECT project_task.project_task_id, project_task.summary, project_task.percent_complete, project_task.start_date, project_task.end_date, project_task.created_by, project_task.group_project_id, project_task.summary||$1||project_task.details||$1||coalesce(ff_string_agg(project_messages.body), $1) as full_string_agg',
+					 array($this->field_separator));
 		if (forge_get_config('use_fti')) {
-			$qpa = db_construct_qpa ($qpa, 
-						 ', project_task_idx, project_messages_idx',
-						 array ()) ;
+			$qpa = db_construct_qpa ($qpa,
+						 ', project_task_idx.vectors || coalesce(ff_tsvector_agg(project_messages_idx.vectors), to_tsvector($1)) AS full_vector_agg',
+						 array(''));
 		}
-		$qpa = db_construct_qpa ($qpa, 
-					 ' 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 = $1 AND project_messages.project_task_id = project_task.project_task_id ',
-					 array ($this->groupId)) ;
+		$qpa = db_construct_qpa ($qpa,
+					 ' FROM project_task LEFT OUTER JOIN project_messages USING (project_task_id)',
+					 array());
+		
+		if (forge_get_config('use_fti')) {
+			$qpa = db_construct_qpa ($qpa,
+						 ' LEFT OUTER JOIN project_messages_idx ON (project_messages.project_message_id = project_messages_idx.id) JOIN project_task_idx ON (project_task.project_task_id = project_task_idx.project_task_id)',
+						 array());
+		}
+		$qpa = db_construct_qpa ($qpa,
+					 ' GROUP BY project_task.project_task_id, project_task.summary, project_task.percent_complete, project_task.start_date, project_task.end_date, project_task.created_by, project_task.group_project_id',
+					 array());
+		
+		if (forge_get_config('use_fti')) {
+			$qpa = db_construct_qpa ($qpa,
+						 ', project_task_idx.vectors',
+						 array());
+		}
+		$qpa = db_construct_qpa ($qpa,
+					 ') AS y, users, project_group_list',
+					 array());
+		
+		if (forge_get_config('use_fti')) {
+			$qpa = db_construct_qpa ($qpa,
+						 ', project_task_idx',
+						 array());
+		}
+		$qpa = db_construct_qpa ($qpa,
+					 ' WHERE y.created_by = users.user_id AND y.group_project_id = project_group_list.group_project_id AND project_group_list.group_id = $1',
+					 array($this->groupId));
 		if ($this->sections != SEARCH__ALL_SECTIONS) {
 			$qpa = db_construct_qpa ($qpa,
-						 'AND project_group_list.group_project_id = ANY ($1) ',
+						 ' AND y.group_project_id = ANY ($1)',
 						 array (db_int_array_to_any_clause ($this->sections))) ;
 		}
 		if (!$this->showNonPublic) {
 			$qpa = db_construct_qpa ($qpa,
-						 'AND project_group_list.is_public = 1 ') ;
+						 ' AND project_group_list.is_public = 1') ;
 		}
-
+		$qpa = db_construct_qpa ($qpa,
+					 ' GROUP BY y.group_project_id, y.project_task_id, y.summary, y.percent_complete, y.start_date, y.end_date, users.realname, project_group_list.project_name, y.full_string_agg',
+					 array());
+		
 		if (forge_get_config('use_fti')) {
-			$qpa = db_construct_qpa ($qpa, 
-						 'AND project_task.project_task_id = project_task_idx.project_task_id AND project_messages.project_message_id = project_messages_idx.id ',
-						 array ()) ;
+			$qpa = db_construct_qpa ($qpa,
+						 ', y.full_vector_agg',
+						 array());
 		}
 		$qpa = db_construct_qpa ($qpa,
-					 'GROUP BY project_task.project_task_id, project_task.summary, project_task.percent_complete, project_task.start_date, project_task.end_date, users.realname, project_group_list.project_name, project_task.details') ;
+					 ') AS x WHERE ',
+					 array());
+		
 		if (forge_get_config('use_fti')) {
-			$qpa = db_construct_qpa ($qpa, 
-						 ', project_task_idx.vectors',
-						 array ()) ;
-		}
-		$qpa = db_construct_qpa ($qpa, 
-					 ') AS x WHERE ') ;
-
-		if (forge_get_config('use_fti')) {
 			$qpa = db_construct_qpa ($qpa,
-						 'full_vector_agg @@ $1 ',
+						 'full_vector_agg @@ to_tsquery($1) ',
 						 array($words));
 			if (count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
@@ -125,7 +149,7 @@
 							 ') ') ;
 			}
 			$qpa = db_construct_qpa ($qpa,
-						 'ORDER BY ts_rank(full_vector_agg, $1) DESC',
+						 'ORDER BY ts_rank(full_vector_agg, to_tsquery($1)) DESC',
 						 array($words)) ;
 			
 		} else {
@@ -133,6 +157,7 @@
 			$qpa = db_construct_qpa ($qpa,
 						 ' ORDER BY x.project_name, x.project_task_id') ;
 		}
+
 		return $qpa ;
 	}
 
@@ -144,16 +169,15 @@
 	 */
 	static function getSections($groupId, $showNonPublic=false) {
 		$sql = 'SELECT group_project_id, project_name FROM project_group_list WHERE group_id=$1' ;
-		if (!$showNonPublic) {
-			$sql .= ' AND is_public = 1';
-		}
 		$sql .= ' ORDER BY project_name';
 
 		$sections = array();
 		$res = db_query_params ($sql,
 					array ($groupId));
 		while($data = db_fetch_array($res)) {
-			$sections[$data['group_project_id']] = $data['project_name'];
+			if (forge_check_perm('pm',$data['group_project_id'],'read')) {
+				$sections[$data['group_project_id']] = $data['project_name'];
+			}
 		}
 		return $sections;
 	}

Modified: trunk/src/common/search/TrackersSearchQuery.class.php
===================================================================
--- trunk/src/common/search/TrackersSearchQuery.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/common/search/TrackersSearchQuery.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -70,11 +70,11 @@
 
 		$qpa = db_construct_qpa ($qpa,
 					 'SELECT x.* FROM (SELECT artifact.artifact_id, artifact.group_artifact_id, artifact.summary, artifact.open_date, users.realname, artifact_group_list.name, artifact.summary||$1||artifact.details||$1||coalesce(ff_string_agg(artifact_message.body), $1) as full_string_agg',
-						 array (''));
+						 array ($this->field_separator));
 		if (forge_get_config('use_fti')) {
 			$words = $this->getFTIwords();
 			$qpa = db_construct_qpa ($qpa,
-						 ', (artifact_idx.vectors || coalesce(ff_tsvector_agg(artifact_message_idx.vectors), $1::tsvector)) AS full_vector_agg',
+						 ', (artifact_idx.vectors || coalesce(ff_tsvector_agg(artifact_message_idx.vectors), to_tsvector($1))) AS full_vector_agg',
 						 array (''));
 						 }
 		$qpa = db_construct_qpa ($qpa, 
@@ -115,7 +115,7 @@
 		
 		if (forge_get_config('use_fti')) {
 			$qpa = db_construct_qpa ($qpa,
-						 'full_vector_agg @@ $1 ',
+						 'full_vector_agg @@ to_tsquery($1) ',
 						 array($words));
 			if (count($this->phrases)) {
 				$qpa = db_construct_qpa ($qpa,
@@ -125,7 +125,7 @@
 							 ') ') ;
 			}
 			$qpa = db_construct_qpa ($qpa,
-						 'ORDER BY ts_rank(full_vector_agg, $1) DESC',
+						 'ORDER BY ts_rank(full_vector_agg, to_tsquery($1)) DESC',
 						 array($words)) ;
 			
 		} else {
@@ -144,16 +144,15 @@
 	 */
 	static function getSections($groupId, $showNonPublic=false) {
 		$sql = 'SELECT group_artifact_id, name FROM artifact_group_list WHERE group_id = $1';
-		if (!$showNonPublic) {
-			$sql .= ' AND artifact_group_list.is_public = 1';
-		}
 		$sql .= ' ORDER BY name';
 
 		$res = db_query_params ($sql,
 					array ($groupId));
 		$sections = array();
 		while($data = db_fetch_array($res)) {
-			$sections[$data['group_artifact_id']] = $data['name'];
+			if (forge_check_perm('tracker',$data['group_artifact_id'],'read')) {
+				$sections[$data['group_artifact_id']] = $data['name'];
+			}
 		}
 		return $sections;
 	}

Modified: trunk/src/debian/changelog
===================================================================
--- trunk/src/debian/changelog	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/debian/changelog	2012-04-26 15:32:35 UTC (rev 15384)
@@ -16,6 +16,12 @@
 
  -- Roland Mas <lolando at debian.org>  Tue, 27 Mar 2012 20:57:28 +0200
 
+fusionforge (5.1.1-5+1) unstable; urgency=low
+
+  * Fixes in search.
+
+ -- Roland Mas <lolando at debian.org>  Thu, 26 Apr 2012 11:43:47 +0200
+
 fusionforge (5.1.1-5) unstable; urgency=low
 
   * Remove more config files on purge (detected by piuparts).

Modified: trunk/src/www/search/include/renderers/ArtifactHtmlSearchRenderer.class.php
===================================================================
--- trunk/src/www/search/include/renderers/ArtifactHtmlSearchRenderer.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/www/search/include/renderers/ArtifactHtmlSearchRenderer.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -58,27 +58,53 @@
 			_('Open Date')
 		);
 	}
+	
+	function getFilteredRows() {
+		$rowsCount = $this->searchQuery->getRowsCount();
+		$result =& $this->searchQuery->getResult();
 
+		$fields = array ('group_artifact_id',
+				 'artifact_id',
+				 'name',
+				 'summary',
+				 'realname',
+				 'open_date');
+
+		$fd = array();
+		for($i = 0; $i < $rowsCount; $i++) {
+			if (forge_check_perm('tracker',
+					     db_result($result, $i, 'group_artifact_id'),
+					     'read')) {
+				$r = array();
+				foreach ($fields as $f) {
+					$r[$f] = db_result($result, $i, $f);
+				}
+				$fd[] = $r;
+			}
+		}
+		return $fd;
+	}
+
 	/**
 	 * getRows - get the html output for result rows
 	 *
 	 * @return string html output
 	 */
 	function getRows() {
-		$rowsCount = $this->searchQuery->getRowsCount();
-		$result = $this->searchQuery->getResult();
+		$fd = $this->getFilteredRows();
+
 		$groupId = $this->groupId;
 		$dateFormat = _('Y-m-d H:i');
 
 		$return = '';
-		for($i = 0; $i < $rowsCount; $i++) {
+		foreach ($fd as $row) {
 			$return .= '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>'
-				.'<td>'.db_result($result, $i, 'artifact_id').'</td>'
-				.'<td><a href="'.util_make_url ('/tracker/?group_id='.$groupId.'&atid=' . db_result($result, $i, 'group_artifact_id') . '&func=detail&aid=' . db_result($result, $i, 'artifact_id')).'"> '
+				.'<td>'.$row['artifact_id'].'</td>'
+				.'<td><a href="'.util_make_url ('/tracker/?group_id='.$groupId.'&atid=' . $row['group_artifact_id'] . '&func=detail&aid=' . $row['artifact_id']).'"> '
 				. html_image('ic/tracker20g.png')
-				. ' '.db_result($result, $i, 'summary').'</a></td>'
-				. '<td>'.db_result($result, $i, 'realname')."</td>"
-				. '<td>'.date($dateFormat, db_result($result, $i, 'open_date')).'</td></tr>';
+				. ' '.$row['summary'].'</a></td>'
+				. '<td>'.$row['realname']."</td>"
+				. '<td>'.date($dateFormat, $row['open_date']).'</td></tr>';
 		}
 		return $return;
 	}

Modified: trunk/src/www/search/include/renderers/DocsHtmlSearchRenderer.class.php
===================================================================
--- trunk/src/www/search/include/renderers/DocsHtmlSearchRenderer.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/www/search/include/renderers/DocsHtmlSearchRenderer.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -62,7 +62,11 @@
 		$rowsCount = $this->searchQuery->getRowsCount();
 		$result =& $this->searchQuery->getResult();
 		$dateFormat = _('Y-m-d H:i');
-
+		
+		if (!forge_check_perm('docman', $this->groupId, 'read')) {
+			return '';
+		}
+		
 		$return = '';
 
 		$lastDocGroup = null;

Modified: trunk/src/www/search/include/renderers/ForumHtmlSearchRenderer.class.php
===================================================================
--- trunk/src/www/search/include/renderers/ForumHtmlSearchRenderer.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/www/search/include/renderers/ForumHtmlSearchRenderer.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -56,24 +56,49 @@
 			_('Date')
 		);
 	}
+	
+	function getFilteredRows() {
+		$rowsCount = $this->searchQuery->getRowsCount();
+		$result =& $this->searchQuery->getResult();
 
+		$fields = array ('group_forum_id',
+				 'msg_id',
+				 'subject',
+				 'realname',
+				 'post_date');
+
+		$fd = array();
+		for($i = 0; $i < $rowsCount; $i++) {
+			if (forge_check_perm('forum',
+					     db_result($result, $i, 'group_forum_id'),
+					     'read')) {
+				$r = array();
+				foreach ($fields as $f) {
+					$r[$f] = db_result($result, $i, $f);
+				}
+				$fd[] = $r;
+			}
+		}
+		return $fd;
+	}
+
 	/**
 	 * getRows - get the html output for result rows
 	 *
 	 * @return string html output
 	 */
 	function getRows() {
-		$rowsCount = $this->searchQuery->getRowsCount();
-		$result =& $this->searchQuery->getResult();
+		$fd = $this->getFilteredRows();
+
 		$dateFormat = _('Y-m-d H:i');
 
 		$return = '';
-		for($i = 0; $i < $rowsCount; $i++) {
-			$return .= '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'><td class="halfwidth"><a href="'.util_make_url ('/forum/message.php?msg_id=' . db_result($result, $i, 'msg_id')).'">'
+		foreach ($fd as $row) {
+			$return .= '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'><td class="halfwidth"><a href="'.util_make_url ('/forum/message.php?msg_id=' . $row['msg_id']).'">'
 				. html_image('ic/msg.png', '10', '12')
-				. ' '.db_result($result, $i, 'subject').'</a></td>'
-				. '<td width="30%">'.db_result($result, $i, 'realname').'</td>'
-				. '<td width="20%">'.date($dateFormat, db_result($result, $i, 'post_date')).'</td></tr>';
+				. ' '.$row['subject'].'</a></td>'
+				. '<td width="30%">'.$row['realname'].'</td>'
+				. '<td width="20%">'.date($dateFormat, $row['post_date']).'</td></tr>';
 		}
 		return $return;
 	}

Modified: trunk/src/www/search/include/renderers/ForumsHtmlSearchRenderer.class.php
===================================================================
--- trunk/src/www/search/include/renderers/ForumsHtmlSearchRenderer.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/www/search/include/renderers/ForumsHtmlSearchRenderer.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -51,23 +51,49 @@
 		);
 	}
 
+	function getFilteredRows() {
+		$rowsCount = $this->searchQuery->getRowsCount();
+		$result =& $this->searchQuery->getResult();
+
+		$fields = array ('group_forum_id',
+				 'msg_id',
+				 'forum_name',
+				 'subject',
+				 'realname',
+				 'post_date');
+
+		$fd = array();
+		for($i = 0; $i < $rowsCount; $i++) {
+			if (forge_check_perm('forum',
+					     db_result($result, $i, 'group_forum_id'),
+					     'read')) {
+				$r = array();
+				foreach ($fields as $f) {
+					$r[$f] = db_result($result, $i, $f);
+				}
+				$fd[] = $r;
+			}
+		}
+		return $fd;
+	}
+
 	/**
 	 * getRows - get the html output for result rows
 	 *
 	 * @return string html output
 	 */
 	function getRows() {
-		$rowsCount = $this->searchQuery->getRowsCount();
-		$result =& $this->searchQuery->getResult();
+		$fd = $this->getFilteredRows();
+
 		$dateFormat = _('Y-m-d H:i');
 
 		$return = '';
 		$rowColor = 0;
 		$lastForumName = null;
-
-		for($i = 0; $i < $rowsCount; $i++) {
+		
+		foreach ($fd as $row) {
 			//section changed
-			$currentForumName = db_result($result, $i, 'forum_name');
+			$currentForumName = $row['forum_name'];
 			if ($lastForumName != $currentForumName) {
 				$return .= '<tr><td colspan="4">'.$currentForumName.'</td></tr>';
 				$lastForumName = $currentForumName;
@@ -75,11 +101,11 @@
 			}
 			$return .= '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($rowColor) .'>'
 						. '<td width="5%"></td>'
-						. '<td><a href="'.util_make_url ('/forum/message.php?msg_id='. db_result($result, $i, 'msg_id')).'">'
-							. html_image('ic/msg.png', '10', '12').' '.db_result($result, $i, 'subject')
-							.'</a></td>'
-						. '<td width="15%">'.db_result($result, $i, 'realname').'</td>'
-						. '<td width="15%">'.date($dateFormat, db_result($result, $i, 'post_date')).'</td></tr>';
+						. '<td><a href="'.util_make_url ('/forum/message.php?msg_id='. $row['msg_id']).'">'
+							. html_image('ic/msg.png', '10', '12').' '.$row['subject']
+							.'</a></td>'			
+						. '<td width="15%">'.$row['realname'].'</td>'
+						. '<td width="15%">'.date($dateFormat, $row['post_date']).'</td></tr>';
 			$rowColor ++;
 		}
 		return $return;

Modified: trunk/src/www/search/include/renderers/TasksHtmlSearchRenderer.class.php
===================================================================
--- trunk/src/www/search/include/renderers/TasksHtmlSearchRenderer.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/www/search/include/renderers/TasksHtmlSearchRenderer.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -54,23 +54,51 @@
 		);
 	}
 
+	function getFilteredRows() {
+		$rowsCount = $this->searchQuery->getRowsCount();
+		$result =& $this->searchQuery->getResult();
+
+		$fields = array ('group_project_id',
+				 'project_task_id',
+				 'project_name',
+				 'summary',
+				 'realname',
+				 'start_date',
+				 'end_date',
+				 'percent_complete');
+
+		$fd = array();
+		for($i = 0; $i < $rowsCount; $i++) {
+			if (forge_check_perm('pm',
+					     db_result($result, $i, 'group_project_id'),
+					     'read')) {
+				$r = array();
+				foreach ($fields as $f) {
+					$r[$f] = db_result($result, $i, $f);
+				}
+				$fd[] = $r;
+			}
+		}
+		return $fd;
+	}
+
 	/**
 	 * getRows - get the html output for result rows
 	 *
 	 * @return string html output
 	 */
 	function getRows() {
-		$rowsCount = $this->searchQuery->getRowsCount();
-		$result =& $this->searchQuery->getResult();
+		$fd = $this->getFilteredRows();
+
 		$dateFormat = _('Y-m-d H:i');
 
 		$return = '';
 		$rowColor = 0;
 		$lastProjectName = null;
-
-		for($i = 0; $i < $rowsCount; $i++) {
+		
+		foreach ($fd as $row) {
 			//section changed
-			$currentProjectName = db_result($result, $i, 'project_name');
+			$currentProjectName = $row['project_name'];
 			if ($lastProjectName != $currentProjectName) {
 				$return .= '<tr><td colspan="7">'.$currentProjectName.'</td></tr>';
 				$lastProjectName = $currentProjectName;
@@ -78,15 +106,15 @@
 			}
 			$return .= '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($rowColor) .'>'
 						. ' <td width="5%"> </td>'
-						. ' <td>'.db_result($result, $i, 'project_task_id').'</td>'
+						. ' <td>'.$row['project_task_id'].'</td>'
 						. ' <td>'
-							. '<a href="'.util_make_url ('/pm/task.php?func=detailtask&project_task_id=' . db_result($result, $i, 'project_task_id').'&group_id='.$this->groupId . '&group_project_id='.db_result($result, $i, 'group_project_id')).'">'
+							. '<a href="'.util_make_url ('/pm/task.php?func=detailtask&project_task_id=' . $row['project_task_id'].'&group_id='.$this->groupId . '&group_project_id='.$row['group_project_id']).'">'
 							. html_image('ic/msg.png', '10', '12').' '
-							. db_result($result, $i, 'summary').'</a></td>'
-						. ' <td width="15%">'.date($dateFormat, db_result($result, $i, 'start_date')).'</td>'
-						. ' <td width="15%">'.date($dateFormat, db_result($result, $i, 'end_date')).'</td>'
-						. ' <td width="15%">'.db_result($result, $i, 'realname').'</td>'
-						. ' <td width="8%">'.db_result($result, $i, 'percent_complete').' %</td></tr>';
+							. $row['summary'].'</a></td>'
+						. ' <td width="15%">'.date($dateFormat, $row['start_date']).'</td>'
+						. ' <td width="15%">'.date($dateFormat, $row['end_date']).'</td>'
+						. ' <td width="15%">'.$row['realname'].'</td>'
+						. ' <td width="8%">'.$row['percent_complete'].' %</td></tr>';
 			$rowColor ++;
 		}
 		return $return;

Modified: trunk/src/www/search/include/renderers/TrackersHtmlSearchRenderer.class.php
===================================================================
--- trunk/src/www/search/include/renderers/TrackersHtmlSearchRenderer.class.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/src/www/search/include/renderers/TrackersHtmlSearchRenderer.class.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -52,23 +52,49 @@
 		);
 	}
 
+	function getFilteredRows() {
+		$rowsCount = $this->searchQuery->getRowsCount();
+		$result =& $this->searchQuery->getResult();
+
+		$fields = array ('group_artifact_id',
+				 'artifact_id',
+				 'name',
+				 'summary',
+				 'realname',
+				 'open_date');
+
+		$fd = array();
+		for($i = 0; $i < $rowsCount; $i++) {
+			if (forge_check_perm('tracker',
+					     db_result($result, $i, 'group_artifact_id'),
+					     'read')) {
+				$r = array();
+				foreach ($fields as $f) {
+					$r[$f] = db_result($result, $i, $f);
+				}
+				$fd[] = $r;
+			}
+		}
+		return $fd;
+	}
+
 	/**
 	 * getRows - get the html output for result rows
 	 *
 	 * @return string html output
 	 */
 	function getRows() {
-		$rowsCount = $this->searchQuery->getRowsCount();
-		$result = $this->searchQuery->getResult();
+		$fd = $this->getFilteredRows();
+
 		$dateFormat = _('Y-m-d H:i');
 
 		$return = '';
 		$rowColor = 0;
 		$lastTracker = null;
-
-		for($i = 0; $i < $rowsCount; $i++) {
+		
+		foreach ($fd as $row) {
 			//section changed
-			$currentTracker = db_result($result, $i, 'name');
+			$currentTracker = $row['name'];
 			if ($lastTracker != $currentTracker) {
 				$return .= '<tr><td colspan="5">'.$currentTracker.'</td></tr>';
 				$lastTracker = $currentTracker;
@@ -76,13 +102,13 @@
 			}
 			$return .= '<tr '. $GLOBALS['HTML']->boxGetAltRowStyle($rowColor) .'>'
 						. '<td width="5%"> </td>'
-						. '<td>'.db_result($result, $i, 'artifact_id').'</td>'
+						. '<td>'.$row['artifact_id'].'</td>'
 						. '<td>'
-							. '<a href="'.util_make_url ('/tracker/?func=detail&group_id='.$this->groupId.'&aid='.db_result($result, $i, 'artifact_id') . '&atid='.db_result($result, $i, 'group_artifact_id')).'">'
-							. html_image('ic/tracker20g.png').' '.db_result($result, $i, 'summary')
-							. '</a></td>'
-						. '<td width="15%">'.db_result($result, $i, 'realname').'</td>'
-						. '<td width="15%">'.date($dateFormat, db_result($result, $i, 'open_date')).'</td></tr>';
+							. '<a href="'.util_make_url ('/tracker/?func=detail&group_id='.$this->groupId.'&aid='.$row['artifact_id'] . '&atid='.$row['group_artifact_id']).'">'
+							. html_image('ic/tracker20g.png').' '.$row['summary']
+							. '</a></td>'		
+						. '<td width="15%">'.$row['realname'].'</td>'
+						. '<td width="15%">'.date($dateFormat, $row['open_date']).'</td></tr>';
 			$rowColor ++;
 		}
 		return $return;

Modified: trunk/tests/func/Search/searchTest.php
===================================================================
--- trunk/tests/func/Search/searchTest.php	2012-04-26 15:22:38 UTC (rev 15383)
+++ trunk/tests/func/Search/searchTest.php	2012-04-26 15:32:35 UTC (rev 15384)
@@ -155,7 +155,7 @@
 		$this->type("details", "brebis outremanchienne");
 		$this->clickAndWait("//form[@id='trackeraddform']//input[@type='submit']");
 		$this->clickAndWait("link=Bug1 boustrophédon");
-		$this->type("details", 'Ceci était une référence au « Génie des Alpages », rien à voir avec Charlie');
+		$this->type("details", 'Ceci était une référence au « Génie des Alpages », rien à voir avec Charlie - also, ZONGO');
 		$this->clickAndWait("submit");
 		$this->clickAndWait("link=Bug1 boustrophédon");
 		$this->type("details", 'This is the needle');
@@ -165,7 +165,7 @@
 		$this->clickAndWait("link=Patches");
 		$this->clickAndWait("link=Submit New");
 		$this->type("summary", "Bug2 gratapouêt");
-		$this->type("details", "cthulhu was here");
+		$this->type("details", "cthulhu was here - also, ZONGO");
 		$this->clickAndWait("//form[@id='trackeraddform']//input[@type='submit']");
 		$this->clickAndWait("link=Bug2 gratapouêt");
 		$this->type("details", 'Charlie was here too');
@@ -237,7 +237,7 @@
 		$this->clickAndWait("link=To Do");
 		$this->clickAndWait("link=Add Task");
 		$this->type("summary", "Task1 the brain");
-		$this->type("details", "The same thing we do every night, Pinky - try to take over the world!");
+		$this->type("details", "The same thing we do every night, Pinky - try to take over the world! - also, ZONGO");
 		$this->type("hours", "199");
 		$this->clickAndWait("submit");
 		
@@ -245,9 +245,11 @@
 		$this->type("details", 'This is the needle for tasks');
 		$this->clickAndWait("submit");
 
+		$this->gotoProject('projecta');
+		$this->clickAndWait("link=Next Release");
 		$this->clickAndWait("link=Add Task");
 		$this->type("summary", "Task2 world peace");
-		$this->type("details", "Otherwise WW4 will be fought with sticks");
+		$this->type("details", "Otherwise WW4 will be fought with sticks - also, ZONGO");
 		$this->type("hours", "199");
 		$this->clickAndWait("submit");
 			      
@@ -279,17 +281,17 @@
 		$this->click("link=Start New Thread");
 		$this->waitForPageToLoad("30000");
 		$this->type("subject", "Message1 in a bottle");
-		$this->type("body", "ninetynine of them on Charlie's wall");
+		$this->type("body", "ninetynine of them on Charlie's wall - also, ZONGO");
 		$this->clickAndWait("submit");
 		$this->clickAndWait("link=Message1 in a bottle");
 		$this->clickAndWait("link=[ reply ]");
 		$this->type("subject", "Message2 in a bottle");
-		$this->type("body", "ninetyeight of them in Charlie's fridge");
+		$this->type("body", "ninetyeight of them in Charlie's fridge - also, ZONGO");
 		$this->clickAndWait("submit");
 		$this->clickAndWait("link=Message1 in a bottle");
 		$this->clickAndWait("link=[ reply ]");
 		$this->type("subject", "Message3 in a bottle");
-		$this->type("body", "and yet another needle for the forums");
+		$this->type("body", "and yet another needle for the forums - also, ZONGO");
 		$this->clickAndWait("submit");
 
 		$this->clickAndWait("link=Forums");
@@ -297,7 +299,7 @@
 		$this->click("link=Start New Thread");
 		$this->waitForPageToLoad("30000");
 		$this->type("subject", "Message4 in an envelope");
-		$this->type("body", "not the same thing as an antilope (and different thread anyway) (but still related to Charlie)");
+		$this->type("body", "not the same thing as an antilope (and different thread anyway) (but still related to Charlie) - also, ZONGO");
 		$this->clickAndWait("submit");
 
 		// Search in Forums
@@ -361,7 +363,7 @@
 		$this->clickAndWait("addItemDocmanMenu");
 		$this->click("buttonDoc");
 		$this->type("title", "Doc1 Vladimir");
-		$this->type("description", "Jenkins buildbot");
+		$this->type("description", "Jenkins buildbot - also, ZONGO");
 		$this->click("//input[@name='type' and @value='pasteurl']");
 		$this->type("file_url", "http://buildbot3.fusionforge.org/");
 		$this->clickAndWait("submit");
@@ -369,7 +371,7 @@
 		$this->clickAndWait("addItemDocmanMenu");
 		$this->click("buttonDoc");
 		$this->type("title", "Doc2 Astromir");
-		$this->type("description", "Hudson (the needle)");
+		$this->type("description", "Hudson (the needle) - also, ZONGO");
 		$this->click("//input[@name='type' and @value='pasteurl']");
 		$this->type("file_url", "http://buildbot.fusionforge.org/");
 		$this->clickAndWait("submit");
@@ -396,12 +398,12 @@
 		$this->clickAndWait("link=News");
 		$this->clickAndWait("link=Submit");
 		$this->type("summary", "News1 daily planet");
-		$this->type("details", "Clark Kent's newspaper");
+		$this->type("details", "Clark Kent's newspaper - also, ZONGO");
 		$this->clickAndWait("submit");
 
 		$this->clickAndWait("link=Submit");
 		$this->type("summary", "News2 usenet");
-		$this->type("details", "alt sysadmin recovery (needle)");
+		$this->type("details", "alt sysadmin recovery (needle) - also, ZONGO");
 		$this->clickAndWait("submit");
 		$this->clickAndWait("link=News");
 
@@ -420,7 +422,6 @@
 		$this->assertTrue($this->isTextPresent("News1"));
 
 		// Search in entire project
-
 		$this->gotoProject('projecta');
 		$this->select("type_of_search", "label=Search the entire project");
 		$this->type("//input[@name='words']", "needle");
@@ -438,6 +439,23 @@
 		$this->assertFalse($this->isTextPresent("News1"));
 		$this->assertTrue($this->isTextPresent("News2"));
 
+		$this->gotoProject('projecta');
+		$this->select("type_of_search", "label=Search the entire project");
+		$this->type("//input[@name='words']", "zongo");
+		$this->clickAndWait("//input[@name='Search']");
+		$this->assertTrue($this->isTextPresent("Bug1"));
+		$this->assertTrue($this->isTextPresent("Bug2"));
+		$this->assertTrue($this->isTextPresent("Task1"));
+		$this->assertTrue($this->isTextPresent("Task2"));
+		$this->assertTrue($this->isTextPresent("Message1"));
+		$this->assertTrue($this->isTextPresent("Message2"));
+		$this->assertTrue($this->isTextPresent("Message3"));
+		$this->assertTrue($this->isTextPresent("Message4"));
+		$this->assertTrue($this->isTextPresent("Doc1"));
+		$this->assertTrue($this->isTextPresent("Doc2"));
+		$this->assertTrue($this->isTextPresent("News1"));
+		$this->assertTrue($this->isTextPresent("News2"));
+
 		// Advanced search
 
 		$this->gotoProject('projecta');
@@ -457,6 +475,157 @@
 		$this->assertTrue($this->isTextPresent("Doc2"));
 		$this->assertFalse($this->isTextPresent("News1"));
 		$this->assertTrue($this->isTextPresent("News2"));
+
+		$this->gotoProject('projecta');
+		$this->clickAndWait('Link=Advanced search');
+		$this->click("//a[contains(@href,'short_forum') and .='all']");
+		$this->click("//a[contains(@href,'short_tracker') and .='all']");
+		$this->click("//a[contains(@href,'short_pm') and .='all']");
+		$this->click("//a[contains(@href,'short_docman') and .='all']");
+		$this->click("//a[contains(@href,'short_news') and .='all']");
+		$this->type("//div[@id='maindiv']//input[@name='words']", "zongo");
+		$this->clickAndWait("//input[@name='submitbutton']");
+		$this->assertTrue($this->isTextPresent("Bug1"));
+		$this->assertTrue($this->isTextPresent("Bug2"));
+		$this->assertTrue($this->isTextPresent("Task1"));
+		$this->assertTrue($this->isTextPresent("Task2"));
+		$this->assertTrue($this->isTextPresent("Message1"));
+		$this->assertTrue($this->isTextPresent("Message2"));
+		$this->assertTrue($this->isTextPresent("Message3"));
+		$this->assertTrue($this->isTextPresent("Message4"));
+		$this->assertTrue($this->isTextPresent("Doc1"));
+		$this->assertTrue($this->isTextPresent("Doc2"));
+		$this->assertTrue($this->isTextPresent("News1"));
+		$this->assertTrue($this->isTextPresent("News2"));
+
+		// Now let's check that RBAC permissions are taken into account
+
+		$this->createUser('piperade');
+		$this->gotoProject('projecta');
+		$this->click("link=Admin");
+		$this->waitForPageToLoad("30000");
+		$this->click("link=Users and permissions");
+		$this->waitForPageToLoad("30000");
+		$this->click("//tr/td/form/div[contains(.,'Any user logged in')]/../../../td/form/div/input[contains(@value,'Unlink Role')]");
+		$this->waitForPageToLoad("30000");
+		$this->type ("//form[contains(@action,'roleedit.php')]/..//input[@name='role_name']", "Trainee") ;
+		$this->click ("//input[@value='Create Role']") ;
+		$this->waitForPageToLoad("30000");
+
+		$this->click("link=Users and permissions");
+		$this->waitForPageToLoad("30000");
+		$this->type ("//form[contains(@action,'users.php')]//input[@name='form_unix_name' and @type='text']", "piperade") ;
+		$this->select("//input[@value='Add Member']/../select[@name='role_id']", "label=Trainee");
+		$this->click ("//input[@value='Add Member']") ;
+		$this->waitForPageToLoad("30000");
+
+		$this->click("link=Users and permissions");
+		$this->waitForPageToLoad("30000");
+		$this->click ("//td/form/div[contains(.,'Trainee')]/../div/input[@value='Edit Permissions']") ;
+		$this->waitForPageToLoad("30000");
+		$this->select("//tr/td[.='Bugs']/../td/select[contains(@name,'data[tracker]')]", "label=Read only");
+		$this->select("//tr/td[.='Patches']/../td/select[contains(@name,'data[tracker]')]", "label=No access");
+		$this->select("//tr/td[.='To Do']/../td/select[contains(@name,'data[pm]')]", "label=Read only");
+		$this->select("//tr/td[.='Next Release']/../td/select[contains(@name,'data[pm]')]", "label=No access");
+		$this->select("//tr/td[.='open-discussion']/../td/select[contains(@name,'data[forum]')]", "label=Read only");
+		$this->select("//tr/td[.='developers-discussion']/../td/select[contains(@name,'data[forum]')]", "label=No access");
+		$this->select("//select[contains(@name,'data[docman]')]", "label=Read only");
+		$this->click ("//input[@value='Submit']") ;
+		$this->waitForPageToLoad("30000");
+
+		$this->click("link=Users and permissions");
+		$this->waitForPageToLoad("30000");
+		$this->click ("//td/form/div[contains(.,'Anonymous')]/../div/input[@value='Edit Permissions']") ;
+		$this->waitForPageToLoad("30000");
+		$this->select("//tr/td[.='Bugs']/../td/select[contains(@name,'data[tracker]')]", "label=No access");
+		$this->select("//tr/td[.='Patches']/../td/select[contains(@name,'data[tracker]')]", "label=No access");
+		$this->select("//tr/td[.='To Do']/../td/select[contains(@name,'data[pm]')]", "label=No access");
+		$this->select("//tr/td[.='Next Release']/../td/select[contains(@name,'data[pm]')]", "label=No access");
+		$this->select("//tr/td[.='open-discussion']/../td/select[contains(@name,'data[forum]')]", "label=No access");
+		$this->select("//tr/td[.='developers-discussion']/../td/select[contains(@name,'data[forum]')]", "label=No access");
+		$this->select("//select[contains(@name,'data[docman]')]", "label=No access");
+		$this->click ("//input[@value='Submit']") ;
+		$this->waitForPageToLoad("30000");
+
+		$this->switchUser('piperade');
+		$this->gotoProject('projecta');
+		$this->select("type_of_search", "label=Search the entire project");
+		$this->type("//input[@name='words']", "zongo");
+		$this->clickAndWait("//input[@name='Search']");
+		$this->assertTrue($this->isTextPresent("Bug1"));
+		$this->assertFalse($this->isTextPresent("Bug2"));
+		$this->assertTrue($this->isTextPresent("Task1"));
+		$this->assertFalse($this->isTextPresent("Task2"));
+		$this->assertTrue($this->isTextPresent("Message1"));
+		$this->assertTrue($this->isTextPresent("Message2"));
+		$this->assertTrue($this->isTextPresent("Message3"));
+		$this->assertFalse($this->isTextPresent("Message4"));
+		$this->assertTrue($this->isTextPresent("Doc1"));
+		$this->assertTrue($this->isTextPresent("Doc2"));
+		$this->assertTrue($this->isTextPresent("News1"));
+		$this->assertTrue($this->isTextPresent("News2"));
+
+		$this->gotoProject('projecta');
+		$this->clickAndWait('Link=Advanced search');
+		$this->click("//a[contains(@href,'short_forum') and .='all']");
+		$this->click("//a[contains(@href,'short_tracker') and .='all']");
+		$this->click("//a[contains(@href,'short_pm') and .='all']");
+		$this->click("//a[contains(@href,'short_docman') and .='all']");
+		$this->click("//a[contains(@href,'short_news') and .='all']");
+		$this->type("//div[@id='maindiv']//input[@name='words']", "zongo");
+		$this->clickAndWait("//input[@name='submitbutton']");
+		$this->assertTrue($this->isTextPresent("Bug1"));
+		$this->assertFalse($this->isTextPresent("Bug2"));
+		$this->assertTrue($this->isTextPresent("Task1"));
+		$this->assertFalse($this->isTextPresent("Task2"));
+		$this->assertTrue($this->isTextPresent("Message1"));
+		$this->assertTrue($this->isTextPresent("Message2"));
+		$this->assertTrue($this->isTextPresent("Message3"));
+		$this->assertFalse($this->isTextPresent("Message4"));
+		$this->assertTrue($this->isTextPresent("Doc1"));
+		$this->assertTrue($this->isTextPresent("Doc2"));
+		$this->assertTrue($this->isTextPresent("News1"));
+		$this->assertTrue($this->isTextPresent("News2"));
+
+		$this->logout();
+		$this->gotoProject('projecta');
+		$this->select("type_of_search", "label=Search the entire project");
+		$this->type("//input[@name='words']", "zongo");
+		$this->clickAndWait("//input[@name='Search']");
+		$this->assertFalse($this->isTextPresent("Bug1"));
+		$this->assertFalse($this->isTextPresent("Bug2"));
+		$this->assertFalse($this->isTextPresent("Task1"));
+		$this->assertFalse($this->isTextPresent("Task2"));
+		$this->assertFalse($this->isTextPresent("Message1"));
+		$this->assertFalse($this->isTextPresent("Message2"));
+		$this->assertFalse($this->isTextPresent("Message3"));
+		$this->assertFalse($this->isTextPresent("Message4"));
+		$this->assertFalse($this->isTextPresent("Doc1"));
+		$this->assertFalse($this->isTextPresent("Doc2"));
+		$this->assertTrue($this->isTextPresent("News1"));
+		$this->assertTrue($this->isTextPresent("News2"));
+
+		$this->gotoProject('projecta');
+		$this->clickAndWait('Link=Advanced search');
+		$this->click("//a[contains(@href,'short_forum') and .='all']");
+		$this->click("//a[contains(@href,'short_tracker') and .='all']");
+		$this->assertFalse($this->isElementPresent("//a[contains(@href,'short_pm') and .='all']"));
+		$this->assertFalse($this->isElementPresent("//a[contains(@href,'short_docman') and .='all']"));
+		$this->click("//a[contains(@href,'short_news') and .='all']");
+		$this->type("//div[@id='maindiv']//input[@name='words']", "zongo");
+		$this->clickAndWait("//input[@name='submitbutton']");
+		$this->assertFalse($this->isTextPresent("Bug1"));
+		$this->assertFalse($this->isTextPresent("Bug2"));
+		$this->assertFalse($this->isTextPresent("Task1"));
+		$this->assertFalse($this->isTextPresent("Task2"));
+		$this->assertFalse($this->isTextPresent("Message1"));
+		$this->assertFalse($this->isTextPresent("Message2"));
+		$this->assertFalse($this->isTextPresent("Message3"));
+		$this->assertFalse($this->isTextPresent("Message4"));
+		$this->assertFalse($this->isTextPresent("Doc1"));
+		$this->assertFalse($this->isTextPresent("Doc2"));
+		$this->assertTrue($this->isTextPresent("News1"));
+		$this->assertTrue($this->isTextPresent("News2"));
 	}
 
 }




More information about the Fusionforge-commits mailing list