[Fusionforge-commits] r11942 - in trunk: . src/common/include src/common/widget src/docs src/www/admin src/www/frs/admin src/www/include src/www/project/admin src/www/softwaremap tests/code/deprecations tests/func/Site

Roland Mas lolando at libremir.placard.fr.eu.org
Thu Jan 6 17:41:07 CET 2011


Author: lolando
Date: 2011-01-06 17:41:07 +0100 (Thu, 06 Jan 2011)
New Revision: 11942

Added:
   trunk/src/www/admin/passedit.php
Removed:
   trunk/src/www/project/admin/editgroupinfo.php
Modified:
   trunk/
   trunk/src/common/include/Group.class.php
   trunk/src/common/include/Navigation.class.php
   trunk/src/common/include/config-vars.php
   trunk/src/common/include/utils.php
   trunk/src/common/widget/Widget_ProjectInfo.class.php
   trunk/src/docs/README.Plugins
   trunk/src/www/admin/userlist.php
   trunk/src/www/frs/admin/qrs.php
   trunk/src/www/include/Layout.class.php
   trunk/src/www/include/features_boxes.php
   trunk/src/www/project/admin/index.php
   trunk/src/www/softwaremap/full_list.php
   trunk/src/www/softwaremap/index.php
   trunk/src/www/softwaremap/tag_cloud.php
   trunk/src/www/softwaremap/trove_list.php
   trunk/tests/code/deprecations/DeprecationsTest.php
   trunk/tests/func/Site/loginTest.php
Log:
Merged from 5.1: some features merged from Evolvis, and a little code refactoring


Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk:8721-8727
/branches/Branch_4_7:6879,6881,6884,6897,6899,6902,6904,6906,6909,6911,6922,6932,6936,6939,6942,6944,6946-6948,6954,6956,6959,7000-7001,7012,7111,7130-7131,7133-7134,7138,7140-7142,7147-7148,7159-7160,7163,7168,7177,7179,7203,7205,7207,7210,7212,7251-7253,7255,7284,7287,7291,7293,7295-7296,7300,7355,7365-7366,7375-7376,7378,7395,7423-7426,7435,7458,7504,7567,7577,7623-7624,7638,7659-7660,7662,7665,7668,7674,7699,7746-7748,7771,7774,7786,7838
/branches/Branch_5_1:11607-11609,11621,11625,11627,11631,11638,11644,11647-11651,11677,11680-11681,11683-11684,11719-11720,11724,11754,11780,11783,11792,11794,11802,11808-11816,11818,11822-11824,11827-11829,11834-11835,11847,11849,11851-11852,11855,11858,11862,11867,11869-11872,11876,11880,11893,11902-11905,11915,11923-11927,11929-11930,11932
/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
/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

   + /trunk:8721-8727
/branches/Branch_5_0:8892,8895,8897-8898,8900,8903-8904,8906-8907,8910,8915,8922,8924,8926,8929,8931-8933,8941,8946,8951,8955,8972-8977,8981,8997,8999,9002,9031-9032,9050,9080-9081,9084-9086,9093-9095,9102-9104,9108,9113-9115,9117-9118,9123,9125,9127-9131,9135-9136,9139,9146,9148-9150,9179-9191,9193-9195,9198,9200,9202,9204,9207,9209,9211,9213,9215,9220-9222,9231,9234-9235,9243,9251,9254,9259,9287,9315,9318,9347-9349,9358,9396,9427,9429,9431-9433,9441-9442,9444-9445,9462,9464,9468,9522-9523,9549,9551-9552,9576-9577,9579,9615,9633-9634,9672-9673,9675-9676,9684,9686-9687,9689,9699,9727,9729,9731,9930-9932,9935,9956,9980,10005-10006,10021,10024,10027,10064,10081-10082,10273,10285,10820-10824,10868,10872,10876-10878,10880,10918,11015,11017,11058-11060,11085-11086,11160-11165,11252-11253,11287,11294,11581,11619-11620,11679,11722-11723
/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
/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
/branches/Branch_4_7:6879,6881,6884,6897,6899,6902,6904,6906,6909,6911,6922,6932,6936,6939,6942,6944,6946-6948,6954,6956,6959,7000-7001,7012,7111,7130-7131,7133-7134,7138,7140-7142,7147-7148,7159-7160,7163,7168,7177,7179,7203,7205,7207,7210,7212,7251-7253,7255,7284,7287,7291,7293,7295-7296,7300,7355,7365-7366,7375-7376,7378,7395,7423-7426,7435,7458,7504,7567,7577,7623-7624,7638,7659-7660,7662,7665,7668,7674,7699,7746-7748,7771,7774,7786,7838

