/* * Created by PyramIDE. * User: フランスのトトロ aka (David RENÉ) * Date: 17/02/2017 * Time: 17:18 * © David RENÉ */ read system/convert.anubis read system/muscle.anubis read xlib/database/db_types.anubis transmit types/web_session.anubis transmit xlib/generic/session.anubis read CXM_common.anubis read CXM_web_dump.anubis reserved fields keywords "AWS" String "AWS_CURRENT_PAGE_TITLE" String current web page title "AWS_CURRENT_APP" String current web application "AWS_CURRENT_SPACE" String current web space in application "AWS_PAGE_RENDERER" String current //"AWS_CURRENT_LEFT_MENU" Left_Menu current left menu on the page //"AWS_CURRENT_MENU" Menu current menu, on the top of the page *----------------------------------------------------------------* public define String get_new_session_id = with session_id = (now, (Word32)virtual_machine_id), to_ascii(sha1(session_id)) . public define WEB_Session to_WEB_Session ( WEB_Session_No_Var _session )= since _session is web_session(id, language, fields, c_web_request, p_web_request, d_web_request), web_session(id, language, to_Session_Field(fields), web_request(c_web_request.http_info, var(c_web_request.lwa), c_web_request.is_https), web_request(p_web_request.http_info, var(p_web_request.lwa), p_web_request.is_https), web_request(d_web_request.http_info, var(d_web_request.lwa), d_web_request.is_https), ) . public define WEB_Session_No_Var to_WEB_Session_No_Var ( WEB_Session _session )= since _session is web_session(id, language, fields, c_web_request, p_web_request, d_web_request), web_session(id, language, to_Session_Field_No_Var(*fields), web_request(c_web_request.http_info, *c_web_request.lwa, c_web_request.is_https), web_request(p_web_request.http_info, *p_web_request.lwa, p_web_request.is_https), web_request(d_web_request.http_info, *d_web_request.lwa, d_web_request.is_https), ) . /************************************************/ "AWS_CURRENT_PAGE_TITLE" String current web page title "AWS_CURRENT_APP" String current web application "AWS_CURRENT_SPACE" String current web space in application "AWS_CURRENT_CONTENT" String current in the web space "AWS_CURRENT_PAGE_RENDERER" String current page renderer public define One set_web_app(WEB_Session s, String n) = replace_String(s.fields, "AWS_CURRENT_APP", n). public define One set_web_app(Var(List(Session_Field)) fields, String n) = replace_String(fields, "AWS_CURRENT_APP", n). public define String get_web_app(WEB_Session s) = get_String (s.fields, "AWS_CURRENT_APP", ""). public define One set_web_space(WEB_Session s, String n)= replace_String(s.fields, "AWS_CURRENT_SPACE", n). public define One set_web_space(Var(List(Session_Field)) fields, String n)= replace_String(fields, "AWS_CURRENT_SPACE", n). public define String get_web_space(WEB_Session s) = get_String (s.fields, "AWS_CURRENT_SPACE", ""). public define One set_web_content(WEB_Session s, String n)= replace_String(s.fields, "AWS_CURRENT_CONTENT", n). public define One set_web_content(Var(List(Session_Field)) fields, String n)= replace_String(fields, "AWS_CURRENT_CONTENT", n). public define String get_web_content(WEB_Session s) = get_String (s.fields, "AWS_CURRENT_CONTENT", ""). public define One set_page_title(WEB_Session s, String n)= replace_String(s.fields, "AWS_CURRENT_PAGE_TITLE", n). public define One set_page_title(Var(List(Session_Field)) fields, String n)= replace_String(fields, "AWS_CURRENT_PAGE_TITLE", n). public define String get_page_title(WEB_Session s) = get_String (s.fields, "AWS_CURRENT_PAGE_TITLE", ""). public define One set_renderer(WEB_Session s, String n) = replace_String(s.fields, "AWS_CURRENT_PAGE_RENDERER", n). public define One set_renderer(Var(List(Session_Field)) fields, String n) = replace_String(fields, "AWS_CURRENT_PAGE_RENDERER", n). public define String get_renderer(WEB_Session s) = get_String (s.fields, "AWS_CURRENT_PAGE_RENDERER", ""). public define String dump_WEB_Session_Fields ( List(Session_Field) _fields, String indent )= "\n"+ indent+"-- BEGIN Fields of Session:---------------- \n"+ join("\n", map((Session_Field _field) |-> dump_Session_Field(_field, indent), _fields))+ "\n"+indent+"-- END Fields of Session:---------------- \n" . public define String dump_WEB_Session_Fields ( Var(List(Session_Field)) _fields, String indent )= dump_WEB_Session_Fields(*_fields, indent) . *---------------------- DUMP ------------------* String language, List(WEB_Session_Field) fields, WEB_Request web_request, WEB_Request previous_web_request public define String dump ( WEB_Session _session )= since _session is web_session(id, language, fields, web_request, previous_web_request, draw_web_request), "WEB Session Dump: \n"+ "----------------- \n"+ "Session ID : ["+id+"]\n"+ "Language : ["+language+"]\n\n"+ dump_WEB_Session_Fields(*fields, "")+ "-----------------------------------------------------------------------------\n"+ "Current WEB REQUEST:\n"+ "-----------------------------------------------------------------------------\n"+ "http_info:\n"+ dump_http_info(web_request.http_info)+"\n"+ "web arguments:"+ dump_web_arg_values(*web_request.lwa)+"\n\n"+ "-----------------------------------------------------------------------------\n"+ "Previous WEB REQUEST:\n"+ "-----------------------------------------------------------------------------\n"+ "is https "+to_String(previous_web_request.is_https)+"\n"+ "http_info:\n"+ dump_http_info(previous_web_request.http_info)+"\n"+ "web arguments:"+ dump_web_arg_values(*previous_web_request.lwa)+"\n\n"+ "-----------------------------------------------------------------------------\n"+ "Draw WEB REQUEST:\n"+ "-----------------------------------------------------------------------------\n"+ "is https "+to_String(draw_web_request.is_https)+"\n"+ "http_info:\n"+ dump_http_info(draw_web_request.http_info)+"\n"+ "web arguments:"+ dump_web_arg_values(*draw_web_request.lwa)+"\n" .