File: conf_app.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 (151 lines) | stat: -rw-r--r-- 6,518 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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?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
 -
-->
<v:page name="blog-home-page"
    xmlns:vm="http://www.openlinksw.com/vspx/ods/"
  xmlns:v="http://www.openlinksw.com/vspx/"
  style="index.xsl"
  doctype="-//W3C//DTD XHTML 1.0 Transitional//EN"
  doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <vm:page>
    <vm:variable name="user_name" type="varchar" default="null" persist="page"/>
    <vm:variable name="user_sid" type="varchar" default="null" persist="page"/>
    <vm:variable name="user_id" type="int" default="0" persist="temp"/>
    <vm:variable name="app_name" type="varchar" default="null" persist="page"/>
    <vm:variable name="app_id" type="int" default="null" persist="page" param-name="app_id"/>
    <vm:variable name="message" type="varchar" default="''" persist="page"/>
    <vm:variable name="activated" type="int" default="0" persist="page"/>
    <vm:variable name="member_type" type="int" default="0" persist="temp"/>
    <vm:variable name="member_type_name" type="varchar" default="''" persist="temp"/>
    <v:on-init>
      <v:script>
        <![CDATA[
          self.user_sid := get_keyword('sid', self.vc_event.ve_params);
          self.user_name := (select VS_UID from VSPX_SESSION where VS_SID = self.user_sid and VS_REALM = 'wa');
          self.user_id := (select U_ID from SYS_USERS where U_NAME = self.user_name);
          self.app_name := get_keyword('app', self.vc_event.ve_params);
	  if (self.app_name is null)
	    self.app_name := (select WAI_NAME from WA_INSTANCE where WAI_ID = self.app_id);
          self.member_type := (select top 1 WAM_MEMBER_TYPE from WA_MEMBER where WAM_USER = self.user_id and WAM_INST = self.app_name);
          if(self.user_name is null) self.activated := -1;
        ]]>
      </v:script>
    </v:on-init>
    <vm:header>
      <vm:title>Registration Confirmation</vm:title>
    </vm:header>
    <vm:body>
      <input type="hidden" name="sid" value="<?vsp http(self.user_sid); ?>"/>
      <input type="hidden" name="app" value="<?vsp http(self.app_name); ?>"/>
      <h2>Registration Confirmation</h2>
      <div><vm:label value="--self.message"/></div>
      <vm:template condition="self.activated = 1">
        <div>To login click here:
          <v:url url="" name="url_to_app" value="Here">
            <v:before-render>
              <![CDATA[
               declare inst web_app;
               inst := (select WAI_INST from WA_INSTANCE where WAI_NAME = self.app_name);
	       if (inst is not null)
	 	 {
                   control.vu_url := inst.wa_home_url ();
                   control.ufl_value := self.app_name;
                 }
	       else
		 {
                   control.vu_url := '';
                   control.ufl_value := 'Error...';
                 }
              ]]>
            </v:before-render>
          </v:url>.
        </div>
      </vm:template>
      <vm:template condition="self.activated = 0">
        <h2>Welcome, <v:label value="--self.user_name"/>:</h2>
        <h3>You are about to confirm membership in '<v:label value="--self.app_name"/>' application.</h3>
        <h2>Do you confirm your membership?</h2>
        <v:button action="simple" name="confirm_membership" value="Confirm">
          <v:on-post>
            <![CDATA[
          {
            declare exit handler for sqlstate '*' {
              self.vc_is_valid := 0;
              declare _use_sys_errors, _sys_error, _error any;
              _sys_error := concat (__SQL_STATE,' ',__SQL_MESSAGE);
              _error := 'Due to a transient problem in the system, your confirmation could not be
                  processed at the moment. The system administrators have been notified. Please
                  try again later';
              _use_sys_errors := (select top 1 WS_SHOW_SYSTEM_ERRORS from WA_SETTINGS);
              if(_use_sys_errors) {
                self.vc_error_message := _error || ' ' || _sys_error;
              }
              else {
                self.vc_error_message := _error;
              }
              rollback work;
              return;
            };
            update WA_MEMBER set WAM_STATUS = 2 where WAM_USER = self.user_id and WAM_INST = self.app_name;
            self.activated := 1;
          }
            ]]>
          </v:on-post>
        </v:button>
        <v:button action="simple" name="reject_membership" value="Reject">
          <v:on-post>
            <![CDATA[
          {
            declare exit handler for sqlstate '*' {
              self.vc_is_valid := 0;
              declare _use_sys_errors, _sys_error, _error any;
              _sys_error := concat (__SQL_STATE,' ',__SQL_MESSAGE);
              _error := 'Due to a transient problem in the system, your rejection could not be
                  processed at the moment. The system administrators have been notified. Please
                  try again later';
              _use_sys_errors := (select top 1 WS_SHOW_SYSTEM_ERRORS from WA_SETTINGS);
              if(_use_sys_errors) {
                self.vc_error_message := _error || ' ' || _sys_error;
              }
              else {
                self.vc_error_message := _error;
              }
              rollback work;
              return;
            };
              delete from VSPX_SESSION where VS_SID = self.user_sid and VS_REALM = 'wa';
              delete from WA_MEMBER where WAM_USER = self.user_id and WAM_INST = self.app_name;
              self.activated := -1;
          }
            ]]>
          </v:on-post>
        </v:button>
      </vm:template>
      <vm:template condition="self.activated = -1">
        Sorry...
      </vm:template>
    </vm:body>
  </vm:page>
</v:page>