Пример #1
0
/**
 * perform an insert of a preference object into the DB
 * @param int $p_user_id
 * @param int $p_project_id
 * @param UserPreferences $p_prefs
 * @return true
 */
function user_pref_insert( $p_user_id, $p_project_id, $p_prefs ) {
	static $t_vars;
	$c_user_id = db_prepare_int( $p_user_id );
	$c_project_id = db_prepare_int( $p_project_id );

	user_ensure_unprotected( $p_user_id );

	$t_user_pref_table = db_get_table( 'user_pref' );

	if ($t_vars == null ) {
		$t_vars = getClassProperties( 'UserPreferences', 'protected');
	}

	$t_values = array();

	$t_params[] = db_param(); // user_id
	$t_values[] = $c_user_id;
	$t_params[] = db_param(); // project_id
	$t_values[] = $c_project_id;
	foreach( $t_vars as $var => $val ) {
		array_push( $t_params, db_param());
		array_push( $t_values, $p_prefs->Get( $var ) );
	}

	$t_vars_string = implode( ', ', array_keys( $t_vars ) );
	$t_params_string = implode( ',', $t_params );

	$query = 'INSERT INTO ' . $t_user_pref_table .
			 ' (user_id, project_id, ' . $t_vars_string . ') ' .
			 ' VALUES ( ' . $t_params_string . ')';
	db_query_bound( $query, $t_values  );

	# db_query errors on failure so:
	return true;
}
Пример #2
0
/**
 * perform an insert of a preference object into the DB
 * @param integer         $p_user_id    A valid user identifier.
 * @param integer         $p_project_id A valid project identifier.
 * @param UserPreferences $p_prefs      An UserPrefences Object.
 * @return boolean
 */
function user_pref_insert($p_user_id, $p_project_id, UserPreferences $p_prefs)
{
    static $s_vars;
    $c_user_id = (int) $p_user_id;
    $c_project_id = (int) $p_project_id;
    user_ensure_unprotected($p_user_id);
    if ($s_vars == null) {
        $s_vars = getClassProperties('UserPreferences', 'protected');
    }
    $t_values = array();
    $t_params[] = db_param();
    # user_id
    $t_values[] = $c_user_id;
    $t_params[] = db_param();
    # project_id
    $t_values[] = $c_project_id;
    foreach ($s_vars as $t_var => $t_val) {
        array_push($t_params, db_param());
        array_push($t_values, $p_prefs->Get($t_var));
    }
    $t_vars_string = implode(', ', array_keys($s_vars));
    $t_params_string = implode(',', $t_params);
    $t_query = 'INSERT INTO {user_pref}
			  (user_id, project_id, ' . $t_vars_string . ') VALUES ( ' . $t_params_string . ')';
    db_query($t_query, $t_values);
    return true;
}