Example #1
0
/**
 * 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;
}
Example #2
0
/**
 * 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;
}
Example #3
0
/**
 * 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;
}