File: fb_popup.vspx

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 (116 lines) | stat: -rw-r--r-- 4,450 bytes parent folder | download | duplicates (2)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0"?>
<!--
 -
 -  $Id$
 -
 -  This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
 -  project.
 -
 -  Copyright (C) 1998-2018 OpenLink Software
 -
 -  This project is free software; you can redistribute it and/or modify it
 -  under the terms of the GNU General Public License as published by the
 -  Free Software Foundation; only version 2 of the License, dated June 1991.
 -
 -  This program is distributed in the hope that it will be useful, but
 -  WITHOUT ANY WARRANTY; without even the implied warranty of
 -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 -  General Public License for more details.
 -
 -  You should have received a copy of the GNU General Public License along
 -  with this program; if not, write to the Free Software Foundation, Inc.,
 -  51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 -
 -
-->
<html>
  <head>
    <link rel="stylesheet" href="default.css" type="text/css"/>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
    <title>Get FB session</title>
  </head>
  <body>
    <v:page name="fb_popup"
      fast-render="1"
      doctype="-//W3C//DTD XHTML 1.0 Transitional//EN"
      xmlns:v="http://www.openlinksw.com/vspx/"
      xmlns:xhtml="http://www.w3.org/1999/xhtml"
      xmlns:vm="http://www.openlinksw.com/vspx/macro">
      <v:variable name="pageno" default="1" type="int" />
      <v:variable name="sess" default="''" type="varchar" />
      <h1>FB permanent session generation</h1>
      <v:template type="simple" condition="not self.vc_is_valid">
	  <div class="validator_err_ctr">
	      <h2>Invalid data entered</h2>
	      <p><v:error-summary/></p>
	  </div>
      </v:template>
      <v:template condition="self.pageno = 2 and length (self.api_key.ufl_value)" type="simple">
	  <h2>In the frame below follow instructions and when one-time access code is shown enter in the form below</h2>
	  <iframe src="http://www.facebook.com/code_gen.php?v=1.0&api_key=<?U self.api_key.ufl_value ?>" height="480" width="800">
	      Your browser do not support IFRAMEs
	  </iframe>
      </v:template>
      <v:form type="simple" method="POST" action="">
	  <v:template condition="self.pageno = 1" type="simple">
	      <div>Enter your FaceBook API key:</div>
	      <label>API key</label>
	      <v:text name="api_key" value="" xhtml_size="70"/><br/>
	      <v:button action="simple" name="bt1" value="Get token">
		  <v:on-post>
		      if (not length (self.api_key.ufl_value))
		        {
			  self.vc_is_valid := 0;
			  self.vc_error_message := 'The API key is empty';
			}
	              else
                        {
		          self.pageno := 2;
			}
		  </v:on-post>
	      </v:button>
	  </v:template>

	  <v:template condition="self.pageno = 3 and self.vc_is_valid" type="simple">
	      <div>Your permanent FB session key is: <?V self.sess ?></div>
	      <div>Copy an paste the shown code in the FB RDF Mapper 'session' option, then can close this window</div>
	  </v:template>

	  <v:template condition="self.pageno = 2 and length (self.api_key.ufl_value)" type="simple">
	      <label>Authentication Token</label>
	      <v:text name="auth_key" value=""/><br/>
	      <label>Secret</label>
	      <v:text name="secret" value=""  xhtml_size="70"/><br/>
	      <v:button action="simple" name="bt" value="Generate session">
		  <v:on-post><![CDATA[
		      declare url, sig, pars, rc, auth_tok any;
		      declare myurl varchar;

		      if (length (self.auth_key.ufl_value) = 0 or length (self.secret.ufl_value) = 0)
		        {
			  self.vc_is_valid := 0;
			  self.vc_error_message := 'You must enter the token and secret';
			  return;
		        }

		      self.pageno := 3;

		      url := 'http://api.facebook.com/restserver.php?';
		      pars := 'method=facebook.auth.getSession&api_key=' || self.api_key.ufl_value ||
		      '&v=1.0&auth_token=' || self.auth_key.ufl_value;
		      sig := FB_SIG (pars, self.secret.ufl_value);
		      url := url || pars || '&sig=' || sig;
		      rc := http_get (url);
		      self.sess := xpath_eval ('string(/auth_getSession_response/session_key)', xtree_doc (rc));
		      if (not length (self.sess))
		        {
			  self.vc_is_valid := 0;
		          self.vc_error_message := 'Invalid tokens are entered, please close this window and try again';
			}
		      ]]></v:on-post>
	      </v:button>
	  </v:template>
      </v:form>
    </v:page>
  </body>
</html>