From 8e13b38a7db4efe39f8da346ecf16fe6be01ed82 Mon Sep 17 00:00:00 2001 From: Kenson Man Date: Sun, 2 Jun 2013 22:39:39 +0800 Subject: [PATCH 1/6] Create the related schema successfully --- admin/schema.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/admin/schema.php b/admin/schema.php index d2b6940..ac8a1a0 100644 --- a/admin/schema.php +++ b/admin/schema.php @@ -198,7 +198,8 @@ $upgrade[] = Array('CreateTableSQL',Array(db_get_table('mantis_news_table')," $upgrade[] = Array('CreateTableSQL',Array(db_get_table('mantis_project_category_table')," project_id I UNSIGNED NOTNULL PRIMARY DEFAULT '0', category C(64) NOTNULL PRIMARY DEFAULT \" '' \", - user_id I UNSIGNED NOTNULL DEFAULT '0' + user_id I UNSIGNED NOTNULL DEFAULT '0', + desc_template C(250) NOTNULL DEFAULT \" '' \" ",Array('mysql' => 'ENGINE=MyISAM DEFAULT CHARSET=utf8', 'pgsql' => 'WITHOUT OIDS'))); $upgrade[] = Array('CreateTableSQL',Array(db_get_table('mantis_project_file_table')," id I UNSIGNED NOTNULL PRIMARY AUTOINCREMENT, @@ -397,7 +398,8 @@ $upgrade[] = Array( 'CreateTableSQL', Array( db_get_table( 'mantis_category_tabl project_id I UNSIGNED NOTNULL DEFAULT '0', user_id I UNSIGNED NOTNULL DEFAULT '0', name C(128) NOTNULL DEFAULT \" '' \", - status I UNSIGNED NOTNULL DEFAULT '0' + status I UNSIGNED NOTNULL DEFAULT '0', + desc_template C(256) NOTNULL DEFAULT \" '' \" ", Array( 'mysql' => 'ENGINE=MyISAM DEFAULT CHARSET=utf8', 'pgsql' => 'WITHOUT OIDS' ) ) ); $upgrade[] = Array( 'CreateIndexSQL', Array( 'idx_category_project_name', db_get_table( 'mantis_category_table' ), 'project_id, name', array( 'UNIQUE' ) ) ); $upgrade[] = Array( 'InsertData', Array( db_get_table( 'mantis_category_table' ), " -- 1.7.10.2 (Apple Git-33) From d7312cadf15237656e10ffc16ec2672e4e925140 Mon Sep 17 00:00:00 2001 From: Kenson Man Date: Sun, 2 Jun 2013 23:50:31 +0800 Subject: [PATCH 2/6] Just modify/added the template input field --- core/category_api.php | 17 ++++++++++------- lang/strings_chinese_simplified.txt | 1 + lang/strings_chinese_traditional.txt | 1 + lang/strings_english.txt | 1 + manage_proj_cat_add.php | 3 ++- manage_proj_cat_edit_page.php | 9 +++++++++ manage_proj_edit_page.php | 1 + manage_proj_page.php | 11 ++++++++++- 8 files changed, 35 insertions(+), 9 deletions(-) diff --git a/core/category_api.php b/core/category_api.php index e188d85..dfd6e84 100644 --- a/core/category_api.php +++ b/core/category_api.php @@ -105,10 +105,11 @@ function category_exists( $p_category_id ) { * Add a new category to the project * @param int $p_project_id Project id * @param string $p_name Category Name + * @param string $p_desc_template Description template * @return int Category ID * @access public */ - function category_add( $p_project_id, $p_name ) { + function category_add( $p_project_id, $p_name, $p_desc_template ) { $c_project_id = db_prepare_int( $p_project_id ); if( is_blank( $p_name ) ) { @@ -121,10 +122,10 @@ function category_exists( $p_category_id ) { $t_category_table = db_get_table( 'mantis_category_table' ); $query = "INSERT INTO $t_category_table - ( project_id, name ) + ( project_id, name, desc_template ) VALUES - ( " . db_param() . ', ' . db_param() . ' )'; - db_query_bound( $query, array( $c_project_id, $p_name ) ); + ( " . db_param() . ', ' . db_param() . ', ' . db_param() . ' )'; + db_query_bound( $query, array( $c_project_id, $p_name, $p_desc_template ) ); # db_query errors on failure so: return db_insert_id( $t_category_table ); @@ -134,11 +135,12 @@ function category_exists( $p_category_id ) { * Update the name and user associated with the category * @param int $p_category_id Category id * @param string $p_name Category Name + * @param string $p_desc_template Description template * @param int $p_assigned_to User ID that category is assigned to * @return bool * @access public */ - function category_update( $p_category_id, $p_name, $p_assigned_to ) { + function category_update( $p_category_id, $p_name, $p_desc_template, $p_assigned_to ) { if( is_blank( $p_name ) ) { error_parameters( lang_get( 'category' ) ); trigger_error( ERROR_EMPTY_FIELD, ERROR ); @@ -154,9 +156,10 @@ function category_exists( $p_category_id ) { $query = "UPDATE $t_category_table SET name=" . db_param() . ', - user_id=' . db_param() . ' + user_id=' . db_param() . ', + desc_template=' . db_param() . ' WHERE id=' . db_param(); - db_query_bound( $query, array( $p_name, $c_assigned_to, $c_category_id ) ); + db_query_bound( $query, array( $p_name, $c_assigned_to, $p_desc_template, $c_category_id ) ); # Add bug history entries if we update the category's name if( $t_old_category['name'] != $p_name ) { diff --git a/lang/strings_chinese_simplified.txt b/lang/strings_chinese_simplified.txt index c4bda42..0008a67 100644 --- a/lang/strings_chinese_simplified.txt +++ b/lang/strings_chinese_simplified.txt @@ -516,6 +516,7 @@ $s_update_simple_link = '简易更新'; $s_updating_bug_advanced_title = '正在更新问题信息'; $s_id = '编号'; $s_category = '分类'; +$s_category_desc_template = '描述模板'; $s_severity = '严重性'; $s_reproducibility = '出现频率'; $s_date_submitted = '报告日期'; diff --git a/lang/strings_chinese_traditional.txt b/lang/strings_chinese_traditional.txt index 2bf02e6..6ce0417 100644 --- a/lang/strings_chinese_traditional.txt +++ b/lang/strings_chinese_traditional.txt @@ -509,6 +509,7 @@ $s_update_simple_link = '簡易更新'; $s_updating_bug_advanced_title = '更新問題資訊'; $s_id = '編號'; $s_category = '類別'; +$s_category_desc_template='描述模板' $s_severity = '嚴重性'; $s_reproducibility = '出現頻率'; $s_date_submitted = '回報日期'; diff --git a/lang/strings_english.txt b/lang/strings_english.txt index c14081b..3215386 100644 --- a/lang/strings_english.txt +++ b/lang/strings_english.txt @@ -634,6 +634,7 @@ $s_steps_to_reproduce = 'Steps To Reproduce'; $s_update_information_button = 'Update Information'; $s_sticky_issue = 'Sticky Issue'; $s_profile = 'Profile'; +$s_category_desc_template = 'Description Template'; # bug_update_page.php $s_updating_bug_simple_title = 'Updating Issue Information'; diff --git a/manage_proj_cat_add.php b/manage_proj_cat_add.php index 455651b..c900656 100644 --- a/manage_proj_cat_add.php +++ b/manage_proj_cat_add.php @@ -33,6 +33,7 @@ $f_project_id = gpc_get_int( 'project_id' ); $f_name = gpc_get_string( 'name' ); + $f_desc_template = gpc_get_string('desc_template'); access_ensure_project_level( config_get( 'manage_project_threshold' ), $f_project_id ); @@ -51,7 +52,7 @@ $t_name = trim( $t_name ); if ( category_is_unique( $f_project_id, $t_name ) ) { - category_add( $f_project_id, $t_name ); + category_add( $f_project_id, $t_name, $f_desc_template ); } else if ( 1 == $t_category_count ) { # We only error out on duplicates when a single value was # given. If multiple values were given, we just add the diff --git a/manage_proj_cat_edit_page.php b/manage_proj_cat_edit_page.php index 08b320e..1a761bb 100644 --- a/manage_proj_cat_edit_page.php +++ b/manage_proj_cat_edit_page.php @@ -36,6 +36,7 @@ $t_assigned_to = $t_row['user_id']; $t_project_id = $t_row['project_id']; $t_name = $t_row['name']; + $t_desc_template = $t_row['desc_template']; access_ensure_project_level( config_get( 'manage_project_threshold' ), $t_project_id ); @@ -66,6 +67,14 @@ > + + + + + + +> + diff --git a/manage_proj_edit_page.php b/manage_proj_edit_page.php index fd23a15..acd8b41 100644 --- a/manage_proj_edit_page.php +++ b/manage_proj_edit_page.php @@ -379,6 +379,7 @@ if ( access_has_global_level ( config_get( 'delete_project_threshold' ) ) ) { ?> + diff --git a/manage_proj_page.php b/manage_proj_page.php index dd333e8..7468d2a 100644 --- a/manage_proj_page.php +++ b/manage_proj_page.php @@ -221,7 +221,16 @@
- +
+
+
+ +
+
+
+ +
+
-- 1.7.10.2 (Apple Git-33) From f6e6cd9824e6e18e43156f353417029df13e54d4 Mon Sep 17 00:00:00 2001 From: Kenson Man Date: Mon, 3 Jun 2013 16:23:25 +0800 Subject: [PATCH 3/6] Alter the manipulation api of category, and also update the layout --- api/soap/mc_project_api.php | 3 ++- core/category_api.php | 23 +++++++++++++++++++++++ manage_proj_cat_update.php | 3 ++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/api/soap/mc_project_api.php b/api/soap/mc_project_api.php index 6dd29f5..bd61315 100644 --- a/api/soap/mc_project_api.php +++ b/api/soap/mc_project_api.php @@ -272,9 +272,10 @@ function mc_project_rename_category_by_name( $p_username, $p_password, $p_projec // find the id of the category $p_category_id = category_get_id_by_name( $p_category_name, $p_project_id ); + $p_desc_template = category_get_field( $p_category_id, 'desc_template'); // update the category - return category_update( $p_category_id, $p_category_name_new, $p_assigned_to ); + return category_update( $p_category_id, $p_category_name_new, $p_desc_template, $p_assigned_to ); } /** diff --git a/core/category_api.php b/core/category_api.php index dfd6e84..85f6e96 100644 --- a/core/category_api.php +++ b/core/category_api.php @@ -610,3 +610,26 @@ function category_full_name( $p_category_id, $p_show_project = true, $p_current_ return $t_row['name']; } } + +/** + * Retrieve the desc_template according to the category-id + */ +function category_get_desc_template_by_id( $p_category_name, $p_project_id, $p_trigger_errors = true ){ + $t_category_table = db_get_table( 'mantis_category_table' ); + $t_project_name = project_get_name( $p_project_id ); + + $t_query = "SELECT desc_template FROM $t_category_table + WHERE name=" . db_param() . " AND project_id=" . db_param(); + $t_result = db_query_bound( $t_query, array( $p_category_name, (int) $p_project_id ) ); + $t_count = db_num_rows( $t_result ); + if( 1 > $t_count ) { + if( $p_trigger_errors ) { + error_parameters( $p_category_name, $t_project_name ); + trigger_error( ERROR_CATEGORY_NOT_FOUND_FOR_PROJECT, ERROR ); + } else { + return false; + } + } + + return db_result( $t_result ); +} diff --git a/manage_proj_cat_update.php b/manage_proj_cat_update.php index 7d80b9e..7421ebe 100644 --- a/manage_proj_cat_update.php +++ b/manage_proj_cat_update.php @@ -35,6 +35,7 @@ $f_project_id = gpc_get_int( 'project_id', ALL_PROJECTS ); $f_name = trim( gpc_get_string( 'name' ) ); $f_assigned_to = gpc_get_int( 'assigned_to', 0 ); + $f_desc_template = trim(gpc_get_string('desc_template')); access_ensure_project_level( config_get( 'manage_project_threshold' ), $f_project_id ); @@ -51,7 +52,7 @@ category_ensure_unique( $t_project_id, $f_name ); } - category_update( $f_category_id, $f_name, $f_assigned_to ); + category_update( $f_category_id, $f_name, $f_desc_template, $f_assigned_to ); form_security_purge( 'manage_proj_cat_update' ); -- 1.7.10.2 (Apple Git-33) From c3f44f3233f3e80b13c06f7d00daaf9d236f9c09 Mon Sep 17 00:00:00 2001 From: Kenson Man Date: Mon, 3 Jun 2013 17:35:42 +0800 Subject: [PATCH 4/6] Add the javascript for the desc-template --- bug_report_page.php | 14 ++++++++++++-- core/print_api.php | 20 ++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/bug_report_page.php b/bug_report_page.php index f7cfdff..b1622da 100644 --- a/bug_report_page.php +++ b/bug_report_page.php @@ -197,7 +197,7 @@ project_id, 'name' ) . "] "; } ?> - id="categoryIdFld" name="category_id" onchange="category_id_changed(this.options.selectedIndex)"> @@ -480,7 +480,8 @@ * - + + @@ -623,6 +624,15 @@ window.document.report_bug_form.category_id.focus(); --> + + . + * It will be used when the category field has been changed, the description content will be replaced by the text of those
tag. + * @param p_project_id int The project id + */ +function print_category_desc_templates ($p_project_id = null){ + if( null === $p_project_id ) { + $t_project_id = helper_get_current_project(); + } else { + $t_project_id = $p_project_id; + } + $cat_arr = category_get_all_rows( $t_project_id, null, true ); + + foreach( $cat_arr as $t_category_row ) { + $t_category_id = $t_category_row['id']; + echo "
"; + echo $t_category_row['desc_template'] . '
'; + } +} + +/** * Now that categories are identified by numerical ID, we need an old-style name * based option list to keep existing filter functionality. * @param string $p_category_name The selected category -- 1.7.10.2 (Apple Git-33) From 645604df4f32be6e84ffd9f8731c7d7a909e23df Mon Sep 17 00:00:00 2001 From: Kenson Man Date: Mon, 3 Jun 2013 18:07:08 +0800 Subject: [PATCH 5/6] Configuration support for "use_desc_template" --- bug_report_page.php | 5 +++-- manage_proj_cat_edit_page.php | 3 ++- manage_proj_page.php | 5 ++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/bug_report_page.php b/bug_report_page.php index b1622da..dab9f6b 100644 --- a/bug_report_page.php +++ b/bug_report_page.php @@ -481,7 +481,7 @@ - + @@ -625,6 +625,7 @@ --> + -" /> + > @@ -72,7 +73,7 @@ - + > diff --git a/manage_proj_page.php b/manage_proj_page.php index 7468d2a..cae8822 100644 --- a/manage_proj_page.php +++ b/manage_proj_page.php @@ -223,13 +223,16 @@
-
+ +
+
+
-- 1.7.10.2 (Apple Git-33) From a96c885308d3fba00a482a97627812ad5261666e Mon Sep 17 00:00:00 2001 From: Kenson Man Date: Mon, 3 Jun 2013 22:08:52 +0800 Subject: [PATCH 6/6] Addiontal Information Template support --- admin/schema.php | 6 +++-- api/soap/mc_project_api.php | 3 ++- bug_report_page.php | 18 ++++++++++----- core/category_api.php | 40 ++++++++++++++++++++++++++++------ core/print_api.php | 20 +++++++++++++++++ lang/strings_chinese_simplified.txt | 1 + lang/strings_chinese_traditional.txt | 3 ++- lang/strings_english.txt | 1 + manage_proj_cat_add.php | 3 ++- manage_proj_cat_edit_page.php | 10 +++++++++ manage_proj_cat_update.php | 3 ++- manage_proj_edit_page.php | 3 ++- manage_proj_page.php | 9 +++++++- 13 files changed, 100 insertions(+), 20 deletions(-) diff --git a/admin/schema.php b/admin/schema.php index ac8a1a0..ede823b 100644 --- a/admin/schema.php +++ b/admin/schema.php @@ -199,7 +199,8 @@ $upgrade[] = Array('CreateTableSQL',Array(db_get_table('mantis_project_category_ project_id I UNSIGNED NOTNULL PRIMARY DEFAULT '0', category C(64) NOTNULL PRIMARY DEFAULT \" '' \", user_id I UNSIGNED NOTNULL DEFAULT '0', - desc_template C(250) NOTNULL DEFAULT \" '' \" + desc_template C(250) NOTNULL DEFAULT \" '' \", + addi_template C(250) NOTNULL DEFAULT \" '' \" ",Array('mysql' => 'ENGINE=MyISAM DEFAULT CHARSET=utf8', 'pgsql' => 'WITHOUT OIDS'))); $upgrade[] = Array('CreateTableSQL',Array(db_get_table('mantis_project_file_table')," id I UNSIGNED NOTNULL PRIMARY AUTOINCREMENT, @@ -399,7 +400,8 @@ $upgrade[] = Array( 'CreateTableSQL', Array( db_get_table( 'mantis_category_tabl user_id I UNSIGNED NOTNULL DEFAULT '0', name C(128) NOTNULL DEFAULT \" '' \", status I UNSIGNED NOTNULL DEFAULT '0', - desc_template C(256) NOTNULL DEFAULT \" '' \" + desc_template C(256) NOTNULL DEFAULT \" '' \", + addi_template C(256) NOTNULL DEFAULT \" '' \" ", Array( 'mysql' => 'ENGINE=MyISAM DEFAULT CHARSET=utf8', 'pgsql' => 'WITHOUT OIDS' ) ) ); $upgrade[] = Array( 'CreateIndexSQL', Array( 'idx_category_project_name', db_get_table( 'mantis_category_table' ), 'project_id, name', array( 'UNIQUE' ) ) ); $upgrade[] = Array( 'InsertData', Array( db_get_table( 'mantis_category_table' ), " diff --git a/api/soap/mc_project_api.php b/api/soap/mc_project_api.php index bd61315..53fc406 100644 --- a/api/soap/mc_project_api.php +++ b/api/soap/mc_project_api.php @@ -273,9 +273,10 @@ function mc_project_rename_category_by_name( $p_username, $p_password, $p_projec // find the id of the category $p_category_id = category_get_id_by_name( $p_category_name, $p_project_id ); $p_desc_template = category_get_field( $p_category_id, 'desc_template'); + $p_addi_template = category_get_field( $p_category_id, 'addi_template'); // update the category - return category_update( $p_category_id, $p_category_name_new, $p_desc_template, $p_assigned_to ); + return category_update( $p_category_id, $p_category_name_new, $p_desc_template, $p_addi_template, $p_assigned_to ); } /** diff --git a/bug_report_page.php b/bug_report_page.php index dab9f6b..eeef6a7 100644 --- a/bug_report_page.php +++ b/bug_report_page.php @@ -502,7 +502,8 @@ - + + - + - + $t_count ) { + if( $p_trigger_errors ) { + error_parameters( $p_category_name, $t_project_name ); + trigger_error( ERROR_CATEGORY_NOT_FOUND_FOR_PROJECT, ERROR ); + } else { + return false; + } + } + + return db_result( $t_result ); +} diff --git a/core/print_api.php b/core/print_api.php index 1903b29..762173c 100644 --- a/core/print_api.php +++ b/core/print_api.php @@ -738,6 +738,26 @@ function print_category_desc_templates ($p_project_id = null){ } /** + * Print all available category's additional-information-template into the invisible
. + * It will be used when the category field has been changed, the addiription content will be replaced by the text of those
tag. + * @param p_project_id int The project id + */ +function print_category_addi_templates ($p_project_id = null){ + if( null === $p_project_id ) { + $t_project_id = helper_get_current_project(); + } else { + $t_project_id = $p_project_id; + } + $cat_arr = category_get_all_rows( $t_project_id, null, true ); + + foreach( $cat_arr as $t_category_row ) { + $t_category_id = $t_category_row['id']; + echo "
"; + echo $t_category_row['addi_template'] . '
'; + } +} + +/** * Now that categories are identified by numerical ID, we need an old-style name * based option list to keep existing filter functionality. * @param string $p_category_name The selected category diff --git a/lang/strings_chinese_simplified.txt b/lang/strings_chinese_simplified.txt index 0008a67..f3213c5 100644 --- a/lang/strings_chinese_simplified.txt +++ b/lang/strings_chinese_simplified.txt @@ -517,6 +517,7 @@ $s_updating_bug_advanced_title = '正在更新问题信息'; $s_id = '编号'; $s_category = '分类'; $s_category_desc_template = '描述模板'; +$s_category_addi_template = '附注模板'; $s_severity = '严重性'; $s_reproducibility = '出现频率'; $s_date_submitted = '报告日期'; diff --git a/lang/strings_chinese_traditional.txt b/lang/strings_chinese_traditional.txt index 6ce0417..94cb489 100644 --- a/lang/strings_chinese_traditional.txt +++ b/lang/strings_chinese_traditional.txt @@ -509,7 +509,8 @@ $s_update_simple_link = '簡易更新'; $s_updating_bug_advanced_title = '更新問題資訊'; $s_id = '編號'; $s_category = '類別'; -$s_category_desc_template='描述模板' +$s_category_desc_template='描述模板'; +$s_category_addi_template='附註模板'; $s_severity = '嚴重性'; $s_reproducibility = '出現頻率'; $s_date_submitted = '回報日期'; diff --git a/lang/strings_english.txt b/lang/strings_english.txt index 3215386..2ac6d91 100644 --- a/lang/strings_english.txt +++ b/lang/strings_english.txt @@ -635,6 +635,7 @@ $s_update_information_button = 'Update Information'; $s_sticky_issue = 'Sticky Issue'; $s_profile = 'Profile'; $s_category_desc_template = 'Description Template'; +$s_category_addi_template = 'Additional Information Template'; # bug_update_page.php $s_updating_bug_simple_title = 'Updating Issue Information'; diff --git a/manage_proj_cat_add.php b/manage_proj_cat_add.php index c900656..d170ddc 100644 --- a/manage_proj_cat_add.php +++ b/manage_proj_cat_add.php @@ -34,6 +34,7 @@ $f_project_id = gpc_get_int( 'project_id' ); $f_name = gpc_get_string( 'name' ); $f_desc_template = gpc_get_string('desc_template'); + $f_addi_template = gpc_get_string('addi_template'); access_ensure_project_level( config_get( 'manage_project_threshold' ), $f_project_id ); @@ -52,7 +53,7 @@ $t_name = trim( $t_name ); if ( category_is_unique( $f_project_id, $t_name ) ) { - category_add( $f_project_id, $t_name, $f_desc_template ); + category_add( $f_project_id, $t_name, $f_desc_template, $f_addi_template ); } else if ( 1 == $t_category_count ) { # We only error out on duplicates when a single value was # given. If multiple values were given, we just add the diff --git a/manage_proj_cat_edit_page.php b/manage_proj_cat_edit_page.php index fa299f0..1d8827d 100644 --- a/manage_proj_cat_edit_page.php +++ b/manage_proj_cat_edit_page.php @@ -37,6 +37,7 @@ $t_project_id = $t_row['project_id']; $t_name = $t_row['name']; $t_desc_template = $t_row['desc_template']; + $t_addi_template = $t_row['addi_template']; access_ensure_project_level( config_get( 'manage_project_threshold' ), $t_project_id ); @@ -74,6 +75,15 @@ + +> + + + + + + + > diff --git a/manage_proj_cat_update.php b/manage_proj_cat_update.php index 7421ebe..54d2bbe 100644 --- a/manage_proj_cat_update.php +++ b/manage_proj_cat_update.php @@ -36,6 +36,7 @@ $f_name = trim( gpc_get_string( 'name' ) ); $f_assigned_to = gpc_get_int( 'assigned_to', 0 ); $f_desc_template = trim(gpc_get_string('desc_template')); + $f_addi_template = trim(gpc_get_string('addi_template')); access_ensure_project_level( config_get( 'manage_project_threshold' ), $f_project_id ); @@ -52,7 +53,7 @@ category_ensure_unique( $t_project_id, $f_name ); } - category_update( $f_category_id, $f_name, $f_desc_template, $f_assigned_to ); + category_update( $f_category_id, $f_name, $f_desc_template, $f_addi_template, $f_assigned_to ); form_security_purge( 'manage_proj_cat_update' ); diff --git a/manage_proj_edit_page.php b/manage_proj_edit_page.php index acd8b41..191bc9a 100644 --- a/manage_proj_edit_page.php +++ b/manage_proj_edit_page.php @@ -379,7 +379,8 @@ if ( access_has_global_level ( config_get( 'delete_project_threshold' ) ) ) { ?> - + + diff --git a/manage_proj_page.php b/manage_proj_page.php index cae8822..83ec6c5 100644 --- a/manage_proj_page.php +++ b/manage_proj_page.php @@ -223,8 +223,9 @@
- +
+
@@ -233,6 +234,12 @@
+ +
+
+ +
+
-- 1.7.10.2 (Apple Git-33)