/** * Update a tag with given name, creator, and description. * @param integer Tag ID * @param string Tag name * @param integer User ID * @param string Description */ function tag_update($p_tag_id, $p_name, $p_user_id, $p_description) { user_ensure_exists($p_user_id); if (auth_get_current_user_id() == tag_get_field($p_tag_id, 'user_id')) { $t_update_level = config_get('tag_edit_own_threshold'); } else { $t_update_level = config_get('tag_edit_threshold'); } access_ensure_global_level($t_update_level); tag_ensure_name_is_valid($p_name); $t_tag_name = tag_get_field($p_tag_id, 'name'); $t_rename = false; if (strtolower($p_name) != strtolower($t_tag_name)) { tag_ensure_unique($p_name); $t_rename = true; } $c_tag_id = trim(db_prepare_int($p_tag_id)); $c_user_id = db_prepare_string($p_user_id); $c_name = db_prepare_string($p_name); $c_description = db_prepare_string($p_description); $c_date_updated = db_now(); $t_tag_table = config_get('mantis_tag_table'); $query = "UPDATE {$t_tag_table}\r\n\t\t\t\t\tSET user_id='{$c_user_id}',\r\n\t\t\t\t\t\tname='{$c_name}',\r\n\t\t\t\t\t\tdescription='{$c_description}',\r\n\t\t\t\t\t\tdate_updated=" . $c_date_updated . "\r\n\t\t\t\t\tWHERE id='{$c_tag_id}'"; db_query($query); if ($t_rename) { $t_bugs = tag_get_bugs_attached($p_tag_id); foreach ($t_bugs as $t_bug_id) { history_log_event_special($t_bug_id, TAG_RENAMED, $t_tag_name, $c_name); } } return true; }
/** * Update a tag with given name, creator, and description. * @param integer Tag ID * @param string Tag name * @param integer User ID * @param string Description */ function tag_update($p_tag_id, $p_name, $p_user_id, $p_description) { user_ensure_exists($p_user_id); if (auth_get_current_user_id() == tag_get_field($p_tag_id, 'user_id')) { $t_update_level = config_get('tag_edit_own_threshold'); } else { $t_update_level = config_get('tag_edit_threshold'); } access_ensure_global_level($t_update_level); tag_ensure_name_is_valid($p_name); $t_tag_name = tag_get_field($p_tag_id, 'name'); $t_rename = false; if (utf8_strtolower($p_name) != utf8_strtolower($t_tag_name)) { tag_ensure_unique($p_name); $t_rename = true; } $c_tag_id = trim(db_prepare_int($p_tag_id)); $c_date_updated = db_now(); $t_tag_table = db_get_table('tag'); $query = "UPDATE {$t_tag_table}\n\t\t\t\t\tSET user_id=" . db_param() . ",\n\t\t\t\t\t\tname=" . db_param() . ",\n\t\t\t\t\t\tdescription=" . db_param() . ",\n\t\t\t\t\t\tdate_updated=" . db_param() . "\n\t\t\t\t\tWHERE id=" . db_param(); db_query_bound($query, array((int) $p_user_id, $p_name, $p_description, $c_date_updated, $c_tag_id)); if ($t_rename) { $t_bugs = tag_get_bugs_attached($p_tag_id); foreach ($t_bugs as $t_bug_id) { history_log_event_special($t_bug_id, TAG_RENAMED, $t_tag_name, $p_name); } } return true; }
/** * Update a tag with given name, creator, and description. * @param integer $p_tag_id The tag ID which is being updated. * @param string $p_name The name of the tag. * @param integer $p_user_id The user ID to set when updating the tag. Note: This replaces the existing user id. * @param string $p_description An updated description for the tag. * @return boolean */ function tag_update($p_tag_id, $p_name, $p_user_id, $p_description) { $t_tag_row = tag_get($p_tag_id); $t_tag_name = $t_tag_row['name']; if ($t_tag_name == $p_name && $t_tag_row['description'] == $p_description && $t_tag_row['user_id'] == $p_user_id) { # nothing has changed return true; } user_ensure_exists($p_user_id); if (auth_get_current_user_id() == $t_tag_row['user_id']) { $t_update_level = config_get('tag_edit_own_threshold'); } else { $t_update_level = config_get('tag_edit_threshold'); } access_ensure_global_level($t_update_level); tag_ensure_name_is_valid($p_name); $t_rename = false; if (utf8_strtolower($p_name) != utf8_strtolower($t_tag_name)) { tag_ensure_unique($p_name); $t_rename = true; } $c_date_updated = db_now(); $t_query = 'UPDATE {tag} SET user_id=' . db_param() . ', name=' . db_param() . ', description=' . db_param() . ', date_updated=' . db_param() . ' WHERE id=' . db_param(); db_query($t_query, array((int) $p_user_id, $p_name, $p_description, $c_date_updated, $p_tag_id)); if ($t_rename) { $t_bugs = tag_get_bugs_attached($p_tag_id); foreach ($t_bugs as $t_bug_id) { history_log_event_special($t_bug_id, TAG_RENAMED, $t_tag_name, $p_name); } } return true; }