File: access_box.vsp

package info (click to toggle)
virtuoso-opensource 7.2.5.1%2Bdfsg1-0.3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 285,240 kB
  • sloc: ansic: 641,220; sql: 490,413; xml: 269,570; java: 83,893; javascript: 79,900; cpp: 36,927; sh: 31,653; cs: 25,702; php: 12,690; yacc: 10,227; lex: 7,601; makefile: 7,129; jsp: 4,523; awk: 1,697; perl: 1,013; ruby: 1,003; python: 326
file content (56 lines) | stat: -rw-r--r-- 1,892 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?vsp
  declare url, sid, token, ticket, auth_token, display_name varchar;
  declare result, resultHeader any;

  auth_token := null;
  token := ODS.ODS_API.get_oauth_tok ('Box Net API');
  if ({?'auth_token'} is not null)
  {
    auth_token := get_keyword ('auth_token', params);
    ticket := get_keyword ('ticket', params);
    url := sprintf ('https://www.box.com/api/1.0/rest?action=get_auth_token&api_key=%s&ticket=%s', token, ticket);
    result := http_client_ext (url=>url, http_method=>'GET', headers=>resultHeader, n_redirects=>15);
    result := xtree_doc (result);
    if (cast (xpath_eval ('string (/response/status)', result, 1) as varchar) <> 'get_auth_token_ok')
      return;

    auth_token := xpath_eval ('string (/response/auth_token)', result, 1);
    display_name := xpath_eval ('string (/response/user/login)', result, 1);;
    -- person := http_get (url);
  }
  else
  {
    url := sprintf ('https://www.box.com/api/1.0/rest?action=get_ticket&api_key=%s', token);
    result := http_client_ext (url=>url, http_method=>'GET', headers=>resultHeader, n_redirects=>15);
    result := xtree_doc (result);
    if (cast (xpath_eval ('string (/response/status)', result, 1) as varchar) <> 'get_ticket_ok')
      return;

    ticket := xpath_eval ('string (/response/ticket)', result, 1);
    url := sprintf ('https://www.box.com/api/1.0/auth/%s', ticket);
    http_status_set (302);
    http_header (sprintf ('Location: %s\r\n', url));
    return;
  }
?>
<html>
  <head>
  </head>
  <body>
    <?vsp
    if (auth_token is not null)
    {
    ?>
    <script type="text/javascript">
      if (window.opener && window.opener.open && !window.opener.closed) {
        window.opener.ODRIVE.boxParams('<?V auth_token ?>', '<?V display_name ?>');
      } else {
        alert ('Opener not found');
      }
      window.close();
    </script>
    <?vsp
    }
    ?>
  </body>
</html>