1:- module(ag_preferences, []). 2
3:- use_module(library(http/http_session)). 4:- use_module(library(semweb/rdf_db)). 5:- use_module(library(settings)). 6:- use_module(cliopatria(hooks)). 7:- use_module(user(user_db)). 8
9:- rdf_meta
10 cliopatria:user_preference_db(r,o),
11 cliopatria:user_preference_default(r,o),
12 set_user_preferences(r,o). 13
14:- if(current_setting(user:lang)). 16:- else. 17:- setting(user:lang, atom, en, 'Preferred language'). 18:- endif. 19
20
32cliopatria:user_preference_db(Property, Value) :-
33 http_in_session(_),
34 logged_on(User, anonymous),
35 http_session_data(rdf(User, Property, Value)).
43cliopatria:user_preference_default(Prop, literal(Value)) :-
44 rdf_equal(Prop, user:lang),
45 setting(user:lang, Value)