=_Once you have verified your company you will see these menu options. They allow you to issue as many certificates as you like without proving individual email accounts as you like, further more you are able to get your company details on the certificate.?>
=_ET Web of Trust?>
=_The Web of Trust system ET uses is similar to that many involved with GPG/PGP use, they hold face to face meetings to verify each others photo identities match their GPG/PGP key information. ET differs however in that we have modified things to work within the PKI framework, for you to gain trust in the system you must first locate someone already trusted. The trust person depending how many people they've trusted or meet before will determine how many points they can issue to you. Once you've met up you can show your ID and you will need to fill out a verification form which the person verifying your details must retain for verification reasons.?>
=_For general documentation and help, please visit the SomeCA !(/wiki/gigi)Wiki Documentation site!''.?>
+=_For specific policies, see the SomeCA !(/policy)Approved Policies page!''.?>
diff --git a/src/club/wpia/gigi/pages/ManagedFormPage.java b/src/club/wpia/gigi/pages/ManagedFormPage.java
index b1cd6977..1f330cef 100644
--- a/src/club/wpia/gigi/pages/ManagedFormPage.java
+++ b/src/club/wpia/gigi/pages/ManagedFormPage.java
@@ -1,7 +1,6 @@
package club.wpia.gigi.pages;
import java.io.IOException;
-import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -21,7 +20,7 @@ public abstract class ManagedFormPage extends Page {
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
if (Form.printFormErrors(req, resp.getWriter())) {
Form form = Form.getForm(req, c);
- form.output(resp.getWriter(), getLanguage(req), new HashMap());
+ form.output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
}
}
diff --git a/src/club/wpia/gigi/pages/ManagedMultiFormPage.java b/src/club/wpia/gigi/pages/ManagedMultiFormPage.java
index eca378fe..30e3c82d 100644
--- a/src/club/wpia/gigi/pages/ManagedMultiFormPage.java
+++ b/src/club/wpia/gigi/pages/ManagedMultiFormPage.java
@@ -1,7 +1,6 @@
package club.wpia.gigi.pages;
import java.io.IOException;
-import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -18,7 +17,7 @@ public abstract class ManagedMultiFormPage extends Page {
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
if (Form.printFormErrors(req, resp.getWriter())) {
- getForm(req).output(resp.getWriter(), getLanguage(req), new HashMap());
+ getForm(req).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
}
}
diff --git a/src/club/wpia/gigi/pages/OneFormPage.java b/src/club/wpia/gigi/pages/OneFormPage.java
index a36c9eb6..91c29908 100644
--- a/src/club/wpia/gigi/pages/OneFormPage.java
+++ b/src/club/wpia/gigi/pages/OneFormPage.java
@@ -1,7 +1,6 @@
package club.wpia.gigi.pages;
import java.io.IOException;
-import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -27,14 +26,14 @@ public class OneFormPage extends Page {
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
Form form = Form.getForm(req, c);
if (Form.printFormErrors(req, resp.getWriter())) {
- form.output(resp.getWriter(), getLanguage(req), new HashMap());
+ form.output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
}
}
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
try {
- c.getConstructor(HttpServletRequest.class).newInstance(req).output(resp.getWriter(), getLanguage(req), new HashMap());
+ c.getConstructor(HttpServletRequest.class).newInstance(req).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
} catch (ReflectiveOperationException e) {
new GigiApiException().format(resp.getWriter(), getLanguage(req));
}
diff --git a/src/club/wpia/gigi/pages/Page.java b/src/club/wpia/gigi/pages/Page.java
index 97cd83f7..75d072e8 100644
--- a/src/club/wpia/gigi/pages/Page.java
+++ b/src/club/wpia/gigi/pages/Page.java
@@ -3,13 +3,16 @@ package club.wpia.gigi.pages;
import java.io.IOException;
import java.net.URL;
import java.util.Enumeration;
+import java.util.HashMap;
import java.util.Locale;
+import java.util.Map;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import club.wpia.gigi.Gigi;
import club.wpia.gigi.PermissionCheckable;
import club.wpia.gigi.dbObjects.User;
import club.wpia.gigi.localisation.Language;
@@ -165,4 +168,17 @@ public abstract class Page implements PermissionCheckable {
return !needsLogin() || ac != null;
}
+ /**
+ * Derive a default variable map for template processing.
+ *
+ * @param req
+ * the HTTP-request to derive the map from
+ * @return the map
+ */
+ protected Map getDefaultVars(HttpServletRequest req) {
+ HashMap vars = new HashMap();
+ vars.put(Gigi.LINK_HOST, req.getAttribute(Gigi.LINK_HOST));
+ return vars;
+ }
+
}
diff --git a/src/club/wpia/gigi/pages/PasswordResetForm.templ b/src/club/wpia/gigi/pages/PasswordResetForm.templ
index b43e9152..b4ac1e92 100644
--- a/src/club/wpia/gigi/pages/PasswordResetForm.templ
+++ b/src/club/wpia/gigi/pages/PasswordResetForm.templ
@@ -18,7 +18,7 @@
-
*=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !''FAQ!''.?>
+
*=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !(/wiki/goodPassword)FAQ!''.?>
diff --git a/src/club/wpia/gigi/pages/PasswordResetPage.java b/src/club/wpia/gigi/pages/PasswordResetPage.java
index 7dc950ca..3608549c 100644
--- a/src/club/wpia/gigi/pages/PasswordResetPage.java
+++ b/src/club/wpia/gigi/pages/PasswordResetPage.java
@@ -94,14 +94,14 @@ public class PasswordResetPage extends Page {
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
if (Form.printFormErrors(req, resp.getWriter())) {
PasswordResetForm form = Form.getForm(req, PasswordResetForm.class);
- form.output(resp.getWriter(), getLanguage(req), new HashMap());
+ form.output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
}
}
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
try {
- new PasswordResetForm(req).output(resp.getWriter(), getLanguage(req), new HashMap());
+ new PasswordResetForm(req).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
} catch (GigiApiException e) {
e.format(resp.getWriter(), getLanguage(req));
}
diff --git a/src/club/wpia/gigi/pages/account/ChangePasswordForm.templ b/src/club/wpia/gigi/pages/account/ChangePasswordForm.templ
index a0fc4529..c77f7434 100644
--- a/src/club/wpia/gigi/pages/account/ChangePasswordForm.templ
+++ b/src/club/wpia/gigi/pages/account/ChangePasswordForm.templ
@@ -18,7 +18,7 @@
-
*=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !''FAQ!''.?>
+
*=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !(/wiki/goodPassword)FAQ!''.?>
diff --git a/src/club/wpia/gigi/pages/account/ChangePasswordPage.java b/src/club/wpia/gigi/pages/account/ChangePasswordPage.java
index 43823002..46748e32 100644
--- a/src/club/wpia/gigi/pages/account/ChangePasswordPage.java
+++ b/src/club/wpia/gigi/pages/account/ChangePasswordPage.java
@@ -1,7 +1,6 @@
package club.wpia.gigi.pages.account;
import java.io.IOException;
-import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -20,7 +19,7 @@ public class ChangePasswordPage extends ManagedFormPage {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
- new ChangeForm(req, getUser(req)).output(resp.getWriter(), getLanguage(req), new HashMap());
+ new ChangeForm(req, getUser(req)).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
}
@Override
diff --git a/src/club/wpia/gigi/pages/account/certs/CertificateAdd.java b/src/club/wpia/gigi/pages/account/certs/CertificateAdd.java
index 9694531c..d628c588 100644
--- a/src/club/wpia/gigi/pages/account/certs/CertificateAdd.java
+++ b/src/club/wpia/gigi/pages/account/certs/CertificateAdd.java
@@ -1,7 +1,6 @@
package club.wpia.gigi.pages.account.certs;
import java.io.IOException;
-import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -20,7 +19,7 @@ public class CertificateAdd extends ManagedFormPage {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
- new CertificateIssueForm(req).output(resp.getWriter(), getLanguage(req), new HashMap());
+ new CertificateIssueForm(req).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
}
@Override
diff --git a/src/club/wpia/gigi/pages/account/certs/CertificateDisplay.templ b/src/club/wpia/gigi/pages/account/certs/CertificateDisplay.templ
index da3bef21..55086650 100644
--- a/src/club/wpia/gigi/pages/account/certs/CertificateDisplay.templ
+++ b/src/club/wpia/gigi/pages/account/certs/CertificateDisplay.templ
@@ -49,7 +49,7 @@
=_DER encoded Certificate?> =_Install into browser.?> =_Install into browser (Chrome)?>. =_Please ensure that the intermediate certificates listed above are installed prior to installing the certificate.?>*
- * =_For information on how to install the root certificates into the truststore of your browser take a look at the !''FAQ!''!?>
+ * =_For information on how to install the root certificates into the truststore of your browser take a look at the !(/wiki/CSR)FAQ!''!?>
=_I hereby represent that I am fully authorized by the owner of the information contained in the CSR sent to SomeCA to apply for an Digital Certificate for secure and authenticated electronic transactions. I understand that a digital certificate serves to identify the Subscriber for the purposes of electronic communication and that the management of the private keys associated with such certificates is the responsibility of the subscriber's technical staff and/or contractors.?>
-
=_CAcert Inc.'s public certification services are governed by a CPS as amended from time to time which is incorporated into this Agreement by reference. The Subscriber will use the SSL Server Certificate in accordance with SomeCA Inc.'s CPS and supporting documentation published at?> http://www.cacert.org/cps.php
+
=_CAcert Inc.'s public certification services are governed by a CPS as amended from time to time which is incorporated into this Agreement by reference. The Subscriber will use the SSL Server Certificate in accordance with SomeCA Inc.'s CPS and supporting documentation published !(/policy/CPS)here!''.?>
=_If the Subscriber's name and/or domain name registration change the subscriber will immediately inform SomeCA Inc. who shall revoke the digital certificate. When the Digital Certificate expires or is revoked the company will permanently remove the certificate from the server on which it is installed and will not use it for any purpose thereafter. The person responsible for key management and security is fully authorized to install and utilize the certificate to represent this organization's electronic presence.?>
=$placeholderName?>
diff --git a/src/club/wpia/gigi/pages/account/certs/Certificates.java b/src/club/wpia/gigi/pages/account/certs/Certificates.java
index e2244e99..07028f6f 100644
--- a/src/club/wpia/gigi/pages/account/certs/Certificates.java
+++ b/src/club/wpia/gigi/pages/account/certs/Certificates.java
@@ -14,12 +14,12 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import club.wpia.gigi.dbObjects.Certificate;
+import club.wpia.gigi.dbObjects.Certificate.CertificateStatus;
+import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName;
import club.wpia.gigi.dbObjects.CertificateOwner;
import club.wpia.gigi.dbObjects.Organisation;
import club.wpia.gigi.dbObjects.SupportedUser;
import club.wpia.gigi.dbObjects.User;
-import club.wpia.gigi.dbObjects.Certificate.CertificateStatus;
-import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName;
import club.wpia.gigi.localisation.Language;
import club.wpia.gigi.output.TrustchainIterable;
import club.wpia.gigi.output.template.Form;
@@ -147,7 +147,7 @@ public class Certificates extends Page implements HandlesMixedRequest {
resp.sendError(404);
return;
}
- HashMap vars = new HashMap<>();
+ Map vars = getDefaultVars(req);
vars.put("serial", URLEncoder.encode(serial, "UTF-8"));
CertificateStatus st = c.getStatus();
diff --git a/src/club/wpia/gigi/pages/main/RegisterPage.java b/src/club/wpia/gigi/pages/main/RegisterPage.java
index 74f91074..3a7e5ab6 100644
--- a/src/club/wpia/gigi/pages/main/RegisterPage.java
+++ b/src/club/wpia/gigi/pages/main/RegisterPage.java
@@ -1,7 +1,7 @@
package club.wpia.gigi.pages.main;
import java.io.IOException;
-import java.util.HashMap;
+import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -29,8 +29,9 @@ public class RegisterPage extends Page {
}
private void outputGet(HttpServletRequest req, HttpServletResponse resp, Signup s) throws IOException {
- getDefaultTemplate().output(resp.getWriter(), getLanguage(req), new HashMap());
- s.output(resp.getWriter(), getLanguage(req), new HashMap());
+ Map vars = getDefaultVars(req);
+ getDefaultTemplate().output(resp.getWriter(), getLanguage(req), vars);
+ s.output(resp.getWriter(), getLanguage(req), vars);
}
@Override
diff --git a/src/club/wpia/gigi/pages/main/RegisterPage.templ b/src/club/wpia/gigi/pages/main/RegisterPage.templ
index fbf084d1..8bc16fab 100644
--- a/src/club/wpia/gigi/pages/main/RegisterPage.templ
+++ b/src/club/wpia/gigi/pages/main/RegisterPage.templ
@@ -6,5 +6,5 @@
=_Your private information will be used for internal procedures only and will not be shared with third parties.?>
-=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !''FAQ!''.?>
+=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !(/wiki/goodPassword)FAQ!''.?>
diff --git a/src/club/wpia/gigi/pages/main/Signup.java b/src/club/wpia/gigi/pages/main/Signup.java
index 134df159..8c070782 100644
--- a/src/club/wpia/gigi/pages/main/Signup.java
+++ b/src/club/wpia/gigi/pages/main/Signup.java
@@ -2,6 +2,7 @@ package club.wpia.gigi.pages.main;
import java.io.IOException;
import java.io.PrintWriter;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -50,7 +51,7 @@ public class Signup extends Form {
@Override
public void outputContent(PrintWriter out, Language l, Map outerVars) {
- HashMap vars = new HashMap();
+ HashMap vars = new HashMap(outerVars);
vars.put("name", ni);
vars.put("dob", myDoB);
vars.put("email", HTMLEncoder.encodeHTML(email));
@@ -58,7 +59,7 @@ public class Signup extends Form {
vars.put("country", country ? " checked=\"checked\"" : "");
vars.put("regional", regional ? " checked=\"checked\"" : "");
vars.put("radius", radius ? " checked=\"checked\"" : "");
- vars.put("helpOnNames", String.format(l.getTranslation("Help on Names %sin the wiki%s"), "", ""));
+ vars.put("helpOnNames", new SprintfCommand("Help on Names {0}in the wiki{1}", Arrays.asList("!(/wiki/names", "!'")));
vars.put("csrf", getCSRFToken());
vars.put("dobmin", User.MINIMUM_AGE + "");
vars.put("countryCode", cs);
diff --git a/src/club/wpia/gigi/pages/main/Signup.templ b/src/club/wpia/gigi/pages/main/Signup.templ
index f997cc5c..a6ae2b1b 100644
--- a/src/club/wpia/gigi/pages/main/Signup.templ
+++ b/src/club/wpia/gigi/pages/main/Signup.templ
@@ -43,7 +43,7 @@
-
*=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !''FAQ!''.?>
+
*=_Your password is one of many factors to protect your account from unauthorised access. A good password is hard to guess, long, and contains a diverse set of characters. Learn more in our !(/wiki/goodPassword)FAQ!''.?>
=_It's possible to get notifications of up and coming events and even just general announcements, untick any notifications you don't wish to receive. For country, regional and radius notifications to work you must choose your location once you've verified your account and logged in.?>
@@ -63,7 +63,7 @@
=_When you click on next, we will send a confirmation email to the email address you have entered above.?>
=_I agree to the Terms of Service (!(/policy/ToS)ToS!'').?>
diff --git a/src/club/wpia/gigi/pages/wot/AssuranceForm.java b/src/club/wpia/gigi/pages/wot/AssuranceForm.java
index f4bda1ee..7df71a78 100644
--- a/src/club/wpia/gigi/pages/wot/AssuranceForm.java
+++ b/src/club/wpia/gigi/pages/wot/AssuranceForm.java
@@ -12,9 +12,9 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import club.wpia.gigi.GigiApiException;
+import club.wpia.gigi.dbObjects.Assurance.AssuranceType;
import club.wpia.gigi.dbObjects.Name;
import club.wpia.gigi.dbObjects.User;
-import club.wpia.gigi.dbObjects.Assurance.AssuranceType;
import club.wpia.gigi.localisation.Language;
import club.wpia.gigi.output.ArrayIterable;
import club.wpia.gigi.output.CountrySelector;
@@ -106,7 +106,7 @@ public class AssuranceForm extends Form {
@Override
public void outputContent(PrintWriter out, Language l, Map vars) {
- HashMap res = new HashMap();
+ HashMap res = new HashMap(vars);
res.putAll(vars);
res.put("names", new ArrayIterable(assureeNames) {
diff --git a/src/club/wpia/gigi/pages/wot/AssuranceForm.templ b/src/club/wpia/gigi/pages/wot/AssuranceForm.templ
index 98479f76..a4580c6e 100644
--- a/src/club/wpia/gigi/pages/wot/AssuranceForm.templ
+++ b/src/club/wpia/gigi/pages/wot/AssuranceForm.templ
@@ -1,4 +1,4 @@
-
+
=_Verification Confirmation?>
@@ -39,14 +39,14 @@
-
=_I have read and understood the Terms of Service (!''ToS!''), Verification Policy and the Verification Handbook. I am making this verification subject to and in compliance with the ToS, Verification Policy and Handbook.?>
+
=_I have read and understood the Terms of Service (!(/policy/ToS)ToS!''), Verification Policy and the Verification Handbook. I am making this verification subject to and in compliance with the ToS, Verification Policy and Handbook.?>
diff --git a/src/club/wpia/gigi/pages/wot/AssurePage.java b/src/club/wpia/gigi/pages/wot/AssurePage.java
index cc0c5a07..f17aad64 100644
--- a/src/club/wpia/gigi/pages/wot/AssurePage.java
+++ b/src/club/wpia/gigi/pages/wot/AssurePage.java
@@ -2,7 +2,7 @@ package club.wpia.gigi.pages.wot;
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.HashMap;
+import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -34,7 +34,7 @@ public class AssurePage extends Page {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
PrintWriter out = resp.getWriter();
- HashMap vars = new HashMap();
+ Map vars = getDefaultVars(req);
vars.put("DoB", ds);
t.output(out, getLanguage(req), vars);
}
@@ -59,7 +59,7 @@ public class AssurePage extends Page {
if (req.getParameter("search") == null) {
if (Form.printFormErrors(req, out)) {
AssuranceForm form = Form.getForm(req, AssuranceForm.class);
- form.output(out, getLanguage(req), new HashMap());
+ form.output(out, getLanguage(req), getDefaultVars(req));
}
return;
}
@@ -84,7 +84,7 @@ public class AssurePage extends Page {
} else {
User assuree = User.getById(id);
try {
- new AssuranceForm(req, assuree).output(out, getLanguage(req), new HashMap());
+ new AssuranceForm(req, assuree).output(out, getLanguage(req), getDefaultVars(req));
} catch (GigiApiException e) {
e.format(out, Page.getLanguage(req));
}
diff --git a/src/club/wpia/gigi/pages/wot/RequestTTPPage.java b/src/club/wpia/gigi/pages/wot/RequestTTPPage.java
index a83de6c5..cdabde5e 100644
--- a/src/club/wpia/gigi/pages/wot/RequestTTPPage.java
+++ b/src/club/wpia/gigi/pages/wot/RequestTTPPage.java
@@ -1,7 +1,7 @@
package club.wpia.gigi.pages.wot;
import java.io.IOException;
-import java.util.HashMap;
+import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -29,14 +29,14 @@ public class RequestTTPPage extends Page {
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
if (Form.printFormErrors(req, resp.getWriter())) {
- Form.getForm(req, RequestTTPForm.class).output(resp.getWriter(), getLanguage(req), new HashMap());
+ Form.getForm(req, RequestTTPForm.class).output(resp.getWriter(), getLanguage(req), getDefaultVars(req));
}
}
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
User u = LoginPage.getUser(req);
- HashMap map = new HashMap();
+ Map map = getDefaultVars(req);
if (u.isInGroup(RequestTTPForm.TTP_APPLICANT)) {
map.put("inProgress", true);
} else {
diff --git a/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ b/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ
index c187f069..3fd30864 100644
--- a/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ
+++ b/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ
@@ -12,15 +12,15 @@
=_In the meanwhile you would need to close this gap with face to face verifications with SomeCA RA Agents. Think not only travelling to populated countries, but also remember that RA Agents may occasionally visit your country or area.?>
=_If you are interested in the TTP programme, read !(/ttp/user)the pages!'' for the basic way how the TTP programme works for you, and !(/ttp/country)here!'' whether the TTP programme affects the country where you are located.?>
if($ttp) { ?>
-
=_If you want to ask for TTP verifications fill out the missing data and send the request to support@cacert.org to start the process. SomeCA will then inform you about the next steps.?>
+
=_If you want to ask for TTP verifications fill out the missing data to start the process. SomeCA will then inform you about the next steps.?>
=$form?>
} ?>
if($topup) { ?>
-
=_As you have already got 2 TTP verifications you can only take part in the TTP TOPUP programme. If you want to ask for the TTP TOPUP programme use the submit button to send the request to support@cacert.org to start the process. SomeCA will then inform you about the next steps.?>
+
=_As you have already got 2 TTP verifications you can only take part in the TTP TOPUP programme. If you want to ask for the TTP TOPUP programme use the submit button to start the process. SomeCA will then inform you about the next steps.?>