Commit 00f5906e68d6bdd097e36452739ba76613d8dd4d

Authored by Julien Verneuil
1 parent 454773bb

add foreign link "jqflink" to JQuery_Actioner_type

add missing "make_state_cookie_headers" call if no actions are specified
Showing 2 changed files with 24 additions and 10 deletions   Show diff stats
web/CXM_jquery.anubis
@@ -14,6 +14,7 @@ read tools/basis.anubis @@ -14,6 +14,7 @@ read tools/basis.anubis
14 public type JQuery_Actioner_type: 14 public type JQuery_Actioner_type:
15 jqform, 15 jqform,
16 jqlink, 16 jqlink,
  17 + jqflink,
17 jqscript. 18 jqscript.
18 19
19 /* jQuery Actioner */ 20 /* jQuery Actioner */
@@ -71,6 +72,7 @@ public define String @@ -71,6 +72,7 @@ public define String
71 { 72 {
72 jqform then "$('#"+str+"').submit();", 73 jqform then "$('#"+str+"').submit();",
73 jqlink then "document.location='/?a="+str+"';", 74 jqlink then "document.location='/?a="+str+"';",
  75 + jqflink then "document.location='"+str+"';",
74 jqscript then str 76 jqscript then str
75 }, 77 },
76 same(label) then 78 same(label) then
@@ -78,6 +80,7 @@ public define String @@ -78,6 +80,7 @@ public define String
78 { 80 {
79 jqform then "$('#"+str+"').submit();", 81 jqform then "$('#"+str+"').submit();",
80 jqlink then "document.location='/?a="+str+"';", 82 jqlink then "document.location='/?a="+str+"';",
  83 + jqflink then "document.location='"+str+"';",
81 jqscript then str 84 jqscript then str
82 }, 85 },
83 other(window_name, window_options) then 86 other(window_name, window_options) then
@@ -85,6 +88,7 @@ public define String @@ -85,6 +88,7 @@ public define String
85 { 88 {
86 jqform then "$('#"+str+"').submit();", //il s'agit d'une soumision d'un formulaire => cela se fait uniquement dans la même fenêtre ! 89 jqform then "$('#"+str+"').submit();", //il s'agit d'une soumision d'un formulaire => cela se fait uniquement dans la même fenêtre !
87 jqlink then "window.open('"+str+"', '"+window_name+"', '"+jquery_button_get_onclick_action_window_options(window_options, "")+"');", 90 jqlink then "window.open('"+str+"', '"+window_name+"', '"+jquery_button_get_onclick_action_window_options(window_options, "")+"');",
  91 + jqflink then "document.location='"+str+"';",
88 jqscript then str 92 jqscript then str
89 } 93 }
90 }. 94 }.
web/CXM_making_a_web_site.anubis
@@ -2004,7 +2004,8 @@ define ($State s) -> String // the function constructed returns the name of t @@ -2004,7 +2004,8 @@ define ($State s) -> String // the function constructed returns the name of t
2004 ($State s) |-> 2004 ($State s) |->
2005 with time_stamp = now+timeout, 2005 with time_stamp = now+timeout,
2006 to_be_saved = (time_stamp,s), 2006 to_be_saved = (time_stamp,s),
2007 - state_name = web_arg_encode(sha1(s)), 2007 + state_name = to_ascii(sha1(s)),
  2008 + //println("make_save_state_function " + state_directory+"/s"+state_name);
2008 if save(to_be_saved,state_directory+"/s"+state_name) is ok 2009 if save(to_be_saved,state_directory+"/s"+state_name) is ok
2009 then state_name 2010 then state_name
2010 else (print("Cannot create state file in '"+state_directory+"'.\n"); ""). 2011 else (print("Cannot create state file in '"+state_directory+"'.\n"); "").
@@ -2292,8 +2293,13 @@ define (List(Web_arg) lwa, HTTP_Info info) -> Separated_Web_Args($State) @@ -2292,8 +2293,13 @@ define (List(Web_arg) lwa, HTTP_Info info) -> Separated_Web_Args($State)
2292 //println("find_cookie(\"state_"+website_name+"\", ..."); 2293 //println("find_cookie(\"state_"+website_name+"\", ...");
2293 if find_cookie("state_"+website_name, server_get_cookies(http_headers(info))) is 2294 if find_cookie("state_"+website_name, server_get_cookies(http_headers(info))) is
2294 { 2295 {
2295 - failure then swa(not_found,failure,[]),  
2296 - success(cookie) then swa(retrieve_state(value(cookie)),failure,[]) 2296 + failure then
  2297 + /*println("find_cookie(\"state_"+website_name+"\" failure");*/
  2298 + swa(not_found,failure,[]),
  2299 +
  2300 + success(cookie) then
  2301 + /*println("find_cookie(\"state_"+website_name+"\" success");*/
  2302 + swa(retrieve_state(value(cookie)),failure,[])
2297 }, 2303 },
2298 2304
2299 //swa(failure,failure,[]), 2305 //swa(failure,failure,[]),
@@ -2474,6 +2480,7 @@ define List(HTTP_header) @@ -2474,6 +2480,7 @@ define List(HTTP_header)
2474 String state_name 2480 String state_name
2475 ) 2481 )
2476 = 2482 =
  2483 + //println("Set-Cookie state_"+website_name+"="+state_name);
2477 [ 2484 [
2478 http_header("Set-Cookie", "state_"+website_name+"="+state_name) 2485 http_header("Set-Cookie", "state_"+website_name+"="+state_name)
2479 ] 2486 ]
@@ -2553,9 +2560,11 @@ public define Web_Site @@ -2553,9 +2560,11 @@ public define Web_Site
2553 }, 2560 },
2554 2561
2555 out_of_date(state) then 2562 out_of_date(state) then
  2563 + //println("out_of_date");
2556 ticket_expired_state(state, mb_action_name, http_info,operands,is_https), 2564 ticket_expired_state(state, mb_action_name, http_info,operands,is_https),
2557 2565
2558 still_valid(state) then 2566 still_valid(state) then
  2567 + //println("still_valid");
2559 if mb_action_name is 2568 if mb_action_name is
2560 { 2569 {
2561 failure then state, 2570 failure then state,
@@ -2568,14 +2577,15 @@ public define Web_Site @@ -2568,14 +2577,15 @@ public define Web_Site
2568 //println("Cookie new STATE NAME "+state_name); 2577 //println("Cookie new STATE NAME "+state_name);
2569 with cookie_headers = if mb_action_name is 2578 with cookie_headers = if mb_action_name is
2570 { 2579 {
2571 - failure then [], 2580 + failure then
  2581 + make_state_cookie_headers(website_name, state_name),
2572 success(action_name) then 2582 success(action_name) then
2573 - if action_name = "none" then  
2574 - []  
2575 - else if substr(action_name, 0, 5)="ajax_" then  
2576 - []  
2577 - else  
2578 - make_state_cookie_headers(website_name, state_name) 2583 + if action_name = "none" then
  2584 + []
  2585 + else if substr(action_name, 0, 5)="ajax_" then
  2586 + []
  2587 + else
  2588 + make_state_cookie_headers(website_name, state_name)
2579 }, 2589 },
2580 2590
2581 format(info(host_name, http_port, https_port, site_directory, secret), 2591 format(info(host_name, http_port, https_port, site_directory, secret),