diff options
Diffstat (limited to 'demo')
-rw-r--r-- | demo/bank/README | 3 | ||||
-rw-r--r-- | demo/bank/fake_wire_transfer.php | 91 | ||||
-rw-r--r-- | demo/bank/index.html | 115 | ||||
-rw-r--r-- | demo/bank/style.css | 328 |
4 files changed, 0 insertions, 537 deletions
diff --git a/demo/bank/README b/demo/bank/README deleted file mode 100644 index 153f9d03a..000000000 --- a/demo/bank/README +++ /dev/null @@ -1,3 +0,0 @@ -This directory is the root of the "demo" bank website. The -page being served simulates what a real bank does when transferring -funds to some mint via SEPA. diff --git a/demo/bank/fake_wire_transfer.php b/demo/bank/fake_wire_transfer.php deleted file mode 100644 index c370f21dd..000000000 --- a/demo/bank/fake_wire_transfer.php +++ /dev/null @@ -1,91 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<title>Fake Wire Transfer</title> - <script> - /* - @licstart The following is the entire license notice for the - JavaScript code in this page. - - Copyright (C) 2014,2015 GNUnet e.V. - - The JavaScript code in this page is free software: you can - redistribute it and/or modify it under the terms of the GNU - Lesser General Public License (GNU LGPL) as published by the Free Software - Foundation, either version 2.1 of the License, or (at your option) - any later version. The code is distributed WITHOUT ANY WARRANTY; - without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU LGPL for more details. - - As additional permission under GNU LGPL version 2.1 section 7, you - may distribute non-source (e.g., minimized or compacted) forms of - that code without the copy of the GNU LGPL normally required by - section 4, provided you include this license notice and a URL - through which recipients can access the Corresponding Source. - - @licend The above is the entire license notice - for the JavaScript code in this page. - */ - </script> -</head> -<body> -<!-- - This page's main aim is to forward the fake wire transfer - request to the demonstrator and to inform the customer - about the result. In a real-world deployment, this - page would not be required as the customer would do a - wire transfer with his bank instead. - --> -<?php - -// Evaluate form -$reserve_pk = $_POST['reserve_pk']; -$kudos_amount = $_POST['kudos_amount']; -$mint = $_POST['mint_rcv']; -// check if the webform has given a well formed amount -$ret = preg_match ('/[0-9]+(\.[0-9][0-9]?)? [A-Z]+/', $kudos_amount, $matches); -if ($matches[0] != $_POST['kudos_amount']) -{ - http_response_code(400); // BAD REQUEST - echo "Malformed amount given"; - return; -} -$amount_chunks = preg_split('/[ \.]/', $_POST['kudos_amount']); -$amount_fraction = 0; -if (count($amount_chunks) > 2) - $amount_fraction = (double) ("0." . $amount_chunks[1]); -$amount_fraction = $amount_fraction * 1000000; -// pack the JSON -$json = json_encode (array ('reserve_pub' => $reserve_pk, - 'execution_date' => "/Date(" . time() . ")/", - 'wire' => array ('type' => 'test'), - 'amount' => array ('value' => intval($amount_chunks[0]), - 'fraction' => $amount_fraction, - 'currency' => $amount_chunks[count($amount_chunks) - 1]))); - -// craft the HTTP request -$req = new http\Client\Request ("POST", - "http://" . $mint . "/admin/add/incoming", - array ("Content-Type" => "application/json")); -$req->getBody()->append ($json); - -// execute HTTP request -$client = new http\Client; -$client->enqueue($req)->send (); -$resp = $client->getResponse (); - -// evaluate response -$status_code = $resp->getResponseCode (); -http_response_code ($status_code); - -if ($status_code != 200) -{ - echo "Error $status_code when faking the wire transfer. Please report to taler@gnu.org"; -} -else -{ - echo "Pretend wire transfer successful. Exit through the <a href=\"http://shop.demo.taler.net\">gift shop</a> and enjoy shopping!"; -} -?> -</body> -</html> diff --git a/demo/bank/index.html b/demo/bank/index.html deleted file mode 100644 index 7746e1e4e..000000000 --- a/demo/bank/index.html +++ /dev/null @@ -1,115 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <title>Taler's "demo" bank</title> - <link rel="stylesheet" type="text/css" href="style.css"> - <script> - /* - @licstart The following is the entire license notice for the - JavaScript code in this page. - - Copyright (C) 2015 GNUnet e.V. - - The JavaScript code in this page is free software: you can - redistribute it and/or modify it under the terms of the GNU - Lesser General Public License (GNU LGPL) as published by the Free Software - Foundation, either version 2.1 of the License, or (at your option) - any later version. The code is distributed WITHOUT ANY WARRANTY; - without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU LGPL for more details. - - As additional permission under GNU LGPL version 2.1 section 7, you - may distribute non-source (e.g., minimized or compacted) forms of - that code without the copy of the GNU LGPL normally required by - section 4, provided you include this license notice and a URL - through which recipients can access the Corresponding Source. - - @licend The above is the entire license notice - for the JavaScript code in this page. - */ - </script> -</head> -<body id="css-zen-garden" onload="signal_me()"> - <div class="explanation" id="zen-explanation" role="article"> - <h1>Welcome to the KUDOS bank!</h1> - <p>Through this page, you can wire funds to our demonstrator mint - in order to create your reserves from where withdraw your coins. - Once the reserve is created, the withdrawing of coins will be - entirely handled by the wallet, with no intervention required - to the user. - </p> - <p> - Enter the deisired amount, and click 'Select mint'. Your wallet - will make you choose a mint and will automatically submit all the - needed data into the bank's system. At the end of the withdrawal, - the wallet will show you the 'All coins withdrawn' nice message. - </p> - - <p>Still missing a wallet? <a href="http://demo.taler.net/extension">Install one!</a> - </p> - </div> - <form id="reserve-form" name="tform" action="/fake_wire_transfer.php" method="POST"> - <input type="text" id="reserve-pk-input" name="reserve_pk" hidden></input> - Amount to withdraw: - <select id="reserve-amn-id" name="kudos_amount"> - <option value="1 KUDOS">1 KUDOS</option> - <option value="2 KUDOS">2 KUDOS</option> - <option value="3.01 KUDOS">3.01 KUDOS</option> - <option value="5 KUDOS">5 KUDOS</option> - <option value="10 KUDOS">10 KUDOS</option> - <option value="10.50 KUDOS">10.50 KUDOS</option> - <option value="1000.3 KUDOS">1000.3 KUDOS</option> - </select> - <input type="text" name="mint_rcv" id="kudos-mint" hidden></input> - <input id="select-mint" - type="button" - value="Select mint" - onclick="wire_funds()" - disabled></input> - </form> - </div> - <script type="text/javascript"> - - document.body.addEventListener("taler-wallet-present", - has_taler_wallet_cb, - false); - - document.body.addEventListener("taler-unload", - no_taler_wallet_cb, - false); - - document.body.addEventListener("taler-load", - signal_me, - false); - - function wire_funds(){ - var wallet_param = { - form_id : 'reserve-form', - input_amount : 'reserve-amn-id', - input_pub : 'reserve-pk-input', - mint_rcv : 'kudos-mint' - //'base_url' : window.location.host not anymore: must be given by the mint - }; - var trigger = new CustomEvent("taler-create-reserve", {detail: wallet_param}); - document.body.dispatchEvent(trigger); - }; - - /* The mint signals itself to the wallet */ - function signal_me(){ - var eve = new Event('taler-checkout-probe'); - document.body.dispatchEvent(eve); - }; - - function has_taler_wallet_cb(){ - var button = document.getElementById("select-mint"); - button.removeAttribute("disabled"); - } - - function no_taler_wallet_cb(){ - var button = document.getElementById("select-mint"); - button.setAttribute("disabled", "true"); - } - - </script> -</body> -</html> diff --git a/demo/bank/style.css b/demo/bank/style.css deleted file mode 100644 index a476a630e..000000000 --- a/demo/bank/style.css +++ /dev/null @@ -1,328 +0,0 @@ -/* css Zen Garden submission 020 - 'Friendly Beaches' by Sophie G - www.sophie-g.net */ -/* css released under Creative Commons ShareAlike License v1.0 - http://creativecommons.org/licenses/sa/1.0/ */ -/* All associated graphics copyright 2003, Sophie G */ - - -/* IMPORTANT */ -/* This design is not a template. You may not reproduce it elsewhere without the designer's written permission. */ -/* The CSS itself may freely be used for anything you wish, but the associated graphics belong to the designer. */ -/* What you may use - .css files. What you may not use - .jpg, .gif, and .png files. */ - - - -body { - background-color: #FFFFFF; - margin: 0px; - padding: 10px; - font-family: Ubuntu, Tahoma, Sans; - font-size: 90%; -} - -p { - line-height: 180%; -} -.page-wrapper { - background-color: #EDEEF0; - border: 1px solid #DAD5D9; - padding: 0px; - margin: 0px; -} -abbr { - border-bottom: 1px #6BA0D2 dashed; -} -header,h1 { - font-family: Impact, Georgia, serif; - background-color: #FFFFFF; -} -header h1 { - height: 190px; - margin: 0px; - background-color: black; - background-image: url(Gala.jpg); - background-repeat: no-repeat; -} -header h1, header h2 { - text-indent: 100%; - white-space: nowrap; - overflow: hidden; -} -header h2 { - background-color: #EDEEF0; - margin: 0px; - height: 24px; - padding: 0px 14px 2px 14px; - background-image: url(headerh2.gif); - background-repeat: no-repeat; -} -header h2 abbr { - color: #FFF; - border-bottom: 1px #FFF dashed; -} -.summary p:first-child { - position: absolute; - right: 21px; - top: 21px; - width: 12em; - height: 165px; - padding: 3px 0 0 0; - margin: 0px; - border: 1px solid #0C2953; - text-align: center; - font-size: 90%; - font-family: Impact, Georgia, serif; - line-height: 110%; - color: #FFF; - background-image: url(summary.jpg); - background-repeat: no-repeat; - background-position: 50% 100%; - background-color: #0C2953; -} -.preamble { - padding: 0px 15em 0px 3em; -} -.preamble h3 { - margin: 15px 0px 0px 0px; - padding: 6px 20px 2px 6px; - text-align: left; - font-size: 180%; - font-variant: small-caps; - color: #6BA0D2; - background-image: url(bordDroitPreambleh3.gif); - background-repeat: no-repeat; - background-position: 100% 0px; - background-color: #F6F7F7; -} -.preamble h3::before { - content: " "; - display: inline-block; - padding: 35px 0px 30px 48px; - background-image: url(preambleShell.jpg); - background-repeat: no-repeat; - background-position: 0px 50%; - vertical-align: middle; -} -.preamble p { - text-align: justify; -} -.preamble p:nth-child(2), .preamble p:nth-child(3) { - margin: 0px; - padding: 10px 20px 2px 6px; - background-image: url(bordDroitPreamble.gif); - background-repeat: repeat-y; - background-position: 100% 0px; - background-color: #F6F7F7; -} -.preamble p:nth-child(4) { - margin: 0px; - padding: 0px; - background-image: url(bordBasPreamble.gif); - background-repeat: no-repeat; - background-position: 100% 100%; - background-color: #F6F7F7; - padding: 10px 20px 20px 6px; -} -.preamble p:nth-child(4)::after { - content: " "; - display: block; - margin: 0px; - padding: 0 20px 0 6px; - background-image: url(bordBasPreambleGauche.gif); - background-repeat: no-repeat; - background-position: 0% 100%; -} -.supporting { - margin: 0px; - padding: 10px 16em 0px 1em; - font-size: 90%; -} -.explanation, .participation, .benefits, .requirements { - border: 2px solid #FFF; - padding: 0px; -} -.explanation { - margin: 0px 0px 10px 0px; -} -.participation { - margin: 0px 0px 10px 0px; - float: left; - width: 30%; -} -.benefits { - margin: 0px 0px 10px 32%; -} -.requirements { - margin: 0px 0px 10px 32%; -} -.supporting h3 { - margin: 0px; - padding: 5px 30px 1px 2px; - text-align: left; - font-size: 120%; - font-variant: small-caps; - color: #6BA0D2; - border-bottom: 1px solid #6BA0D2; - background-color: #F6F7F7; - background-repeat: no-repeat; - background-position: 100% 50%; -} -.explanation h3 { - background-image: url(explanationShell.jpg); -} -.supporting form { - padding: 30px; - display: inline-block; - clear: both; - width: 120em; -} -.supporting input { - margin: 8px; -} -.participation h3 { - background-image: url(participationShell.jpg); -} -.benefits h3 { - background-image: url(benefitsShell.jpg); -} -.requirements h3 { - background-image: url(requirementsRock.jpg); -} -.supporting p { - text-align: justify; - margin: 10px 0px 0px 0px; - padding: 1px 3px 2px 3px; -} -.supporting a:link { - color: #0083FF; - font-weight: bold; -} -.supporting a:visited { - color: #204160; - font-weight: bold; -} -.supporting a:hover, .supporting a:active { - color: #8C0000; - font-weight: bold; - text-decoration: none; -} -.sidebar, .summary p:last-child { - font-size: 90%; - font-family: Impact, Georgia, serif; - position: absolute; - right: 21px; - width: 12em; - border: 1px solid #0C2953; - padding: 0px; - margin: 0px; - background-color: #A4ACB3; -} -.summary p:last-child { - height: 50px; - text-align: center; - top: 217px; - font-size: 90%; - display: block; - padding: 3px 0; - color: #FFF; -} -.sidebar { - top: 266px; -} -.sidebar h3 { - background-color: #0C2953; - color: #FFF; - margin: 0px; - padding: 30px 1px 1px 1px; - background-repeat: no-repeat; -} -.sidebar h3.select { - background-image: url(selecth3.jpg); - background-position: 50% 0%; -} -.sidebar h3.favorites { - border-top: 1px solid #0C2953; - background-image: url(favoritesh3.jpg); - background-position: 40% 100%; -} -.sidebar h3.archives { - border-top: 1px solid #0C2953; - background-image: url(archivesh3.jpg); - background-position: 40% 100%; -} -.sidebar h3.resources { - border-top: 1px solid #0C2953; - background-image: url(resourcesh3.jpg); - background-position: 50% 30%; -} -.sidebar ul { - list-style-type: none; - font-size: 90%; - color: #FFF; - margin: 0px; - padding: 0px; - background-color: #A4ACB3; -} -.sidebar li { - padding: 3px 2px 3px 2px; - margin-bottom: 4px; -} -.sidebar li:hover { - padding: 2px 1px 2px 1px; - border: 1px dotted #0C2953; - background-color: #6BA0D2; -} -.summary p:last-child a:link { - color: #FFF; - font-weight: bold; -} -.summary p:last-child a:visited { - color: #204160; -} -.summary p:last-child a:hover, .summary p:last-child a:active { - color: #FFD800; - font-weight: bold; - text-decoration: none; -} -.sidebar a:link, .sidebar a:visited { - border-left: 6px solid #FFF; - padding-left: 2px; - font-weight: bold; - color: #FFF; -} -.sidebar a:visited { - color: #204160; -} -.sidebar a:hover, .sidebar a:active { - border-left: 6px solid #FFD800; - padding-left: 2px; - color: #FFD800; - text-decoration: none; - font-weight: bold; -} -.sidebar a.designer-name:link, .sidebar a.designer-name:visited { - border-left: none; - padding-left: 0px; - font-weight: normal; - color: #FFF; -} -.sidebar a.designer-name:hover, .sidebar a.designer-name:active { - border-left: none; - padding-left: 0px; - color: #FFD800; - text-decoration: none; -} -.sidebar abbr { - border-bottom: 1px #FFF dashed; -} -footer { - clear: both; - text-align: right; - margin: 0px -16em 0px 0px; - padding: 25px 0px 0px 0px; - background-repeat: no-repeat; - background-image: url(signSoph.gif); - background-position: 0% 95%; -} -footer a { - font-size: 70%; - font-family: Impact, Georgia, serif; -} |