/** * 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; }
/** * 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; }