Modified: svk:merge
   - 9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7001
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7012
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7291
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7458
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7623
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7624
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7786
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_7:7838
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:10013
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7335
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7344
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7345
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7402
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7455
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7459
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7469
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7470
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7476
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7480
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7505
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7540
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7557
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7559
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7560
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7580
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7609
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7615
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7618
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7621
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7622
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7626
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7627
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7708
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7713
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7725
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7729
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7730
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7731
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7732
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7733
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7734
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7737
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7738
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7739
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7742
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7760
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7763
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7764
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7767
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7769
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7773
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7776
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7784
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7785
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7797
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7799
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7811
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7826
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7827
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7828
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7839
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7951
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7958
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:7960
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8108
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8113
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8119
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8128
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8145
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8202
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8216
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8224
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8226
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8250
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8337
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8357
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8371
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8375
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8379
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8415
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8427
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8431
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8441
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8449
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8453
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8530
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8604
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8605
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8608
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8637
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8751
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8756
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:8761
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_4_8:9141
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10006
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10021
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10064
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10082
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:10824
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11017
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11060
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11165
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11253
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:11294
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8895
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8898
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8900
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:8941
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9115
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9118
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9131
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9136
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9139
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9150
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9188
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9195
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9198
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9202
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9207
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9209
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9213
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9243
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9254
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9358
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9396
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9427
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9433
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9549
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9552
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9579
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9634
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9675
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9676
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9729
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9731
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9932
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_0:9980
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11621
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11627
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11631
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11638
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11651
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11684
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11724
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11754
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11794
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11802
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11818
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11835
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11855
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11858
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11872
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11876
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11905
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11930
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/branches/Branch_5_1:11932
9d84d37e-dcb1-4aad-b103-6f3d92f53bf6:/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:/trunk:8727


Modified: trunk/src/common/include/Group.class.php
===================================================================
--- trunk/src/common/include/Group.class.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/common/include/Group.class.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -3153,6 +3153,33 @@
 	}
 }
 
+function getAllProjectTags($onlyvisible = true) {
+	$res = db_query_params('SELECT project_tags.name, groups.group_id FROM groups, project_tags WHERE groups.group_id = project_tags.group_id AND groups.status = $1 ORDER BY project_tags.name, groups.group_id',
+			       array('A'));
+
+	if (!$res || db_numrows($res) == 0) {
+		return false;
+	}
+
+	$result = array();
+
+	while ($arr = db_fetch_array($res)) {
+		$tag = $arr[0];
+		$group_id = $arr[1];
+		if (!isset($result[$tag])) {
+			$result[$tag] = array();
+		}
+
+		if (!$only_visible || forge_check_perm('project_read', $group_id)) {
+			$p = group_get_object($group_id);
+			$result[$tag][] = array('unix_group_name' => $p->getUnixName(),
+						'group_id' => $group_id);
+		}
+	}
+
+	return $result;
+}
+
 class ProjectComparator {
 	var $criterion = 'name' ;
 

Modified: trunk/src/common/include/Navigation.class.php
===================================================================
--- trunk/src/common/include/Navigation.class.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/common/include/Navigation.class.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -213,9 +213,7 @@
 	 *  links. $result['urls']: list of urls. $result['selected']:
 	 *  number of the selected menu entry.
 	 */
-	function getSiteMenu() {
-                global $sys_use_project_tags, $sys_use_project_full_list;
-
+        function getSiteMenu() {
                 $request_uri = getStringFromServer('REQUEST_URI');
                 
                 $menu = array();
@@ -235,11 +233,11 @@
                     || strstr($request_uri, util_make_uri('/register/'))
                     || strstr($request_uri, util_make_uri('/themes/'))
 			) 
-		{
-			$selected=count($menu['urls'])-1;
-		}
-
-		if (forge_get_config('use_trove') || $sys_use_project_tags || $sys_use_project_full_list) {
+                {
+                        $selected=count($menu['urls'])-1;
+                }
+                
+		if (forge_get_config('use_trove') || forge_get_config('use_project_tags') || forge_get_config('use_project_full_list')) {
 			$menu['titles'][] = _('Projects');
 			$menu['urls'][] = util_make_uri('/softwaremap/') ;
 			if (strstr($request_uri, util_make_uri('/softwaremap/'))) {
@@ -315,12 +313,12 @@
 			}
 		}
 
-		$menu['selected'] = $selected;
+                $menu['selected'] = $selected;
+                          
+                return $menu;
+        }
 
-		return $menu;
-	}
-
-	/** Get a reference to an array of the projects menu for the
+        /** Get a reference to an array of the projects menu for the
 	 * project with the id $group_id with the following
 	 * structure: $result['starturl']: URL of the
 	 * projects starting page; $result['name']: public name of

Modified: trunk/src/common/include/config-vars.php
===================================================================
--- trunk/src/common/include/config-vars.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/common/include/config-vars.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -65,6 +65,10 @@
 forge_set_config_item_bool ('use_survey', 'core') ;
 forge_define_config_item ('use_frs', 'core', $GLOBALS['sys_use_frs']) ;
 forge_set_config_item_bool ('use_frs', 'core') ;
+forge_define_config_item ('use_project_tags', 'core', $GLOBALS['sys_use_project_tags']) ;
+forge_set_config_item_bool ('use_project_tags', 'core') ;
+forge_define_config_item ('use_project_full_list', 'core', $GLOBALS['sys_use_project_full_list']) ;
+forge_set_config_item_bool ('use_project_full_list', 'core') ;
 forge_define_config_item ('use_fti', 'core', $GLOBALS['sys_use_fti']) ;
 forge_set_config_item_bool ('use_fti', 'core') ;
 forge_define_config_item ('use_ftp', 'core', $GLOBALS['sys_use_ftp']) ;

Modified: trunk/src/common/include/utils.php
===================================================================
--- trunk/src/common/include/utils.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/common/include/utils.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -3,7 +3,9 @@
  * FusionForge miscellaneous utils
  *
  * Copyright 1999-2001, VA Linux Systems, Inc.
- * Copyright 2009-2010, Roland Mas, Franck Villaume - Capgemini
+ * Copyright 2009-2010, Roland Mas
+ * Copyright 2009-2010, Franck Villaume - Capgemini
+ * Copyright 2010, Thorsten Glaser <t.glaser at tarent.de>
  *
  * This file is part of FusionForge.
  *
@@ -1331,6 +1333,32 @@
 	return $trace;
 }
 
+function util_ini_get_bytes($id) {
+	$val = trim(ini_get($id));
+	$last = strtolower($val[strlen($val)-1]);
+	switch ($last) {
+	case 'g':
+		$val *= 1024;
+	case 'm':
+		$val *= 1024;
+	case 'k':
+		$val *= 1024;
+	}
+	return $val;
+}
+
+function util_get_maxuploadfilesize() {
+	$postmax = util_ini_get_bytes('post_max_size');
+	$maxfile = util_ini_get_bytes('upload_max_filesize');
+
+	$postfile = (int)(($postmax * 3) / 4);
+
+	if ($postfile < $maxfile)
+		$postfile = $maxfile;
+
+	return $postfile;
+}
+
 // Local Variables:
 // mode: php
 // c-file-style: "bsd"

Modified: trunk/src/common/widget/Widget_ProjectInfo.class.php
===================================================================
--- trunk/src/common/widget/Widget_ProjectInfo.class.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/common/widget/Widget_ProjectInfo.class.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -36,7 +36,7 @@
 		$pm = ProjectManager::instance();
 		$project = $pm->getProject($group_id);
 		// Tag list
-		if ($GLOBALS['sys_use_project_tags']) {
+		if (forge_get_config('use_project_tags')) {
 			$list_tag = list_project_tag($group_id);
 			echo '<p>'.html_image('ic/tag.png'). ' ';
 			if ($list_tag) {
@@ -45,7 +45,7 @@
 			else {
 				$project = group_get_object($group_id);
 				if (forge_check_perm ('project_admin', $project->getID())) {
-					print '<a href="/project/admin/editgroupinfo.php?group_id=' . $group_id . '" >' . _('No tag defined for this project') . '</a>.';
+					print '<a href="/project/admin/?group_id=' . $group_id . '" >' . _('No tag defined for this project') . '</a>.';
 				}
 				else {
 					print _('No tag defined for this project');

Modified: trunk/src/docs/README.Plugins
===================================================================
--- trunk/src/docs/README.Plugins	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/docs/README.Plugins	2011-01-06 16:41:07 UTC (rev 11942)
@@ -262,14 +262,14 @@
 
   Hook Name  : groupisactivecheckboxpost
   Parameters : group_id - The numeric ID of the group
-  Locations  : www/project/admin/editgroupinfo.php
+  Locations  : www/project/admin/index.php
   Description: Called when a plugin is activated for a specific group from 
                the group's Edit Public Info page. Use this to perform
                actions to initialise the plugin for a specific group.
 
   Hook Name  : groupisactivecheckbox
   Parameters : group_id - The numeric ID of the group
-  Locations  : www/project/admin/editgroupinfo.php
+  Locations  : www/project/admin/index.php
   Description: Used to display a portion of a form on a group's Edit
                Public Info page. It should return a HTML <tr> line containing
                two cells. 

Copied: trunk/src/www/admin/passedit.php (from rev 11941, branches/Branch_5_1/src/www/admin/passedit.php)
===================================================================
--- trunk/src/www/admin/passedit.php	                        (rev 0)
+++ trunk/src/www/admin/passedit.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -0,0 +1,101 @@
+<?php
+/**
+ * Site Admin user password editing page
+ *
+ * Copyright © 2010
+ *	Thorsten “mirabilos” Glaser <t.glaser at tarent.de>
+ * All rights reserved.
+ *
+ * Based on other FusionForge code.
+ *
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+require_once('../env.inc.php');
+require_once $gfwww.'include/pre.php';
+require_once $gfcommon.'include/account.php';
+require_once $gfwww.'admin/admin_utils.php';
+
+session_require_global_perm ('forge_admin');
+ 
+$user_id = getIntFromRequest('user_id');
+$u =& user_get_object($user_id);
+if (!$u || !is_object($u)) {
+	exit_error('Error','Could Not Get User');
+} elseif ($u->isError()) {
+	exit_error('Error',$u->getErrorMessage());
+}
+
+if (getStringFromRequest('submit')) {
+	if (!form_key_is_valid(getStringFromRequest('form_key'))) {
+		exit_form_double_submit();
+	}
+
+	$passwd = getStringFromRequest('passwd');
+	$passwd2 = getStringFromRequest('passwd2');
+
+	if (strlen($passwd)<6) {
+		form_release_key(getStringFromRequest('form_key'));
+		exit_error(
+			_('Error'),
+			_('You must supply valid password (at least 6 chars)')
+		);
+	}
+
+	if ($passwd != $passwd2) {
+		form_release_key(getStringFromRequest('form_key'));
+		exit_error(
+			_('Error'),
+			_('New passwords do not match.')
+		);
+	}
+
+	if (!$u->setPasswd($passwd)) {
+		form_release_key(getStringFromRequest('form_key'));
+		exit_error(
+			_('Error'),
+			'Could not change password: '.$u->getErrorMessage()
+		);
+	}
+	//plugin webcal change user password
+	else {
+		plugin_hook('change_cal_password',$u->getID());
+	}
+
+	site_admin_header(array('title'=>_('Site·Admin:·Successfully Changed·User·Password')));
+
+	printf(_('<h2>%1$s Password Change Confirmation</h2><p>You have changed the password of %2$s (%3$s).</p>'), forge_get_config('forge_name'), $u->getUnixName(), $u->getRealName());
+	printf('<p>'._("Go back to %s.").'</p>', '<a href="userlist.php">'._("the Full User List").'</a>');
+} else {
+	// Show change form
+	site_admin_header(array('title'=>_('Site Admin: Change User Password')));
+	?>
+
+	<form action="<?php echo util_make_url('/admin/passedit.php?user_id='.$user_id); ?>" method="post">
+	<input type="hidden" name="form_key" value="<?php echo form_generate_key(); ?>"/>
+	<p><?php printf(_('Changing password for user #%1$s "%2$s" (%3$s)…'), $user_id, $u->getUnixName(), $u->getRealName()); ?></p>
+	<p><?php echo _('New Password (at least 6 chars)') ?>:
+	<br /><input type="password" name="passwd" /></p>
+	<p><?php echo _('New Password (repeat)') ?>:
+	<br /><input type="password" name="passwd2" /></p>
+	<p><input type="submit" name="submit" value="<?php echo _('Update password') ?>" /></p>
+	</form>
+	<?php
+}
+
+site_admin_footer(array());
+
+?>

Modified: trunk/src/www/admin/userlist.php
===================================================================
--- trunk/src/www/admin/userlist.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/admin/userlist.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -77,6 +77,7 @@
 		'&nbsp;',
 		'&nbsp;',
 		'&nbsp;',
+		'&nbsp;',
 		'&nbsp;'
 	);
 
@@ -86,6 +87,7 @@
 	  '/admin/userlist.php?sortorder=user_name',
 	  '/admin/userlist.php?sortorder=user_name',
 	  '/admin/userlist.php?sortorder=user_name',
+	  '/admin/userlist.php?sortorder=user_name',
 	  '/admin/userlist.php?sortorder=user_name'
 	);
 
@@ -105,10 +107,11 @@
 		echo '<td width="15%" style="text-align:center">';
 		echo ($u->getAddDate() ? date(_('Y-m-d H:i'), $u->getAddDate()) : '-');
 		echo '</td>';
-		echo '<td width="15%" style="text-align:center">'.util_make_link ('/developer/?form_dev='.$u->getID(),_('[DevProfile]')).'</td>';
-		echo '<td width="15%" style="text-align:center">'.util_make_link ('/admin/userlist.php?action=activate&amp;user_id='.$u->getID().$filter,_('[Activate]')).'</td>';
-		echo '<td width="15%" style="text-align:center">'.util_make_link ('/admin/userlist.php?action=delete&amp;user_id='.$u->getID().$filter,_('[Delete]')).'</td>';
-		echo '<td width="15%" style="text-align:center">'.util_make_link ('/admin/userlist.php?action=suspend&amp;user_id='.$u->getID().$filter,_('[Suspend]')).'</td>';
+		echo '<td width="12%" style="text-align:center">'.util_make_link ('/developer/?form_dev='.$u->getID(),_('[DevProfile]')).'</td>';
+		echo '<td width="12%" style="text-align:center">'.util_make_link ('/admin/userlist.php?action=activate&amp;user_id='.$u->getID().$filter,_('[Activate]')).'</td>';
+		echo '<td width="12%" style="text-align:center">'.util_make_link ('/admin/userlist.php?action=delete&amp;user_id='.$u->getID().$filter,_('[Delete]')).'</td>';
+		echo '<td width="12%" style="text-align:center">'.util_make_link ('/admin/userlist.php?action=suspend&amp;user_id='.$u->getID().$filter,_('[Suspend]')).'</td>';
+		echo '<td width="12%" style="text-align:center">'.util_make_link ('/admin/passedit.php?user_id='.$u->getID().$filter,_('[Change PW]')).'</td>';
 		echo '</tr>';
 		$count ++;
 	}

Modified: trunk/src/www/frs/admin/qrs.php
===================================================================
--- trunk/src/www/frs/admin/qrs.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/frs/admin/qrs.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -195,6 +195,7 @@
 		<td>
 		<span class="important">
 		<?php echo _('NOTE: In some browsers you must select the file in the file-upload dialog and click "OK". Double-clicking doesn\'t register the file.')?>
+		<?php printf(_('You can probably not upload files larger than about %.2f MiB in size.'), util_get_maxuploadfilesize() / 1048576); ?><br />
 		</span><br />
 		<?php echo _('Upload a new file') ?>: <input type="file" name="userfile"  size="30" />
 		<?php if (forge_get_config('use_ftp_uploads')) {

Modified: trunk/src/www/include/Layout.class.php
===================================================================
--- trunk/src/www/include/Layout.class.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/include/Layout.class.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -36,6 +36,7 @@
  */
 
 require_once $gfcommon.'include/constants.php';
+require_once $gfcommon.'include/FusionForge.class.php';
 require_once $gfcommon.'include/Navigation.class.php';
 
 class Layout extends Error {
@@ -244,6 +245,7 @@
 		$this->headerSearch();
 		$this->headerCSS();
 		$this->headerJS(); 
+		$this->headerForgepluckerMeta(); 
 		?>
 			</head>
 		<?php
@@ -333,6 +335,17 @@
 		echo $this->getJavascripts();
 	}
 
+	function headerForgepluckerMeta() {
+		/*-
+		 * Forge-Identification Meta Header, Version 1.0
+		 * cf. http://home.gna.org/forgeplucker/forge-identification.html
+		 */
+		$ff = new FusionForge();
+		return sprintf('<meta name="Forge-Identification" content="%s:%s" />', 
+				$ff->software_name,
+				$ff->software_version) . "\n";
+	}
+
 	function bodyHeader($params){
 		?>
 			<div class="header">
@@ -1261,6 +1274,32 @@
 	function _getToggleMinusForWidgets() {
 		return 'ic/toggle_minus.png';
 	}
+
+	/* Get the navigation links for the software map pages (trove,
+	 * tag cloud, full project list) according to what's enabled
+	 */
+	function printSoftwareMapLinks() {
+		$subMenuTitle = array();
+		$subMenuUrl = array();
+		
+		if (forge_get_config('use_project_tags')) {
+			$subMenuTitle[] = _('Tag cloud');
+			$subMenuUrl[] = '/softwaremap/tag_cloud.php';
+		}
+		
+		if (forge_get_config('use_trove')) {
+			$subMenuTitle[] = _('Project Tree');
+			$subMenuUrl[] = '/softwaremap/trove_list.php';
+		}
+		
+		if (forge_get_config('use_project_full_list')) {
+			$subMenuTitle[] = _('Project List');
+			$subMenuUrl[] = '/softwaremap/full_list.php';
+		}
+		
+		echo $this->subMenu($subMenuTitle, $subMenuUrl);
+	}
+
 }
 
 // Local Variables:

Modified: trunk/src/www/include/features_boxes.php
===================================================================
--- trunk/src/www/include/features_boxes.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/include/features_boxes.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -29,12 +29,12 @@
 require_once $gfcommon.'include/Stats.class.php';
 
 function show_features_boxes() {
-	GLOBAL $HTML, $sys_use_project_tags;
+	GLOBAL $HTML;
 	
 	plugin_hook ("features_boxes_top", array());
 	$return = '<h2 class="skip">' . _('Features Boxes') . '</h2>';
 
-	if ($sys_use_project_tags) {
+	if (forge_get_config('use_project_tags')) {
 		$return .= $HTML->boxTop(_('Tag Cloud'), 'Tag_Cloud');
 		$return .= tag_cloud();
 		$return .= $HTML->boxMiddle(sprintf(_('%1$s Statistics'), forge_get_config ('forge_name')), 'Forge_Statistics');
@@ -54,6 +54,12 @@
 	$return .= show_highest_ranked_projects();
 	$return .= $HTML->boxMiddle(_('Recently Registered Projects'), 'Recently_Registered_Projects');
 	$return .= show_newest_projects();
+	$return .= $HTML->boxMiddle(_('System Information'), 'System_Information');
+	$ff = new FusionForge();
+	$return .= sprintf(_('%s is running %s version %s'), 
+			   forge_get_config ('forge_name'),
+			   $ff->software_name,
+			   $ff->software_version);
 	$return .= $HTML->boxBottom();
 	plugin_hook ("features_boxes_bottom", array());
 	return $return;

Deleted: trunk/src/www/project/admin/editgroupinfo.php
===================================================================
--- trunk/src/www/project/admin/editgroupinfo.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/project/admin/editgroupinfo.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -1,359 +0,0 @@
-<?php
-/**
- * FusionForge project admin page
- *
- * Copyright 1999-2001, VA Linux Systems, Inc.
- * Copyright 2002-2004, GForge, LLC
- * Copyright 2009, Roland Mas
- *
- * This file is part of FusionForge.
- *
- * FusionForge is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published
- * by the Free Software Foundation; either version 2 of the License,
- * or (at your option) any later version.
- * 
- * FusionForge is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with FusionForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
- * USA
- */
-
-require_once('../../env.inc.php');
-require_once $gfcommon.'include/pre.php';
-require_once $gfwww.'project/admin/project_admin_utils.php';
-
-$group_id = getIntFromRequest('group_id');
-session_require_perm ('project_admin', $group_id) ;
-
-$group =& group_get_object($group_id);
-if (!$group || !is_object($group)) {
-    exit_no_group();
-} else if ($group->isError()) {
-	exit_error($group->getErrorMessage(),'admin');
-}
-
-// If this was a submission, make updates
-if (getStringFromRequest('submit')) {
-	$form_group_name = getStringFromRequest('form_group_name');
-	$form_shortdesc = getStringFromRequest('form_shortdesc');
-	$form_homepage = getStringFromRequest('form_homepage');
-	$logo_image_id = getIntFromRequest('logo_image_id');
-	$use_mail = getStringFromRequest('use_mail');
-	$use_survey = getStringFromRequest('use_survey');
-	$use_forum = getStringFromRequest('use_forum');
-	$use_pm = getStringFromRequest('use_pm');
-	$use_scm = getStringFromRequest('use_scm');
-	$use_news = getStringFromRequest('use_news');
-	$use_docman = getStringFromRequest('use_docman');
-	$use_ftp = getStringFromRequest('use_ftp');
-	$use_tracker = getStringFromRequest('use_tracker');
-	$use_frs = getStringFromRequest('use_frs');
-	$use_stats = getStringFromRequest('use_stats');
-	$tags = getStringFromRequest('form_tags');
-	$is_public = getIntFromRequest('is_public');
-	$new_doc_address = getStringFromRequest('new_doc_address');
-	$send_all_docs = getStringFromRequest('send_all_docs');
-  
-	$res = $group->update(
-		session_get_user(),
-		$form_group_name,
-		$form_homepage,
-		$form_shortdesc,
-		$use_mail,
-		$use_survey,
-		$use_forum,
-		$use_pm,
-		1,
-		$use_scm,
-		$use_news,
-		$use_docman,
-		$new_doc_address,
-		$send_all_docs,
-		100,
-		$use_ftp,
-		$use_tracker,
-		$use_frs,
-		$use_stats,
-		$tags,
-		$is_public
-	);
-	
-	//100 $logo_image_id
-
-	if (!$res) {
-		$error_msg = $group->getErrorMessage();
-	} else {
-		$feedback = _('Group information updated');
-	}
-
-	// This is done so plugins can enable/disable themselves from the project
-	$hookParams['group']=$group_id;
-	plugin_hook("groupisactivecheckboxpost",$hookParams);
-}
-
-project_admin_header(array('title'=>_('Edit Group Info').'','group'=>$group->getID()));
-
-/* NOT ACTIVE YET
-
-// Prepare images res to render select box in HTML template
-$images_res = db_query_params ('
-	SELECT id,description FROM db_images
-	WHERE group_id=$1
-	AND width<200
-	AND height<200
-',
-			array($group_id));
-
-*/
-
-?>
-
-<form action="<?php echo getStringFromServer('PHP_SELF'); ?>" method="post">
-
-<input type="hidden" name="group_id" value="<?php echo $group->getID(); ?>" />
-
-<p>
-<?php echo _('Descriptive Group Name') ?>:<br />
-<input type="text" name="form_group_name" value="<?php echo $group->getPublicName(); ?>" maxlength="40" />
-</p>
-
-<p>
-<?php echo _('Short Description (255 Character Max, HTML will be stripped from this description)') ?>:<br />
-<textarea cols="80" rows="3" name="form_shortdesc">
-<?php echo $group->getDescription(); ?>
-</textarea>
-</p>
-
-<?php if ($GLOBALS['sys_use_project_tags']) { ?>
-<p>
-<?php echo _('Tags') ?>:<br />
-<input type="text" name="form_tags" size="100" value="<?php echo $group->getTags(); ?>" />
-</p>
-<?php } ?>
-
-<p>
-<?php echo _('Homepage Link') ?>:<br />
-<tt>http://</tt><input type="text" name="form_homepage" size="40" value="<?php echo $group->getHomePage(); ?>" />
-</p>
-
-<?php
-	if ($sys_use_private_project) {
-		echo '<p>' ;
-		echo _('Visibility: ');
-		echo html_build_select_box_from_arrays(
-               array('0','1'),
-               array(  _('Private'), _('Public') ),
-               'is_public', $group->isPublic(), false);
-	} else {
-		echo "<input type=hidden name=\"is_public\" value=\"1\">";
-	}
-?>
-
-<?php
-/* NOT ACTIVE YET
-<p>
-Logo Image:
-<?php echo html_build_select_box($images_res, 'logo_image_id', $group->getLogoImageID(), true); ?>
- (first, upload via <a href="editimages.php?group_id='.$group_id.'">Multimedia Manager</a>, 
- dimensions 200x200 max)
-</p>
-*/
-?>
-
-<hr />
-
-<h3><?php echo _('Active Features') ?>:</h3>
-
-<?php
-
-// This function is used to render checkboxes below
-function c($v) {
-	if ($v) {
-		return 'checked';
-	} else {
-		return '';
-	}
-}
-
-/*
-	Show the options that this project is using
-*/
-
-?>
-
-<table>
-<?php
-if(forge_get_config('use_mail')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_mail" value="1" <?php echo c($group->usesMail()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use Mailing Lists') ?></strong>
-</td>
-</tr>
-<?php
-} 
-
-if(forge_get_config('use_survey')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_survey" value="1" <?php echo c($group->usesSurvey()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use Surveys') ?></strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_forum')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_forum" value="1" <?php echo c($group->usesForum()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use Forums') ?></strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_pm')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_pm" value="1" <?php echo c($group->usesPM()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use Project/Task Manager') ?></strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_scm')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_scm" value="1" <?php echo c($group->usesSCM()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use SCM') ?></strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_news')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_news" value="1" <?php echo c($group->usesNews()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use News') ?> </strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_docman')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_docman" value="1" <?php echo c($group->usesDocman()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use Doc Mgr') ?></strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_ftp')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_ftp" value="1" <?php echo c($group->usesFTP()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use FTP') ?></strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_tracker')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_tracker" value="1" <?php echo c($group->usesTracker()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use Tracker') ?></strong>
-</td>
-</tr>
-<?php
-}
-
-if(forge_get_config('use_frs')) {
-?>
-<tr>
-<td>
-<input type="checkbox" name="use_frs" value="1" <?php echo c($group->usesFRS()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use File Release System') ?></strong>
-</td>
-</tr>
-<?php } ?>
-<tr>
-<td>
-<input type="checkbox" name="use_stats" value="1" <?php echo c($group->usesStats()); ?> />
-</td>
-<td>
-<strong><?php echo _('Use Statistics') ?></strong>
-</td>
-</tr>
-
-<?php 
-$hookParams['group']=$group_id;
-plugin_hook("groupisactivecheckbox",$hookParams);
-?>
-
-</table>
-<?php
-	if (forge_get_config('use_docman')) {
-?>
-<p>
-<?php echo _('If you wish, you can provide default email addresses to which new submissions will be sent') ?>.<br />
-<strong><?php echo _('New Document Submissions') ?>:</strong><br />
-<input type="text" name="new_doc_address" value="<?php echo $group->getDocEmailAddress(); ?>" size="25" maxlength="250" />
-<?php echo _('(send on all updates)') ?>
-<input type="checkbox" name="send_all_docs" value="1" <?php echo c($group->docEmailAll()); ?> />
-</p>
-<?php
-	}
-?>
-<hr />
-
-<p>
-<input type="submit" name="submit" value="<?php echo _('Update') ?>" />
-</p>
-</form>
-
-<?php
-
-project_admin_footer(array());
-
-?>

Modified: trunk/src/www/project/admin/index.php
===================================================================
--- trunk/src/www/project/admin/index.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/project/admin/index.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -67,9 +67,15 @@
 	$use_frs = getStringFromRequest('use_frs');
 	$use_stats = getStringFromRequest('use_stats');
 	$tags = getStringFromRequest('form_tags');
+	$addTags = getArrayFromRequest('addTags');
 	$is_public = getIntFromRequest('is_public');
 	$new_doc_address = getStringFromRequest('new_doc_address');
 	$send_all_docs = getStringFromRequest('send_all_docs');
+	
+	if (trim($tags) != "") {
+		$tags .= ",";
+	}
+	$tags .= implode(",", $addTags);
 
 	$res = $group->update(
 		session_get_user(),
@@ -143,13 +149,50 @@
 </textarea>
 </p>
 
-<?php if ($GLOBALS['sys_use_project_tags']) { ?>
+<?php if (forge_get_config('use_project_tags')) { ?>
 <p>
-<?php echo _('Tags (use comma as separator)') ?>:<br />
+<h2><?php echo _('Project tags'); ?></h2>
+<?php echo _('Add tags (use comma as separator): ') ?><br />
 <input type="text" name="form_tags" size="100" value="<?php echo $group->getTags(); ?>" />
-</p>
-<?php } ?>
+</p><br />
+<?php echo _('Or pick a tag from those used by other projects: ') ?><br />
+<?php 
+	 
+	 echo '<table width="100%"><thead><tr>';
+echo '<th>'._('Tags').'</th>';
+echo '<th>'._('Projects').'</th>';
+echo '</tr></thead><tbody>';
 
+$infos = getAllProjectTags();
+
+$unix_name = $group->getUnixName();
+foreach ($infos as $tag => $plist) {
+	$disabled = '';
+	$links = array();
+	foreach($plist as $project) {
+		$links[] = util_make_link('/projects/'.$project['unix_group_name'].'/',$project['unix_group_name']);
+		if ($project['group_id'] == $group_id) {
+			$disabled = ' disabled="disabled"';
+		}
+	}
+	
+	echo '<tr>';
+	echo '<td><input type="checkbox" name="addTags[]" value="'.$tag.'"'.$disabled.' /> ';
+	if ($disabled) {
+		echo '<s>'.$tag.'</s>';
+	} else {
+		echo $tag;
+	}
+	echo '</td>';
+	echo '<td>'.implode(' ', $links).'</td>' ;
+	echo '</tr>' ;
+}
+echo '</table>' ;
+
+
+
+} ?>
+
 <h2><?php echo _('Trove Categorization'); ?></h2>
 <p>
 <a href="/project/admin/group_trove.php?group_id=<?php echo $group->getID(); ?>">[<?php echo _('Edit Trove'); ?>]</a>

Modified: trunk/src/www/softwaremap/full_list.php
===================================================================
--- trunk/src/www/softwaremap/full_list.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/softwaremap/full_list.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -46,25 +46,13 @@
 require_once $gfcommon.'include/pre.php';
 require_once $gfwww.'include/trove.php';
 
-$HTML->header(array('title'=>_('Software Map'),'pagename'=>'softwaremap'));
-$subMenuTitle = array();
-$subMenuUrl = array();
-
-if ($GLOBALS['sys_use_project_tags']) {
-	$subMenuTitle[] = _('Tag cloud');
-	$subMenuUrl[] = '/softwaremap/tag_cloud.php';
+if (!forge_get_config('use_project_full_list')) {
+	exit_disabled();
 }
 
-if (forge_get_config('use_trove')) {
-	$subMenuTitle[] = _('Project Tree');
-	$subMenuUrl[] = '/softwaremap/trove_list.php';
-}
+$HTML->header(array('title'=>_('Software Map'),'pagename'=>'softwaremap'));
+$HTML->printSoftwareMapLinks();
 
-$subMenuTitle[] = _('Project List');
-$subMenuUrl[] = '/softwaremap/full_list.php';
-
-echo ($HTML->subMenu($subMenuTitle, $subMenuUrl));
-
 $res_grp = db_query_params ('
 	SELECT group_id, group_name, unix_group_name, short_description, register_time
 	FROM groups

Modified: trunk/src/www/softwaremap/index.php
===================================================================
--- trunk/src/www/softwaremap/index.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/softwaremap/index.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -25,10 +25,13 @@
 
 require_once('../env.inc.php');
 require_once $gfcommon.'include/pre.php';
-if ($GLOBALS['sys_use_project_tags']) {
+if (forge_get_config('use_project_tags')) {
 	session_redirect('softwaremap/tag_cloud.php');
-}elseif (forge_get_config('use_trove')){
+} elseif (forge_get_config('use_trove')){
 	session_redirect('softwaremap/trove_list.php');
-}else{
+} elseif (forge_get_config('use_project_full_list')) {
 	session_redirect('softwaremap/full_list.php');
-}?>
+} else {
+	session_redirect('/');
+}
+?>

Modified: trunk/src/www/softwaremap/tag_cloud.php
===================================================================
--- trunk/src/www/softwaremap/tag_cloud.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/softwaremap/tag_cloud.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -46,30 +46,13 @@
 require_once $gfwww.'include/trove.php';
 require_once $gfcommon.'include/tag_cloud.php';
 
-if (!$sys_use_project_tags) {
+if (!forge_get_config('use_project_tags')) {
 	exit_disabled();
 }
 
 $HTML->header(array('title'=>_('Software Map'),'pagename'=>'softwaremap'));
+$HTML->printSoftwareMapLinks();
 
-$subMenuTitle = array();
-$subMenuUrl = array();
-
-if ($GLOBALS['sys_use_project_tags']) {
-	$subMenuTitle[] = _('Tag cloud');
-	$subMenuUrl[] = '/softwaremap/tag_cloud.php';
-}
-
-if (forge_get_config('use_trove')) {
-	$subMenuTitle[] = _('Project Tree');
-	$subMenuUrl[] = '/softwaremap/trove_list.php';
-}
-
-$subMenuTitle[] = _('Project List');
-$subMenuUrl[] = '/softwaremap/full_list.php';
-
-echo ($HTML->subMenu($subMenuTitle, $subMenuUrl));
-
 $selected_tag = getStringFromRequest('tag');
 $page = getIntFromRequest('page', 1);
 

Modified: trunk/src/www/softwaremap/trove_list.php
===================================================================
--- trunk/src/www/softwaremap/trove_list.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/src/www/softwaremap/trove_list.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -31,6 +31,9 @@
 	exit_disabled('home');
 }
 
+$HTML->header(array('title'=>_('Software Map'),'pagename'=>'softwaremap'));
+$HTML->printSoftwareMapLinks();
+
 $form_cat = getIntFromRequest('form_cat');
 $page = getIntFromRequest('page',1);
 $cat = getStringFromRequest('cat');
@@ -54,26 +57,6 @@
 	exit_error(_('That Trove category does not exist').': '.db_error(),'trove');
 }
 
-$HTML->header(array('title'=>_('Software Map')));
-
-$subMenuTitle = array();
-$subMenuUrl = array();
-
-if ($GLOBALS['sys_use_project_tags']) {
-	$subMenuTitle[] = _('Tag cloud');
-	$subMenuUrl[] = '/softwaremap/tag_cloud.php';
-}
-
-if (forge_get_config('use_trove')) {
-	$subMenuTitle[] = _('Project Tree');
-	$subMenuUrl[] = '/softwaremap/trove_list.php';
-}
-
-$subMenuTitle[] = _('Project List');
-$subMenuUrl[] = '/softwaremap/full_list.php';
-
-echo ($HTML->subMenu($subMenuTitle, $subMenuUrl));
-
 echo '<div id="project-tree" class="underline-link">' . "\n";
 echo '<h2>' . _('Project tree') . '</h2>' . "\n";
 

Modified: trunk/tests/code/deprecations/DeprecationsTest.php
===================================================================
--- trunk/tests/code/deprecations/DeprecationsTest.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/tests/code/deprecations/DeprecationsTest.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -53,6 +53,8 @@
 			       'sys_use_mail',
 			       'sys_use_survey',
 			       'sys_use_frs',
+			       'sys_use_project_tags',
+			       'sys_use_project_full_list',
 			       'sys_use_fti',
 			       'sys_use_ftp',
 			       'sys_use_trove',

Modified: trunk/tests/func/Site/loginTest.php
===================================================================
--- trunk/tests/func/Site/loginTest.php	2011-01-06 16:35:48 UTC (rev 11941)
+++ trunk/tests/func/Site/loginTest.php	2011-01-06 16:41:07 UTC (rev 11942)
@@ -47,9 +47,6 @@
 
 class LoginProcess extends FForge_SeleniumTestCase
 {
-	// Simple creation of a project by the admin user and
-	// approval of the creation just after.
-	// After creation, project is visible on the main page.
 	function testLogin()
 	{
 		// Test with a normal login.
@@ -92,7 +89,29 @@
 		$this->login('admin');
 		$this->assertTrue($this->isTextPresent("Forge Admin"));
 		$this->assertTrue($this->isTextPresent("Log Out"));
+
+		$this->clickAndWait("link=Site Admin");
+		$this->clickAndWait("link=Display Full User List/Edit Users");
+		$this->click("//table/tbody/tr/td/a[contains(@href,'useredit.php') and contains(.,'(admin)')]/../..//a[contains(@href, 'passedit.php?user_id=')]");
+		$this->waitForPageToLoad("30000");
+		$this->type("passwd","tototata");
+		$this->type("passwd2","tototata");
+		$this->clickAndWait("submit");
+		$this->logout();
+
+		$this->open( ROOT );
+		$this->click("link=Log In");
+		$this->waitForPageToLoad("30000");
+		$this->type("form_loginname", "admin");
+		$this->type("form_pw", "tototata");
+		$this->click("login");
+		$this->waitForPageToLoad("30000");
+		$this->assertTrue($this->isTextPresent("Forge Admin"));
+		$this->assertTrue($this->isTextPresent("Log Out"));
+		$this->assertTrue($this->isTextPresent("Log Out"));
 	}
+
+	
 }
 
 // Local Variables:




More information about the Fusionforge-commits mailing list